home icon indicating copy to clipboard operation
home copied to clipboard

高德API有BUG,无法显示天气

Open YanAnghelp opened this issue 8 months ago • 3 comments

站点链接

https://github.com/YanAnghelp/home

问题描述

No response

补充信息

Image 高德IP的API必须添加&ip=参数,否则输出空白,这是高德BUG。 以下是我对 src/api/index.js 改进的部分代码:

// 获取高德地理位置信息 export const getAdcode = async (key) => { const ip_response = await fetch('https://get-ip.xxxx.com/api'); const ip_data = await ip_response.json(); const userIp = ip_data.ip; const res = await fetch(https://restapi.amap.com/v3/ip?key=${key}&ip=${userIp}); return await res.json(); };

get-ip是个我随手写的获取用户ip的小项目,用next.js,兼容CORS,项目已经开源,随便用https://github.com/YanAnghelp/get-ip

YanAnghelp avatar Apr 15 '25 11:04 YanAnghelp

唉,不对,我弄错了。高德的IP解析API仅支持IPV4,但是API服务器支持IPV6这才是导致无法解析的元凶。但是部署在vercel上的服务仅支持IPV4,这才能正常获取到IPV4地址

YanAnghelp avatar Apr 15 '25 11:04 YanAnghelp

到底还是高德的锅,哈哈

YanAnghelp avatar Apr 15 '25 11:04 YanAnghelp

#370

NanoRocky avatar Apr 25 '25 03:04 NanoRocky