From a9fb4ea8ec90fda4f1b086f93b050c8e3618cbc6 Mon Sep 17 00:00:00 2001 From: oiov Date: Fri, 2 Aug 2024 11:34:53 +0800 Subject: [PATCH] upd: geo info func --- middleware.ts | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/middleware.ts b/middleware.ts index 3374153..0802915 100644 --- a/middleware.ts +++ b/middleware.ts @@ -12,34 +12,11 @@ export default auth(async (req) => { const ip = req.headers.get("X-Forwarded-For"); if (req.url.includes("/s/")) { const match = req.url.match(/[^/]+$/); - let geo = { - city: "", - region: "", - country: "", - latitude: "", - longitude: "", - }; - const data = await fetch(`https://ip.wr.do/api?ip=${ip}`); // http://ip-api.com/json/42.48.83.141 - const geoInfo = geolocation(req); - console.log("[geoInfo]", geoInfo, geoInfo?.city); - - if (data.ok) { - const geoData = await data.json(); - geo = { - city: geoData.city, - region: geoData.region, - country: geoData.country, - latitude: geoData.latitude, - longitude: geoData.longitude, - }; - } + const geo = geolocation(req); if (match) { const res = await fetch( - `${siteConfig.url}/api/s?slug=${match[0]}&ip=${ip}&city=${geo.city}®ion=${geo.region}&country=${geo.country}&latitude=${geo.latitude}&longitude=${geo.longitude}`, - { - method: "GET", - }, + `${siteConfig.url}/api/s?slug=${match[0]}&ip=${ip}&city=${geo?.city}®ion=${geo?.region}&country=${geo?.country}&latitude=${geo?.latitude}&longitude=${geo?.longitude}&flag=${geo?.flag}`, ); if (!res.ok) {