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
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定位精準度
-
全面支持阿里雲市場APPCODE類型IP定位接口,適配主流商業化定位服務
-
新增商業接口獨立緩存機制,默認緩存7天,有效減少接口調用頻次,降低使用成本
-
後台新增商業接口連通性測試、定位結果測試功能,方便站長快速排查配置問題
-
後台內置阿里雲市場接口購買入口,支持站長自主選購、開通對應定位服務
機制優化
-
商業接口調用地址改為後台自定義手動填寫,可適配各類阿里雲市場合規IP定位服務
-
強制商業接口僅支持HTTPS協議,嚴格限制訪問域名與標準端口,杜絕不安全請求
-
智能保留接口原有查詢參數,自動適配、替換訪客IP參數,兼容各類接口規則
-
新增接口地址安全校驗機制,攔截含賬號密碼、片段地址、非法格式的請求配置
-
精準過濾請求地址,僅對公網IP發起商業接口查詢,內網、無效IP直接走本地定位
-
支持「商業接口優先、本地數據庫兜底」雙模定位,接口異常時自動降級本地數據庫
-
緩存數據綁定對應接口地址,切換服務商后自動清空舊緩存,避免數據錯亂
-
優化JWT私鑰配置方式,由文件上傳改為後台直接粘貼錄入,降低配置難度
-
調整JWT私鑰配置位置,遷移至JWT有效期設置下方,優化後台操作邏輯
-
新增私鑰格式校驗、加密存儲、空值保留、單獨刪除功能,提升配置安全性
問題修復
-
修復天氣詳情頁主題下拉框錯誤標記「當前風格」的顯示問題
細節調整
-
移除前台第三方商業IP定位服務相關提示文案,優化用戶瀏覽體驗
-
APPCODE等敏感配置採用加密存儲,後台不完整回顯,保障站點配置安全
-
明確第三方商業IP數據、服務授權責任,由使用者自主購買、合規使用
V1.14 IP定位升級版
功能新增
-
新增ip2region本地IP定位引擎,設為默認推薦本地定位方案,支持IPv4、IPv6雙協議數據庫
-
後台新增IP數據庫狀態監控面板,可查看數據庫更新時間、文件大小、實時更新進度
-
支持ip2region數據庫在線更新、本地手動上傳兩種部署方式,適配不同服務器環境
-
新增繁體UTF8TC編碼適配,完善UTF8SC、UTF8TC、GBK三編碼全場景兼容
機制優化
-
配置多更新源下載策略,支持Gitee、jsDelivr、GitHub Raw等渠道,更新失敗自動切換備用源
-
優化數據庫更新機制,支持分段下載、斷點續傳、文件校驗、原子替換,大幅降低更新失敗、文件損壞概率
-
保留純真IP數據庫兼容能力,支持原有數據庫手動上傳、讀取使用,保障老用戶平滑過渡
-
優化應用中心安裝包結構,統一授權文件規範,適配Discuz應用中心上架標準
-
補充ip2region數據庫、天氣圖標資源開源許可證及版權聲明,完善合規體系
規則說明
-
插件僅提供第三方IP數據庫適配、讀取能力,數據庫文件及對應商業授權需用戶自行合規獲取
V1.13安全與審核優化版
安全加固
-
重構插件目錄結構、文件操作、數據存儲邏輯,完全適配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首發正式版
核心能力
-
接入和風天氣官方服務,支持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




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