小程序中免费接入和风天气api

前言

最近项目中遇到天气预报展示的功能需求,调研后最终选择接入和风天气api,功能亮点如下:

  • 非商业用户 1000次/天 到 SDK 无限量访问
  • 按坐标、城市名称、格点方式定位并展示对应天气信息
  • 实时、三日、七日天气预报
  • 灾害极端天气预警信息
  • 全国空气质量信息
  • 热带台风信息
  • 天文气象数据(日出、日落、月相、太阳角度等)

订阅模式

有三种订阅模式:

  • 免费订阅
  • 标准订阅
  • 高级订阅

对比如下

大家可以根据自己需求接入对应的模式即可,下面笔者接入的是免费订阅。

接入

首先我们需要注册并登录和风天气管理端(地址),然后创建项目获取到key

获取近7日天气预报

拿到key之后,调用接口就很简单了。这里举个功能使用例子,如获取近7天天气预报:

bash 复制代码
https://api.qweather.com/v7/weather/7d?[请求参数]

请求参数包括必选和可选参数,参数之间使用&进行分隔。

更详细信息可以直接查阅文档-> 传送门

使用天气图标

接下来讲解下如何在小程序中引入并使用天气图标。

我们先打开下天气图标下载官网->传送门

接着点击下载,将图标文件下载到本地,解压后我们只需用到两个文件:

接着在页面中引入这两个文件:

xml 复制代码
<style>
@import './static/font/qweather-icons.css';

@font-face {
  font-family: 'qweather-icons';
  src: url('./static/font/qweather-icons.ttf')
    format('truetype');
}

.QWeather {
  font-family: 'qweather-icons';
  font-size: 20px;
}
</style>

接着打开qweather-icons.css文件,我们将第一部分默认引入字体代码路径去掉(上面已经引入过了)

页面中使用

arduino 复制代码
 <text class="QWeather"
        :class="[isNight ? 'qi-' + item.iconNight : 'qi-' + item.iconDay]"
 ></text>

这里需要注意的是:

  • 接口返回的图标字段没有qi字段,我们需要在类名中加上前缀【qi-】。
  • 返回的图标分白天跟晚上,我们需要判断下当前时间是白天还是晚上,然后分别取iconDay和iconNight字段

看下效果吧

扫码体验

评论区可扫码体验哦~

相关推荐
linux_cfan17 小时前
videojs v10 源代码系列解读:30 · `SerialRunner` 与 `ConcurrentRunner`
前端
liangshanbo121517 小时前
面试题:页面需要发起大量 Ajax / HTTP 请求时,如何优化请求性能?
前端·http·ajax
lyz24685918 小时前
vue3页面因参数未声明而报错的常犯错误
前端·javascript·vue.js
摸爬滚打的小李18 小时前
流程图同步AI生成
前端
Hilaku18 小时前
我重写了整个项目,但没人感谢我!
前端·javascript·程序员
zach19 小时前
Vue/React SPA 打包部署后,子路由刷新 401 未登录问题彻底解决
前端·nginx·next.js
旋生万物19 小时前
素数螺旋映射 $z_n=n^{1+i}$ 的角分布统计检验与零模型对比
大数据·前端·人工智能·算法·云原生·螺旋生成论·螺旋相位
亿元程序员19 小时前
游戏引擎都没用!纯AI又上线了一款蚂蚁搬家小游戏!
前端
醒目8019 小时前
从图像到拼豆图纸:像素化生成与色板匹配技术实践
微信小程序
福兮说19 小时前
JS 正则的六个坑:带 g 的 test() 一真一假、空匹配死循环、replace 里的 $
开发语言·前端·javascript·正则表达式