|
|
@@ -49,16 +49,11 @@
|
|
|
}
|
|
|
});
|
|
|
wsApi.onClose((res) => {
|
|
|
- console.log("ws断开",res);
|
|
|
- // 1000是客户端正常主动关闭
|
|
|
- if (res.code != 1000) {
|
|
|
+ console.log("ws断开", res);
|
|
|
+ // 3099是客户端正常主动关闭
|
|
|
+ if (res.code != 3099) {
|
|
|
// 重新连接
|
|
|
- uni.showToast({
|
|
|
- title: '连接已断开,尝试重新连接...',
|
|
|
- icon: 'none',
|
|
|
- })
|
|
|
- let loginInfo = uni.getStorageSync("loginInfo")
|
|
|
- wsApi.reconnect(UNI_APP.WS_URL, loginInfo.accessToken);
|
|
|
+ this.reconnectWs();
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
@@ -96,7 +91,9 @@
|
|
|
}
|
|
|
// 消息回执处理,改消息状态为已读
|
|
|
if (msg.type == enums.MESSAGE_TYPE.RECEIPT) {
|
|
|
- store.commit("readedMessage", { friendId: msg.sendId })
|
|
|
+ store.commit("readedMessage", {
|
|
|
+ friendId: msg.sendId
|
|
|
+ })
|
|
|
return;
|
|
|
}
|
|
|
// 标记这条消息是不是自己发的
|
|
|
@@ -280,6 +277,27 @@
|
|
|
return true;
|
|
|
}
|
|
|
return loginInfo.expireTime < new Date().getTime();
|
|
|
+ },
|
|
|
+ reconnectWs() {
|
|
|
+ // 重新加载一次个人信息,主要是防止断线太久导致token已经过期
|
|
|
+ this.reloadUserInfo().then((userInfo) => {
|
|
|
+ store.commit("setUserInfo", userInfo);
|
|
|
+ // 重新连接
|
|
|
+ uni.showToast({
|
|
|
+ title: '连接已断开,尝试重新连接...',
|
|
|
+ icon: 'none',
|
|
|
+ })
|
|
|
+ let loginInfo = uni.getStorageSync("loginInfo")
|
|
|
+ wsApi.reconnect(UNI_APP.WS_URL, loginInfo.accessToken);
|
|
|
+ }).catch(() => {
|
|
|
+ this.exit();
|
|
|
+ })
|
|
|
+ },
|
|
|
+ reloadUserInfo() {
|
|
|
+ return http({
|
|
|
+ url: '/user/self',
|
|
|
+ method: 'GET'
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
onLaunch() {
|