diff --git a/app.js b/app.js index 318fbc6..f93f615 100644 --- a/app.js +++ b/app.js @@ -138,10 +138,7 @@ App({ } }, - onShow() { - - }, computeNavigateBarHeight: function () { var systemInfo = wx.getSystemInfoSync(); var data = wx.getMenuButtonBoundingClientRect() @@ -163,10 +160,16 @@ App({ this.globalData.source = options.path || ''; // 判断socket从后台打开 并且已经断开链接了,需要重启 - if (this.globalData.isHideState && this.globalData.socketTask && this.globalData.socketTask['readyState'] != 1) { - __.useSocket() - } - this.globalData.isHideState = false + // if (this.globalData.isHideState && this.globalData.socketTask && this.globalData.socketTask['readyState'] != 1) { + // } + // this.globalData.isHideState = false + + const timer = setInterval(() => { + if (this.globalData.config && this.globalData.config.lists) { + __.useSocket() + clearInterval(timer) + } + }, 100) }, onHide: function () { this.globalData.isHideState = true @@ -235,5 +238,7 @@ App({ popwindow: "", // 首页弹窗信息 + isConnected: false, + } }) \ No newline at end of file diff --git a/utils/miucms.js b/utils/miucms.js index e0fd6ac..015e8a6 100644 --- a/utils/miucms.js +++ b/utils/miucms.js @@ -416,24 +416,31 @@ function getTimeAgo(Time) { // 开启socket let socketCount = 0 // 链接次数,判断失败 const useSocket = () => { + if (app.globalData.isConnected) { + console.log("已经连接,不再重复连接") + return // 如果已经连接,则不再创建新的 socketTask + } app.globalData.socketTask = wx.connectSocket({ - url: `wss://app.gter.net/socket?token=${wx.getStorageSync('Authorization') || ''}`, + url: `wss://socket.gter.net/socket?token=${wx.getStorageSync('Authorization') || ''}`, success: function (res) { - // console.log(res, "res"); + app.globalData.isConnected = true // 连接成功,设置为 true }, fail: function (err) { + app.globalData.isConnected = false // 连接成功,设置为 true console.log(err, "err"); } }) app.globalData.socketTask.onOpen(function () { - let user = app.globalData.user || {} // 初始化发消息 - if (user && wx.getStorageSync('Authorization')) { + if (wx.getStorageSync('Authorization')) { + let getAccountInfoSync = wx.getAccountInfoSync(); + let dataToSend = { type: 'bind', data: { token: wx.getStorageSync('Authorization') || '', - uid: user.uid || 0 + app: getAccountInfoSync.miniProgram.appId + // uid: user.uid || 0 } } app.globalData.socketTask.send({ @@ -449,6 +456,7 @@ const useSocket = () => { socketCount++ if (socketCount > 3) return setTimeout(() => useSocket(), 3000); + app.globalData.isConnected = false // 连接关闭,重置为 false }) }