no message
This commit is contained in:
parent
c53149c3d5
commit
1058af4f84
@ -1,6 +1,6 @@
|
|||||||
// SCSS 变量定义
|
// SCSS 变量定义
|
||||||
$font-size-text: 28rpx;
|
$font-size-text: 30rpx;
|
||||||
$font-size-tip: 24rpx;
|
$font-size-tip: 28rpx;
|
||||||
$font-size-title: 32rpx;
|
$font-size-title: 32rpx;
|
||||||
$text-color-sub: #999;
|
$text-color-sub: #999;
|
||||||
$primary-color: #0877F1;
|
$primary-color: #0877F1;
|
||||||
@ -356,7 +356,7 @@ $primary-color: #0877F1;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.message-text {
|
.message-text {
|
||||||
font-size: $font-size-text;
|
font-size: 30rpx;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
|||||||
@ -110,22 +110,12 @@ const initIM = async () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (!isIMInitialized.value) {
|
if (!isIMInitialized.value) {
|
||||||
uni.showLoading({
|
|
||||||
title: "连接中...",
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log("开始调用 initIMAfterLogin");
|
console.log("开始调用 initIMAfterLogin");
|
||||||
const success = await initIMAfterLogin();
|
const success = await initIMAfterLogin();
|
||||||
console.log("initIMAfterLogin 返回:", success);
|
console.log("initIMAfterLogin 返回:", success);
|
||||||
|
|
||||||
uni.hideLoading();
|
|
||||||
|
|
||||||
if (!success) {
|
if (!success) {
|
||||||
console.error("initIMAfterLogin 失败");
|
console.log("initIMAfterLogin 失败,跳过 IM 初始化");
|
||||||
uni.showToast({
|
|
||||||
title: "IM连接失败,请重试",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,14 +131,10 @@ const initIM = async () => {
|
|||||||
);
|
);
|
||||||
} else if (globalTimChatManager && !globalTimChatManager.isLoggedIn) {
|
} else if (globalTimChatManager && !globalTimChatManager.isLoggedIn) {
|
||||||
console.log("IM 已初始化但未登录,尝试重连");
|
console.log("IM 已初始化但未登录,尝试重连");
|
||||||
uni.showLoading({
|
|
||||||
title: "重连中...",
|
|
||||||
});
|
|
||||||
const reconnected = await globalTimChatManager.ensureIMConnection();
|
const reconnected = await globalTimChatManager.ensureIMConnection();
|
||||||
uni.hideLoading();
|
|
||||||
|
|
||||||
if (!reconnected) {
|
if (!reconnected) {
|
||||||
console.error("重连失败");
|
console.log("重连失败");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -167,19 +153,22 @@ const loadConversationList = async () => {
|
|||||||
|
|
||||||
// 验证 IM 管理器和 TIM 实例是否存在
|
// 验证 IM 管理器和 TIM 实例是否存在
|
||||||
if (!globalTimChatManager) {
|
if (!globalTimChatManager) {
|
||||||
throw new Error("IM管理器未初始化");
|
console.log("IM管理器未初始化,跳过加载");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!globalTimChatManager.tim) {
|
if (!globalTimChatManager.tim) {
|
||||||
console.error("TIM实例不存在,尝试重新初始化");
|
console.log("TIM实例不存在,尝试重新初始化");
|
||||||
const imReady = await initIM();
|
const imReady = await initIM();
|
||||||
if (!imReady || !globalTimChatManager.tim) {
|
if (!imReady || !globalTimChatManager.tim) {
|
||||||
throw new Error("TIM实例初始化失败");
|
console.log("TIM实例初始化失败,跳过加载");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!globalTimChatManager.getGroupList) {
|
if (!globalTimChatManager.getGroupList) {
|
||||||
throw new Error("getGroupList 方法不存在");
|
console.log("getGroupList 方法不存在,跳过加载");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 直接调用getGroupList,它会自动等待SDK就绪
|
// 直接调用getGroupList,它会自动等待SDK就绪
|
||||||
@ -198,18 +187,10 @@ const loadConversationList = async () => {
|
|||||||
// 加载所有群聊的头像
|
// 加载所有群聊的头像
|
||||||
await loadGroupAvatars(conversationList.value);
|
await loadGroupAvatars(conversationList.value);
|
||||||
} else {
|
} else {
|
||||||
console.error("加载群聊列表失败:", result);
|
console.log("加载群聊列表失败或返回数据为空");
|
||||||
uni.showToast({
|
|
||||||
title: "加载失败,请重试",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("加载会话列表失败:", error);
|
console.log("加载会话列表异常:", error.message);
|
||||||
uni.showToast({
|
|
||||||
title: error.message || "加载失败,请重试",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
}
|
}
|
||||||
@ -466,17 +447,15 @@ onShow(async () => {
|
|||||||
|
|
||||||
// 初始化IM
|
// 初始化IM
|
||||||
const imReady = await initIM();
|
const imReady = await initIM();
|
||||||
if (!imReady) initIMAfterLogin();
|
if (!imReady) {
|
||||||
|
console.log("IM初始化失败,继续加载列表");
|
||||||
|
}
|
||||||
// 先加载初始会话列表
|
// 先加载初始会话列表
|
||||||
await loadConversationList();
|
await loadConversationList();
|
||||||
// 再设置监听器,后续通过事件更新列表
|
// 再设置监听器,后续通过事件更新列表
|
||||||
setupConversationListener();
|
setupConversationListener();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("页面初始化失败:", error);
|
console.log("页面初始化异常:", error.message);
|
||||||
uni.showToast({
|
|
||||||
title: error.message || "初始化失败,请重试",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -58,7 +58,7 @@ export default defineStore("accountStore", () => {
|
|||||||
// 使用 openid 作为 userID 初始化 IM
|
// 使用 openid 作为 userID 初始化 IM
|
||||||
const userID = openid.value || uni.getStorageSync('openid');
|
const userID = openid.value || uni.getStorageSync('openid');
|
||||||
if (!userID) {
|
if (!userID) {
|
||||||
console.error('无法获取 openid,IM 初始化失败');
|
console.log('未获取到有效的 userId,跳过 IM 初始化');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,13 +66,13 @@ export default defineStore("accountStore", () => {
|
|||||||
const success = await initGlobalTIM(userID);
|
const success = await initGlobalTIM(userID);
|
||||||
|
|
||||||
if (!success) {
|
if (!success) {
|
||||||
console.error('initGlobalTIM 返回失败');
|
console.log('initGlobalTIM 返回失败,跳过 IM 初始化');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验证 TIM 实例是否真正创建成功
|
// 验证 TIM 实例是否真正创建成功
|
||||||
if (!globalTimChatManager || !globalTimChatManager.tim) {
|
if (!globalTimChatManager || !globalTimChatManager.tim) {
|
||||||
console.error('IM 初始化后 TIM 实例不存在');
|
console.log('IM 初始化后 TIM 实例不存在,跳过 IM 初始化');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ export default defineStore("accountStore", () => {
|
|||||||
console.log('IM 初始化成功');
|
console.log('IM 初始化成功');
|
||||||
return true;
|
return true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('IM初始化失败:', error);
|
console.log('IM初始化异常,跳过 IM 初始化:', error.message);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -193,7 +193,12 @@ class TimChatManager {
|
|||||||
|
|
||||||
// 获取用户信息并登录
|
// 获取用户信息并登录
|
||||||
console.log('开始获取用户信息并登录...')
|
console.log('开始获取用户信息并登录...')
|
||||||
await this.getUserInfoAndLogin(userID)
|
const loginSuccess = await this.getUserInfoAndLogin(userID)
|
||||||
|
if (!loginSuccess) {
|
||||||
|
console.log('获取用户信息失败,跳过 IM 初始化')
|
||||||
|
await this.cleanupOldInstance()
|
||||||
|
return false
|
||||||
|
}
|
||||||
console.log('用户信息获取并登录成功')
|
console.log('用户信息获取并登录成功')
|
||||||
|
|
||||||
// 等待SDK Ready
|
// 等待SDK Ready
|
||||||
@ -206,11 +211,7 @@ class TimChatManager {
|
|||||||
return true
|
return true
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('=== IM初始化失败 ===', error)
|
console.log('=== IM初始化异常 ===', error.message)
|
||||||
console.error('错误详情:', error.message || error)
|
|
||||||
console.error('错误堆栈:', error.stack)
|
|
||||||
this.triggerCallback('onError', `初始化失败: ${error.message || error}`)
|
|
||||||
|
|
||||||
// 初始化失败时清理资源
|
// 初始化失败时清理资源
|
||||||
console.log('初始化失败,开始清理资源...')
|
console.log('初始化失败,开始清理资源...')
|
||||||
await this.cleanupOldInstance()
|
await this.cleanupOldInstance()
|
||||||
@ -390,7 +391,8 @@ class TimChatManager {
|
|||||||
console.log('本地存储的 userInfo:', userInfo)
|
console.log('本地存储的 userInfo:', userInfo)
|
||||||
|
|
||||||
if (!userInfo?.userID) {
|
if (!userInfo?.userID) {
|
||||||
throw new Error('未找到用户信息,请先登录')
|
console.log('未找到用户信息,跳过 IM 初始化')
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
this.currentUserID = userInfo.userID
|
this.currentUserID = userInfo.userID
|
||||||
console.log('从本地存储获取到 userID:', this.currentUserID)
|
console.log('从本地存储获取到 userID:', this.currentUserID)
|
||||||
@ -403,11 +405,10 @@ class TimChatManager {
|
|||||||
console.log('开始登录 TIM...')
|
console.log('开始登录 TIM...')
|
||||||
await this.loginTIM()
|
await this.loginTIM()
|
||||||
console.log('TIM 登录成功')
|
console.log('TIM 登录成功')
|
||||||
|
return true
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('获取用户信息失败:', error)
|
console.log('获取用户信息异常:', error.message)
|
||||||
console.error('错误详情:', error.message || error)
|
return false
|
||||||
this.triggerCallback('onError', `登录失败: ${error.message || error}`)
|
|
||||||
throw error // 重新抛出错误,让调用者知道登录失败
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user