mini-blog是一款基于云開發(fā)的博客小程序,該小程序完全不依賴任何后端服務(wù),無需自己的網(wǎng)站、服務(wù)器、域名等資源,只需要自行注冊小程序賬號即可。
使用教程
1. 前期準備
- 安裝最新版微信開發(fā)者工具「可到微信小程序官網(wǎng)進行下載」
-
nodejs環(huán)境「云開發(fā)&調(diào)試需要使用到nodejs環(huán)境」,若第一次進行安裝,可自行g(shù)oogle安裝教程 - 下載源碼:https://github.com/CavinCao/mini-blog
2. 項目初始化
首先打開微信開發(fā)者工具,導(dǎo)入mini-blog項目,名稱可自定義,AppID填個人的小程序賬號

若是為剛注冊的小程序賬號,需要手動開通下云開發(fā)功能,點擊左上角云開發(fā)按鈕,根據(jù)提示開通云開發(fā)功能,完成后會跳轉(zhuǎn)到對應(yīng)的云開發(fā)控制臺:

3. 云數(shù)據(jù)庫配置
mini-blog的數(shù)據(jù)源均來自于云數(shù)據(jù)庫,所以在運行前需要初始化云數(shù)據(jù)庫,在云數(shù)據(jù)庫中新增以下集合:
//緩存小程序or公眾號的accessToken
access_token
//小程序文章集合
mini_posts
//小程序評論內(nèi)容集合
mini_comments
//小程序用戶操作文章關(guān)聯(lián)(收藏、點贊)
mini_posts_related
//小程序博客相關(guān)配置集合
mini_config
//小程序博客相關(guān)操作日志
mini_logs
//小程序博客用戶FormID(用于模板消息推送)
mini_formids

4. 云函數(shù)部署
首先需要將你的云函數(shù)進行上傳,在對應(yīng)的云函數(shù)名稱上右擊-上傳并部署。
其中上傳并部署有兩個,后面也有相關(guān)解釋,若本地已下載相應(yīng)的node_modules并調(diào)試通過,建議上傳所有文件。
同時需注意云開發(fā)的環(huán)境,微信小程序允許用戶創(chuàng)建兩個環(huán)境(通常一個測試環(huán)境一個正式環(huán)境),需要上傳哪個環(huán)境的云函數(shù)就切換至哪個環(huán)境。

最后需要配置下云函數(shù)的環(huán)境變量,建議給每個云函數(shù)配置相應(yīng)的環(huán)境(若云開發(fā)創(chuàng)建了兩個環(huán)境),云函數(shù)的環(huán)境變量值與當前運行環(huán)境一致。
代碼中初始化時會讀取對應(yīng)的環(huán)境進行初始化:
const cloud = require('wx-server-sdk')
cloud.init({env:process.env.Env})

到這里,在微信開發(fā)者工具中應(yīng)該可以正常運行了「但是沒有文章相關(guān)數(shù)據(jù)」

公眾號文章同步
目前代碼中已經(jīng)實現(xiàn)將公眾號文章同步至云數(shù)據(jù)庫中,相關(guān)操作如下:
首先將公眾號的AppId和AppSecret配置到adminService云函數(shù)的環(huán)境變量中,AppId和AppSecret在公眾號的開發(fā)-基本配置中。

然后在公眾號中配置相應(yīng)的IP白名單:
172.81.207.12
172.81.212.74
172.81.235.12
172.81.236.99
172.81.245.51
212.64.65.131
212.64.84.22
212.64.85.139
212.64.85.35
212.64.87.134
212.64.57.239
212.64.68.233
212.64.84.102
212.64.84.30
212.64.84.54
212.64.85.82
212.64.89.109
212.64.89.115
212.64.89.17
212.64.89.18

最后可手動運行一次,進行初始化,后期可上傳云函數(shù)的定時觸發(fā)器,右擊adminService云函數(shù),上傳觸發(fā)器即可「默認每天23:00同步一次」

其他文章源同步
目前源碼中沒有實現(xiàn)其他文章源的同步,如果有需要可以自行實現(xiàn),可參考adminService「同步公眾號文章至云數(shù)據(jù)庫中」。只要滿足云數(shù)據(jù)庫中mini_posts集合的結(jié)構(gòu)即可。
目前作者主要實現(xiàn)小程序端博客相關(guān)的功能,后期根據(jù)需求來實現(xiàn)多文章數(shù)據(jù)源的同步。
當前進度與計劃
- [x] 公眾號文章同步
- [x] 文章列表、文章詳情展示
- [x] 分享、點贊、收藏功能實現(xiàn)
- [x] 評論相關(guān)展示和功能實現(xiàn)
- [ ] 生成海報功能的實現(xiàn)
- [ ] 評論消息通知功能的實現(xiàn)
- [ ] 專題、標簽相關(guān)功能的實現(xiàn)
- [ ] 后臺管理功能實現(xiàn)(文章管理、評論管理等)
最后
目前博客小程序的功能正在陸續(xù)開發(fā)中,歡迎各位小伙伴體驗和分享,同時有任何問題或者好的建議都可以與我交流。