DIGITAL PRODUCT

Discuz!插件 小蚁天气预报(国内版)

让天气真正融入你的Discuz网站,不是给Discuz加一个天气数字,而是给网站增加一套完整的本地天气服务。

#小蚁天气Discuz插件

让天气真正融入你的Discuz网站,不是给Discuz加一个天气数字,而是给网站增加一套完整的本地天气服务。
和风天气每月免费提供5万次天气预报请求,普通站长够用了。
演示站:https://fjxiaoyidzx50.fqlook.cn/
小蚁天气是一款专为Discuz!打造的专业天气展示插件,支持PC+手机端,可根据访客IP自动识别所在城市并展示当地天气,同时支持固定城市、手动切换城市、天气详情页、未来天气、空气质量、天气预警、生活指数、降水趋势等丰富信息,拥有多种主题样式的独立天气详情页。
插件并不是简单地在论坛顶部放一个温度数字,而是希望把“天气”做成Discuz网站中的一个实用内容入口。
无论是地方门户、城市论坛、社区网站、生活服务网站,还是综合资讯论坛,都可以通过小蚁天气快速增加一个用户每天都可能用到的生活服务功能。

#为什么选择小蚁天气?

目前不少Discuz天气插件只是简单调用天气接口,然后显示:福州28℃多云,功能非常有限。
而小蚁天气从一开始就是按照一个完整的Discuz天气服务模块来设计。它不仅要“能显示天气”,更注重:定位准确、显示美观、移动端友好、加载快速、后台好管理、兼容Discuz、数据源规范、方便长期运营。对于站长来说,安装后基本不需要修改模板,也不需要自己写代码。

#核心优势

1、IP自动定位:访客打开网站后,可自动识别所在城市并展示本地天气,无需手动选择。
2、ip2region默认定位引擎:默认采用开源ip2region数据库,支持IPv4/IPv6,可在后台一键更新。
3、支持区县级增强定位:站长可自行购买商业IP定位服务(价格很便宜),或上传兼容的qqwry.ipdb数据库(需自行解决商业授权),在数据支持的情况下进一步识别区县。
4、QWeather专业天气数据(未来会支持更多的天气预报接口):支持实时天气、逐小时天气、未来预报、空气质量、天气预警、生活指数、日出日落、降水趋势等信息。
5、PC+WAP双端适配:不是简单缩小PC页面,而是针对手机端单独优化展示逻辑和浮动入口。
6、多个显示位置自由控制:支持论坛首页、版块列表、帖子详情、页面顶部、全局悬浮等位置。
7、多套天气主题:内置现代卡片、极简线条、透明玻璃、深色、渐变等多种风格,可适配不同Discuz模板。
8、独立天气详情页:可将天气做成网站中的独立生活服务频道,而不仅是一条天气横幅。
9、行政区切换:用户可以从省、市、区县层级选择天气地区。
10、附近城市天气:详情页支持展示周边城市天气,增强本地生活属性。
11、顶部降水趋势图:可展示未来降水趋势,让天气信息更加直观。
12、高性能缓存机制:论坛页面优先读取本地缓存,避免每次访问都同步请求天气接口。
13、异步天气刷新:缓存过期后通过AJAX更新天气,尽量避免外部API拖慢论坛打开速度。
14、支持伪静态天气页面:可将天气详情页设置为/weather/、/weather/101230101.html等更友好的地址。
15、适配DiscuzX3.4/X3.5/X5.0/X5.1。

#访客打开论坛后,会看到什么?

例如一位来自福州的用户进入网站。
系统自动识别访客所在城市后,可在论坛顶部显示:
☀福州28℃多云
体感30℃·湿度68%·东北风2级
今日25℃/32℃
用户如果只是想快速看天气,到这里已经足够。
如果点击天气区域,则可以进入完整天气详情页。
详情页可以进一步看到:
1、当前天气:大字号温度、天气状况、体感温度、当天最高最低温。
2、今日天气:风向、风力、湿度、降水、能见度、紫外线、日出、日落等信息集中展示。
3、未来降水趋势:通过柱状趋势展示未来一段时间的降雨变化。
4、逐小时天气:查看接下来数小时气温、天气、降水等变化。
5、未来天气:查看未来数天天气趋势。
6、空气质量:查看AQI等空气质量信息。
7、天气预警:当地存在高温、暴雨、大风、台风等预警时,可在天气页面展示。
8、生活指数:根据天气提供相关生活参考。
9、附近城市天气:在天气详情页面底部查看附近地区天气。
这样,一个原本只有简单“天气温度”的小功能,就变成了网站中的一个完整生活服务模块。

#六种天气条样式

插件内置多套天气条视觉风格。
1、跟随模板:白色背景、轻边框、低阴影。适合绝大多数Discuz默认模板及门户模板。
2、现代卡片:更加现代的网站视觉效果。适合门户、科技、综合资讯网站。
3、极简线条:减少背景和装饰。适合简约风格模板。
4、透明玻璃:使用轻透明效果。适合图片背景、科技感模板。
5、深色:适合深色Discuz模板。
6、彩色渐变:视觉更加活跃。适合年轻化、社区化网站。
站长可以直接在后台切换,不需要修改CSS。

#PC和手机端分别优化

很多老式Discuz插件所谓“支持手机端”,实际上只是:把PC页面缩小。小蚁天气不是这样处理。
插件针对PC和WAP分别提供:
PC显示设置以及WAP显示设置,站长可以分别控制。
例如PC支持:论坛首页顶部、版块列表顶部、帖子详情顶部、右下角天气按钮(可调整距离底部多少像素)
手机端可以单独设置:手机版首页、手机版版块页、手机版帖子页、右下角天气按钮(可调整距离底部多少像素)
不会出现PC设置改变以后,手机端布局一起被破坏的问题。
PC天气长条支持自由选择字段,不同论坛模板宽度不同。
有的站长喜欢简洁:福州28℃多云
有的站长希望信息丰富:福州28℃多云·体感30℃·湿度68%·东北风2级·能见度10km,因此PC顶部天气条支持自由勾选字段。
可选择:气图标、城市、当前温度        、天气情况、体感温度、相对湿度、风向、风力、降水、能见度、紫外线、今日最低温、今日最高温、日出、日落
站长可以根据自己模板宽度进行组合。

#天气图标支持多种颜色

插件内置完整Qweather天气图标资源。并支持:智能多色、蓝色、橙色、绿色、紫色、灰色、深色、自定义颜色
例如晴天可以显示黄色太阳。雨天显示蓝色天气图标。阴天显示灰蓝色。不同天气状态一眼就能区分。

#独立天气详情页面

小蚁天气并不是只有论坛顶部天气条。插件自带完整天气详情页。
默认访问:
/plugin.php?id=fjxiaoyi_weather:detail
还可以配置伪静态,例如:
/weather/
指定地区:
/weather/101230101.html
因此对于地方门户来说,可以直接增加一个:天气频道。甚至可以在网站主导航中加入:首页·新闻·房产·招聘·天气,让天气真正成为网站内容体系的一部分。

#支持Discuz网站导航和头部

天气详情页可以选择:使用独立页面或者:显示Discuz网站头部导航,开启后,用户进入天气页面仍然可以看到原网站:LOGO、导航栏、用户登录状态、网站整体结构,视觉上不会像跳到一个第三方网站。

#天气接口

天气接口采用QWeather,插件天气数据基于QWeather。使用:JWT认证(普通API官方将在2027年下线)。

#高性能缓存架构

天气插件最容易出现的问题就是:天气接口一慢,整个论坛都跟着慢。小蚁天气专门针对这个问题优化。论坛首页、帖子页等全局页面:不会因为天气缓存过期,就直接同步等待外部天气接口。插件优先读取本地天气缓存。
采用多级天气缓存,不同天气数据变化速度不同。例如当前天气更新较快,而日出日落一天基本不会变化。因此插件不是简单设置一个统一缓存时间,而是针对不同天气类型进行缓存。这样既可以降低QWeatherAPI调用量,也可以提高天气页面加载速度。

#针对Discuz应用中心规范持续优化

小蚁天气不是简单“能运行就提交”。插件针对Discuz应用中心审核规范进行了专门整改。目前已经重点优化:
插件目录规范
永久数据目录
缓存目录
上传处理
生命周期脚本
系统表操作
外部API请求
SSRF防护
私钥管理
目录权限
AJAX刷新
全局Hook性能
IPv4/IPv6数据库
第三方开源许可说明
对于长期运营网站来说,这一点非常重要。

#第三方组件来源透明

插件不会偷偷内置来源不明的IP数据库。默认IP定位采用:ip2region(支持一键更新),并保留对应开源许可证。
天气图标采用:QWeatherIcons,并保留对应CCBY4.0授权说明。
对于需要额外使用第三方IP数据库的站长,插件只提供兼容能力,由站长自行取得相关数据文件。

#购买插件后,还需支付哪些费用?

不包含天气API费用本,插件属于:Discuz天气系统插件。天气数据由站长自行申请QWeather服务(每个月有50000的免费请求数,对于小站够用了)。插件本身不会出售或转售QWeather数据。具体API免费额度、套餐和调用限制以QWeather官方账户实际显示为准。
和风天气价格标准请参考:https://dev.qweather.com/docs/finance/pricing/

配置指南:https://www.fjxiaoyi.com/product-15.html?tab=help

小蚁天气 Discuz插件 更新日志

v1.6

- 修复 PC 端天气组件跳转链接偶发多出 &mobile=2 的问题:异步刷新请求携带的mobile=0/1 参数此前被误判为手机端,导致电脑上点击顶部天气条、Logo 后紧凑天气或悬浮天气会进入手机版详情地址;
- 详情页缓存更新时间移入当前天气卡片内显示。
- 生活指数图标按和风生活指数拆分为各自独立的线性图标。
- 商业 IP 接口兼容 GET 优先、POST 回退,并支持省份与经纬度兜底定位。

v1.5

删除详情页底部地区切换和 IP 自动定位偏差说明。
PC 与 WAP 详情页底部数据来源说明保持单行显示,窄屏可横向查看。

v1.4 搜索、收藏与生活指数视觉升级

- 详情页增加城市天气搜索条,沿用 QWeather GeoAPI 搜索结果。
- 登录用户可收藏城市并在详情页快速切换,最多收藏 30 个城市。
- 生活指数卡片补充运动、洗车、穿衣、钓鱼和紫外线图标。

V1.16.0 版本更新

本次版本重点优化插件初始化体验,内置核心数据资源,大幅降低首次安装配置门槛,同时完善数据更新机制与版本兼容性。

功能新增

  • 内置ip2region官方IPv4、IPv6 XDB数据库,首次安装即可直接使用IP城市定位功能,无需手动在线更新
  • 内置和风天气通用城市行政区数据,安装后直接支持全国省、市、区县三级选择功能
  • 新增内置数据自动部署能力,搭配SHA-256文件完整性校验,保障数据文件安全合规

机制优化

  • 优化插件升级逻辑,升级过程仅增量补充缺失数据文件,保留站长手动修改、上传的自定义数据,避免覆盖丢失
  • 保留ip2region数据库、行政区目录在线更新功能,支持站长后台手动刷新最新数据
  • 精简首次安装初始化流程,解决服务器无法连通更新源时的配置异常问题,提升安装成功率

兼容适配

  • 持续全量兼容Discuz X3.4、X3.5、X5.0、X5.1全系列版本,支持UTF8SC、UTF8TC、GBK主流站点编码

V1.15 商业IP定位扩展版

新增第三方商业IP定位能力,构建「本地数据库+商业接口」双定位方案,强化接口安全性、稳定性与灵活性,适配商业站点高精度定位需求。

功能新增

  • 接入第三方商业IP定位接口,作为本地IP数据库补充定位方案,提升IP定位精准度
  • 全面支持阿里云市场APPCODE类型IP定位接口,适配主流商业化定位服务
  • 新增商业接口独立缓存机制,默认缓存7天,有效减少接口调用频次,降低使用成本
  • 后台新增商业接口连通性测试、定位结果测试功能,方便站长快速排查配置问题
  • 后台内置阿里云市场接口购买入口,支持站长自主选购、开通对应定位服务

机制优化

  • 商业接口调用地址改为后台自定义手动填写,可适配各类阿里云市场合规IP定位服务
  • 强制商业接口仅支持HTTPS协议,严格限制访问域名与标准端口,杜绝不安全请求
  • 智能保留接口原有查询参数,自动适配、替换访客IP参数,兼容各类接口规则
  • 新增接口地址安全校验机制,拦截含账号密码、片段地址、非法格式的请求配置
  • 精准过滤请求地址,仅对公网IP发起商业接口查询,内网、无效IP直接走本地定位
  • 支持「商业接口优先、本地数据库兜底」双模定位,接口异常时自动降级本地数据库
  • 缓存数据绑定对应接口地址,切换服务商后自动清空旧缓存,避免数据错乱
  • 优化JWT私钥配置方式,由文件上传改为后台直接粘贴录入,降低配置难度
  • 调整JWT私钥配置位置,迁移至JWT有效期设置下方,优化后台操作逻辑
  • 新增私钥格式校验、加密存储、空值保留、单独删除功能,提升配置安全性

问题修复

  • 修复天气详情页主题下拉框错误标记「当前风格」的显示问题

细节调整

  • 移除前台第三方商业IP定位服务相关提示文案,优化用户浏览体验
  • APPCODE等敏感配置采用加密存储,后台不完整回显,保障站点配置安全
  • 明确第三方商业IP数据、服务授权责任,由使用者自主购买、合规使用

V1.14 IP定位升级版

全面升级本地IP定位体系,引入ip2region专业定位引擎,完善多源更新、手动运维能力,强化多编码兼容与版权合规性。

功能新增

  • 新增ip2region本地IP定位引擎,设为默认推荐本地定位方案,支持IPv4、IPv6双协议数据库
  • 后台新增IP数据库状态监控面板,可查看数据库更新时间、文件大小、实时更新进度
  • 支持ip2region数据库在线更新、本地手动上传两种部署方式,适配不同服务器环境
  • 新增繁体UTF8TC编码适配,完善UTF8SC、UTF8TC、GBK三编码全场景兼容

机制优化

  • 配置多更新源下载策略,支持Gitee、jsDelivr、GitHub Raw等渠道,更新失败自动切换备用源
  • 优化数据库更新机制,支持分段下载、断点续传、文件校验、原子替换,大幅降低更新失败、文件损坏概率
  • 保留纯真IP数据库兼容能力,支持原有数据库手动上传、读取使用,保障老用户平滑过渡
  • 优化应用中心安装包结构,统一授权文件规范,适配Discuz应用中心上架标准
  • 补充ip2region数据库、天气图标资源开源许可证及版权声明,完善合规体系

规则说明

  • 插件仅提供第三方IP数据库适配、读取能力,数据库文件及对应商业授权需用户自行合规获取

V1.13 安全与审核优化版

严格对标Discuz应用中心审核规范,全方位优化插件安全性、规范性与兼容性,修复各类审核及运行隐患。

安全加固

  • 重构插件目录结构、文件操作、数据存储逻辑,完全适配Discuz官方规范
  • 接口密钥、JWT私钥、数据库状态、缓存数据等核心配置,统一迁移至Discuz标准数据目录存储
  • JWT Ed25519私钥采用高强度加密存储,后台不回显完整敏感信息,杜绝信息泄露
  • 强化远程请求安全校验,启用HTTPS证书校验、主机名验证,拦截非法请求
  • 限制远程接口、下载源可访问域名范围,杜绝异常地址跳转、非法资源请求风险
  • 完善缓存、临时文件、数据库文件读写权限校验,增加写入保护机制

流程优化

  • 优化安装、升级、卸载全流程,严格限定文件清理范围,绝不误删插件外站点数据
  • 优化天气详情页伪静态规则,提升不同站点环境下的地址兼容性

问题修复

  • 全面适配Discuz X3.4、X3.5、X5.0、X5.1版本,修复各版本兼容异常
  • 整改应用中心代码审核发现的安全性、兼容性、规范性问题(含V1.13.1迭代修复内容)

V1.12 性能优化版

聚焦前台加载速度与后台运维稳定性,重构天气数据加载逻辑,优化请求机制,解决首次访问卡顿、更新异常等问题。

性能优化

  • 天气详情页采用首屏优先加载策略,首屏仅加载定位、实时天气、每日天气核心数据
  • 逐小时预报、空气质量、天气预警、分钟降水、生活指数、天文数据、附近城市等次要数据,页面渲染完成后异步加载,大幅提升首屏速度
  • 支持cURL Multi并发请求,实时、每日天气数据在服务器适配环境下并发获取,缩短请求耗时
  • 详情页各扩展模块独立并发请求,各类天气数据配置独立缓存周期,兼顾实时性与加载效率
  • 重构附近城市数据获取逻辑,依托本地行政区目录计算,取消重复在线反查请求
  • 优化附近城市天气请求方式,采用并发批量获取,大幅减少接口请求次数

体验优化

  • 取消前台自动下载行政区目录逻辑,避免首次访问因下载源异常导致页面卡顿、超时
  • 行政区目录更新统一迁移至后台手动操作,提升站点稳定性
  • 强化IP数据库更新容错机制,新增目录预检、写入测试、源探测、失败重试、任务重推能力
  • 前端初始化失败自动重试,更新任务未就绪时自动重新初始化,降低异常报错概率
  • 精简后台IP数据库更新页面,移除无关日志展示,界面更简洁清晰

V1.1 显示与体验增强版

全方位优化前后台展示效果与交互逻辑,细化自定义配置能力,提升全终端适配体验与运行稳定性。

展示优化

  • 优化PC端、手机触屏版天气组件适配效果,解决不同模板下错位、显示异常问题
  • 细化论坛首页、版块页、帖子页天气组件显示权限控制,支持精准开关配置
  • 新增顶部天气字段自定义组合功能,可根据站点需求自由搭配展示内容
  • 优化悬浮天气入口交互,支持自定义显示范围、悬浮方向、底部边距
  • 重构天气详情页布局,优化移动端操作交互体验

机制优化

  • 完善固定城市、自动定位、默认城市三级回退逻辑,解决定位异常后无兜底的问题
  • 优化天气数据缓存策略,精准控制缓存周期,减少无效重复接口请求
  • 强化接口异常、网络波动场景的容错处理,提升极端网络环境下的可用性
  • 完善后台配置说明文档,优化接口测试、缓存清理功能操作逻辑

V1.0 首发正式版

首发「小蚁天气」Discuz全站天气插件,适配Discuz多版本、多编码,覆盖全场景天气展示与定位能力,提供完善的后台运维体系。

核心能力

  • 接入和风天气官方服务,支持JWT Ed25519、传统API KEY双重认证方式
  • 支持访客IP自动定位、默认城市兜底、固定城市三种定位模式,适配各类站点场景
  • 覆盖全维度天气数据:实时天气、逐小时预报、每日预报、空气质量、天气预警、分钟降水、生活指数、日出日落天文数据等

展示能力

  • 全终端适配PC、手机触屏版,支持论坛首页、版块页、帖子页独立开关控制
  • 提供顶部天气栏、悬浮天气入口双展示形式,支持自定义悬浮位置、页面间距
  • 顶部栏支持温度、天气状况、湿度、风力、降水概率、空气质量等字段自定义展示
  • 独立天气详情页,支持城市切换、实时定位查询、附近城市天气浏览
  • 内置多套详情页主题、组件风格、图标配色方案,支持自定义美化
  • 详情页支持全屏独立展示、跟随站点模板展示两种模式,适配不同站点风格

基础配置

  • 内置智能缓存机制,有效降低接口调用频次,提升页面加载速度
  • 后台集成完整配置体系,包含接口配置、定位设置、显示设置、缓存管理、接口测试等功能
  • 全方位容错处理,针对接口异常、定位失败、数据缺失场景做兜底,不影响站点正常访问
  • 兼容Discuz X3.4、X3.5、X5.0、X5.1版本,支持UTF8SC、GBK站点编码

感谢使用小蚁网络科技开发的小蚁天气Discuz!插件。

第一步、注册和风天气开发者账号:https://id.qweather.com/#/register

注册的过程中可以选择个人或者企业类型账号,按照官方步骤进行操作,均不影响每个月5万次的免费天气预报调用。具体免费额度以和风天气官方通知为准。

注册完成后登录:https://id.qweather.com/#/login?lang=zh

选择进入开发服务控制台,如下图:

第二步、通过和风天气开发控制台进行项目创建与相关参数获取,注意看每一个步骤。

点击左侧菜单“项目管理”进入创建项目

 

上图中所说的,上传公钥请打开和风天气官方提供的调试工具网址https://jwt.qweather.com/(如下图),点击复制公钥,粘贴到上传公钥的位置。

注意,此时生成页面上的对应私钥要复制保存好,以免丢失。

保存后,即可获得凭证ID,这个需要复制到插件后台填写。

 

 

到此,和风天气后台相关参数获取完毕。

第三步:插件后台配置

阿里云商业IP购买入口:https://market.aliyun.com/detail/cmapi00064443

如果ip2region更新失败,请手动下载上传,手动下载地址:

https://gitee.com/lionsoul/ip2region/tree/master/data

https://github.com/lionsoul2014/ip2region/tree/master/data

到此,插件配置完成了,剩下您可以在插件后台慢慢研究,根据您的需求进行配置。