[mini-blog]第一次部署過程中的問題點(diǎn)總結(jié)(最近很多人在問)

最近很多人問mini-blog的部署,確實(shí)第一次部署小程序有點(diǎn)繁瑣,有些是小程序本身的限制,有些是迭代過程中的變化造成,這里統(tǒng)一匯總下。

關(guān)于本地環(huán)境

  1. 確保小程序IDE是最新的版本。
  2. 本地已安裝nodejs環(huán)境(小程序云開發(fā)有相關(guān)依賴)
  3. 確保已開通小程序云開發(fā)環(huán)境,并了解一些基本概念。

關(guān)于云函數(shù)上傳

第一次下載源碼加載后,優(yōu)先安裝云函數(shù)本地依賴「每個(gè)云函數(shù)都需要」

右擊相應(yīng)的云函數(shù),選擇在終端打開:

云函數(shù)截圖1

通過命令安裝相應(yīng)的依賴:

npm install wx-server-sdk@latest
云函數(shù)截圖2

安裝完成后,右擊相應(yīng)的云函數(shù),選擇創(chuàng)建并部署:所有文件

云函數(shù)截圖3

關(guān)于云環(huán)境配置

在運(yùn)行小程序前,需要對(duì)云環(huán)境進(jìn)行配置,首先找到自己的云環(huán)境ID,云開發(fā)控制臺(tái)右上角就有。

截圖4

接著進(jìn)行配置,配置包含兩部分,小程序端和云函數(shù)端?!高@兩部分是獨(dú)立的,可以理解為前后端了」

首先是云函數(shù)端,為每個(gè)云函數(shù)進(jìn)行環(huán)境變量的配置,配置的key為Env「注意大小寫」,對(duì)應(yīng)value就是你的云環(huán)境ID

截圖5

然后是小程序端,小程序端在utils下的config.js

截圖6

關(guān)于云數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)的集合數(shù)量沒有變,還是這幾個(gè):

//緩存小程序or公眾號(hào)的accessToken
access_token
//小程序文章集合
mini_posts
//小程序評(píng)論內(nèi)容集合
mini_comments
//小程序用戶操作文章關(guān)聯(lián)(收藏、點(diǎn)贊)
mini_posts_related
//小程序博客相關(guān)配置集合
mini_config
//小程序博客相關(guān)操作日志
mini_logs
//小程序博客用戶FormID(用于模板消息推送)
mini_formids

在創(chuàng)建完之后,一定修改下集合的權(quán)限,不然小程序端是沒有權(quán)限讀取集合中的數(shù)據(jù)的

截圖7

關(guān)于公眾號(hào)文章同步

目前最新版與原教程[mini-blog]基于云開發(fā)的博客小程序使用教程說明的有點(diǎn)出入

同步文章的云函數(shù)已經(jīng)從adminService變更為syncService,所以相應(yīng)的AppIdAppSecret要配置在syncService這個(gè)云函數(shù)下面

截圖8

如果手動(dòng)執(zhí)行同步文章云函數(shù)報(bào)錯(cuò),皆是由于配置問題導(dǎo)致,請(qǐng)仔細(xì)核對(duì)AppIdAppSecret是否配置正確「注意大小寫,再次強(qiáng)調(diào)」

另外檢查公眾號(hào)對(duì)應(yīng)的白名單是否配置和確認(rèn)是否存在多處獲取access_token的地方「access_token會(huì)搶占,其他地方獲取過,那小程序端獲取的access_token就失效了,影響文章同步」。

關(guān)于后臺(tái)管理

后臺(tái)管理是通過配置openId來實(shí)現(xiàn)權(quán)限管控的,具體是在adminService云函數(shù)下配置對(duì)應(yīng)的環(huán)境變量,key名為author,value為相應(yīng)的openId,可以配置多個(gè),逗號(hào)分隔即可。

截圖9

openId的獲取,可以直接看控制臺(tái)日志,已經(jīng)打印出來了,在app.js第30行

截圖10

關(guān)于海報(bào)組件

如果發(fā)現(xiàn)文章詳情頁報(bào)錯(cuò)包含wxa-plugin-canvas的錯(cuò)誤時(shí),那是說明你本地沒有安裝海報(bào)組件。

相關(guān)教程可以參考基于云開發(fā)的小程序海報(bào)功能的實(shí)現(xiàn),已經(jīng)寫的很詳細(xì)了。

額外說明下,如果npm安裝組件過程中報(bào)錯(cuò),可以嘗試將小程序中的package.jsonlock.json刪除后再進(jìn)行安裝

截圖11

如果海報(bào)組件都已經(jīng)按照上述步驟完成,但發(fā)現(xiàn)會(huì)報(bào)如下錯(cuò)誤

fail invalid page hint....
截圖12

不要激動(dòng),程序本身沒有問題,是正常的,報(bào)錯(cuò)是因?yàn)樾〕绦驔]有發(fā)布過線上環(huán)境,找不到相應(yīng)的page地址。

原因是在生成海報(bào)組件時(shí),會(huì)生成當(dāng)前文章頁的小程序碼,小程序碼中包含的跳轉(zhuǎn)頁面的校驗(yàn)是根據(jù)你線上環(huán)境頁面來的「如果頁面不存在就會(huì)報(bào)該錯(cuò)誤」。

所以,等小程序上線后可以再嘗試點(diǎn)擊試下。

最后

基本上所有遇到的問題都是上面所提到的導(dǎo)致,后續(xù)遇到類似問題不再一一說明了。

另外碰到錯(cuò)誤可以看對(duì)應(yīng)的日志「小程序看控制臺(tái),云函數(shù)看云函數(shù)的日志」,日志中都有對(duì)應(yīng)的行數(shù),找到相應(yīng)的代碼行數(shù)看下,基本上就能定位到問題了。

最后,還是建議根據(jù)時(shí)間軸看下我的文章,mini-blog期間的迭代變化,文章中基本都有體現(xiàn)。

最后的最后,遇到問題還是需要學(xué)會(huì)獨(dú)立去解決,這也是一種能力。

Ps.GitHub開源地址:
https://github.com/CavinCao/mini-blog

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容