|
|
|
|
@ -21,7 +21,7 @@ export default {
|
|
|
|
|
// 监听路由跳转
|
|
|
|
|
uni.addInterceptor("navigateTo", {
|
|
|
|
|
invoke(args) {
|
|
|
|
|
// console.log("navigateTo 跳转前", args);
|
|
|
|
|
console.log("navigateTo 跳转前", args);
|
|
|
|
|
that.G.watchUserPage(args.url);
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
@ -83,7 +83,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uni.$on("isGlogin", function (data) {
|
|
|
|
|
// console.log("app.vue 接收", data);
|
|
|
|
|
console.log("app.vue 接收", data);
|
|
|
|
|
if (uni.getStorageSync("apply-uid")) {
|
|
|
|
|
that.initWyyx();
|
|
|
|
|
}
|
|
|
|
|
@ -91,7 +91,7 @@ export default {
|
|
|
|
|
|
|
|
|
|
// 应用从后台返回时检查连接
|
|
|
|
|
if (uni.getStorageSync("apply-token")) {
|
|
|
|
|
// console.log("app.vue 检查IM连接状态");
|
|
|
|
|
console.log("app.vue 检查IM连接状态");
|
|
|
|
|
that.checkAndReconnectIM();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
@ -102,9 +102,9 @@ export default {
|
|
|
|
|
// 发送一次心跳包
|
|
|
|
|
if (uni.$UIKitNIM && uni.$UIKitNIM.V2NIMLoginService) {
|
|
|
|
|
uni.$UIKitNIM.V2NIMLoginService.ping().then(() => {
|
|
|
|
|
// console.log("后台心跳发送成功");
|
|
|
|
|
console.log("后台心跳发送成功");
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
// console.error("后台心跳发送失败,准备重连", err);
|
|
|
|
|
console.error("后台心跳发送失败,准备重连", err);
|
|
|
|
|
this.reconnectIM();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -130,7 +130,7 @@ export default {
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
if (uni.$UIKitNIM && uni.$UIKitStore) {
|
|
|
|
|
const connectStatus = uni.$UIKitStore.connectStore.connectStatus;
|
|
|
|
|
// console.log('当前IM连接状态:', connectStatus);
|
|
|
|
|
console.log('当前IM连接状态:', connectStatus);
|
|
|
|
|
|
|
|
|
|
// 连接状态码:
|
|
|
|
|
// 0: 初始状态
|
|
|
|
|
@ -138,11 +138,11 @@ export default {
|
|
|
|
|
// 2: 已连接
|
|
|
|
|
// 3: 连接中
|
|
|
|
|
if (connectStatus !== 2 && connectStatus !== 3) {
|
|
|
|
|
// console.log("IM连接已断开,尝试重连...");
|
|
|
|
|
console.log("IM连接已断开,尝试重连...");
|
|
|
|
|
that.reconnectIM();
|
|
|
|
|
}
|
|
|
|
|
} else if (uni.getStorageSync("apply-token") && uni.getStorageSync("apply-uid")) {
|
|
|
|
|
// console.log("IM SDK未初始化,重新初始化...");
|
|
|
|
|
console.log("IM SDK未初始化,重新初始化...");
|
|
|
|
|
that.initWyyx();
|
|
|
|
|
}
|
|
|
|
|
}, 1000);
|
|
|
|
|
@ -154,14 +154,14 @@ export default {
|
|
|
|
|
|
|
|
|
|
// 如果已经在重连中,则不再重复发起
|
|
|
|
|
if (this.globalData.reconnectTimer) {
|
|
|
|
|
// console.log("正在重连中,无需重复操作");
|
|
|
|
|
console.log("正在重连中,无需重复操作");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 尝试重连
|
|
|
|
|
const attemptReconnect = () => {
|
|
|
|
|
if (!uni.getStorageSync("apply-token") || !uni.getStorageSync("apply-uid")) {
|
|
|
|
|
// console.log("用户未登录,停止重连");
|
|
|
|
|
console.log("用户未登录,停止重连");
|
|
|
|
|
clearInterval(that.globalData.reconnectTimer);
|
|
|
|
|
that.globalData.reconnectTimer = null;
|
|
|
|
|
return;
|
|
|
|
|
@ -175,15 +175,15 @@ export default {
|
|
|
|
|
console.log(`尝试重连IM (account: ${account})`);
|
|
|
|
|
uni.$UIKitNIM.V2NIMLoginService.login(account, token)
|
|
|
|
|
.then(() => {
|
|
|
|
|
// console.log("IM重连成功");
|
|
|
|
|
console.log("IM重连成功");
|
|
|
|
|
clearInterval(that.globalData.reconnectTimer);
|
|
|
|
|
that.globalData.reconnectTimer = null;
|
|
|
|
|
})
|
|
|
|
|
.catch((error) => {
|
|
|
|
|
// console.error("IM重连失败,将再次尝试", error);
|
|
|
|
|
console.error("IM重连失败,将再次尝试", error);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
// console.log("重连信息不全,重新初始化IM");
|
|
|
|
|
console.log("重连信息不全,重新初始化IM");
|
|
|
|
|
that.initWyyx();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
@ -200,7 +200,7 @@ export default {
|
|
|
|
|
this.globalData.reconnectTimer = setInterval(() => {
|
|
|
|
|
reconnectAttempts++;
|
|
|
|
|
if (reconnectAttempts >= 10) {
|
|
|
|
|
// console.log("重连尝试次数已达上限,停止重连");
|
|
|
|
|
console.log("重连尝试次数已达上限,停止重连");
|
|
|
|
|
clearInterval(that.globalData.reconnectTimer);
|
|
|
|
|
that.globalData.reconnectTimer = null;
|
|
|
|
|
return;
|
|
|
|
|
@ -385,7 +385,7 @@ export default {
|
|
|
|
|
// 登录IM
|
|
|
|
|
nim.V2NIMLoginService.login(opts.account, opts.token)
|
|
|
|
|
.then(() => {
|
|
|
|
|
// console.log("IM登录成功");
|
|
|
|
|
console.log("IM登录成功");
|
|
|
|
|
// 清除重连定时器
|
|
|
|
|
if (that.globalData.reconnectTimer) {
|
|
|
|
|
clearInterval(that.globalData.reconnectTimer);
|
|
|
|
|
@ -393,18 +393,18 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch((error) => {
|
|
|
|
|
// console.error("IM登录失败", error);
|
|
|
|
|
console.error("IM登录失败", error);
|
|
|
|
|
// 登录失败时启动重连机制
|
|
|
|
|
that.reconnectIM();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 监听会话变化
|
|
|
|
|
nim.V2NIMConversationService.on("onConversationChanged", function (conversationList: V2NIMConversation[]) {
|
|
|
|
|
// console.log("初始化监听会话:", conversationList);
|
|
|
|
|
console.log("初始化监听会话:", conversationList);
|
|
|
|
|
let unreadConversations = conversationList.filter((item) => {
|
|
|
|
|
return Number(item.unreadCount) > 0;
|
|
|
|
|
});
|
|
|
|
|
// console.log("未读会话数量:", unreadConversations.length);
|
|
|
|
|
console.log("未读会话数量:", unreadConversations.length);
|
|
|
|
|
if (unreadConversations.length > 0) {
|
|
|
|
|
that.playAudio();
|
|
|
|
|
}
|
|
|
|
|
|