Vue3里调用和风天气api注意事项
获取API密钥
前往和风天气官网注册账号并申请API密钥(Key),通常提供免费版和付费版。确保选择适合的API版本(如V7),并记录下获得的Key。详情可查:开发配置 | 和风天气开发服务
安装axios
在Vue 3项目中,使用axios进行HTTP请求更为方便。通过npm或yarn安装axios:
npm install axios
实时天气api:
location(必选)需要查询地区的LocationID或以英文逗号分隔的经度,纬度坐标,例如 location=101010100 或 location=116.41,39.92
//例如:https://your_api_host/v7/weather/now?location=101010100
getCurrentWeather(location) {
return axios.get(`${WEATHER_BASE_URL}/weather/now?`, {
params: {
location: location,
key: API_KEY,
}
})
}
返回数据详情可查:实时天气 for API | 和风天气开发服务
每日天气预测api:
路径参数【!!!注意免费版调用3d可获取,往后都需要预订获取】
days(必选)预报天数,支持最多30天预报,可选值:3d3天预报。7d7天预报。10d10天预报。15d15天预报。30d30天预报。
location(必选)需要查询地区的LocationID或以英文逗号分隔的经度,纬度坐标
//例如:'https://your_api_host/v7/weather/3d?location=101010100'
getForecast(location) {
try {
return axios.get(`${WEATHER_BASE_URL}/weather/3d`, { // 我真服了就3天免费,你早说啊,文档又不写
params: {
location: location,
key: API_KEY,
},
});
} catch (error) {
console.error('diyi获取天气预报失败:', error.message);
return null;
}
}
返回数据详情可查:每日天气预报 for API | 和风天气开发服务
城市搜索api:
查询参数
location(必选)需要查询地区的名称,支持文字、以英文逗号分隔的经度,纬度坐标(十进制,最多支持小数点后两位)、LocationID或Adcode(仅限中国城市)。例如location=北京或location=116.41,39.92
模糊搜索,当location传递的为文字时,支持模糊搜索,即用户可以只输入城市名称一部分进行搜索,最少一个汉字或2个字符,结果将按照相关性和Rank值进行排列,便于开发或用户进行选择他们需要查看哪个城市的天气。例如
location=bei,将返回与bei相关性最强的若干结果,包括黎巴嫩的贝鲁特和中国的北京市
重名,当location传递的为文字时,可能会出现重名的城市,例如陕西省西安市、吉林省辽源市下辖的西安区和黑龙江省牡丹江市下辖的西安区,此时会根据Rank值排序返回所有结果。在这种情况下,可以通过
adm参数的方式进一步确定需要查询的城市或地区,例如location=西安&adm=黑龙江
adm城市的上级行政区划,可设定只在某个行政区划范围内进行搜索,用于排除重名城市或对结果进行过滤。例如adm=beijing
如请求参数为
location=chaoyang&adm=beijing时,返回的结果只包括北京市的朝阳区,而不包括辽宁省的朝阳市如请求参数仅为
location=chaoyang时,返回的结果包括北京市的朝阳区、辽宁省的朝阳市以及长春市的朝阳区
// 例如:https://your_api_host/geo/v2/city/lookup?location=beij
// 例如:https://your_api_host/geo/v2/city/lookup?location=chaoyang&adm=beijing
searchCities(location, adm = null) {
return axios.get(`${GEO_BASE_URL}/city/lookup`, {
params: {
location: location,
adm: adm,
key: API_KEY,
}
});
}
返回详情信息可查:城市搜索 for API | 和风天气开发服务
注意事项
- 和风天气的
locationId需通过城市搜索API获取,或直接使用已知ID(如北京为101010100)。 - 免费版API有调用频率限制(如每分钟5次),需合理控制请求次数。
- 生产环境建议将API_KEY存储在环境变量中(如
.env文件),避免硬编码。
更多推荐




所有评论(0)