最近開始研究下小程序,按照騰訊雲-開發者實驗室裏的指導一步一步來。
我這裏的服務器的環境是ubuntu 18.04:
先把遇到的一些問題記錄下:
1.域名不對應。
[1]小程序代碼中app.js 中的域名一定要和開發工具中詳情-項目配置中的域名信息相對應如下圖:圖1
App({
config: {
host: 'zmcsg.xyz' //這裏填寫自己申請的域名,要備案的,
},
onLaunch () {
console.log('App.onLaunch()');
}
});
圖1
[2]另外一點,域名解析的設置也要注意,如圖2
圖2
因爲測試的網址是:https://zmcsg.xyz,而不是 https://www.zmcsg.xyz
2.實驗二:會話
- 獲取會話 失敗
跟蹤log
,發現以下信息:
2020-2-26 13:58:16 [log] wx.getStorageSync api invoke
2020-2-26 13:58:16 [log] wx.getStorageSync return
2020-2-26 13:58:16 [log] wx.login api invoke
2020-2-26 13:58:16 [log] wx.getUserInfo api invoke
2020-2-26 13:58:16 [log] wx.login success callback with msg login:ok
2020-2-26 13:58:16 [log] wx.getUserInfo fail callback with msg getUserInfo:fail 系統錯誤,錯誤碼:-12006,auth deny
<原因分析:>
微微信方面的更新 ,一次升級之後 getUserInfo必須通過button獲取授權,
在獲取用戶信息時 需要使用button按鈕進行獲取
1.獲取用戶頭像暱稱,第一次需要使用 button 組件授權,如果已經用組件授權了,wx.getUserInfo 可直接返回用戶數據,無需重複授權彈窗。
2. 如果沒有用 button 組件授權,wx.getUserInfo 調用接口返回失敗,提醒開發者需要先使用 button 組件授權。
3. 用戶可在設置中,取消授權。取消授權後需重新用 button 組件拉起授權。
<解決方法>
在index.wxml裏添加一行
<button open-type='getUserInfo'>授權</button>
任何設備第一次用的時候按一下這個按鈕就可以了,如圖3
圖3
如果:這個時候還是不行,就 執行 清緩存--清除授權數據,重新編譯,再試下!
3.WebSocket 服務 連接失敗
<原因分析>
安裝 ws 模塊,未安裝成功
本實驗使用 ws
模塊來在服務器上支持 WebSocket 協議,下面使用 NPM 來安裝:
cd /data/release/webapp
sudo apt-get install npm -y
sudo npm install --save ws //這句安裝有問題
<解決方法>
npm install ws
安裝成功會顯示版本號