1.在app.js中連接websockt
這樣可以始終保持只有一個websockt連接,不會提示錯誤
App({ onLaunch: function () { wx.connectSocket({ url: 'wss://wss.shanling.top' }) wx.onSocketClose(function (res) { wx.connectSocket({ url: 'wss://wss.shanling.top' }) }) } })
2.在每個頁面的onShow中監聽wx.onSocketMessage(不要在onLoad中)
這樣可以保證當前頁面對websocket的控制權,解決使用wx.navigateTo打開子頁面時,父級頁面websocket失效的問題
onShow: function () { var that=this; wx.onSocketOpen(function (res) { that.onopen() }) wx.onSocketMessage(function (res) { that.onmessage() }) }
