From 11da27975ce2fa1a8ef926c23b423d6737fd75d4 Mon Sep 17 00:00:00 2001
From: wangdongbo <949818794@qq.com>
Date: Thu, 29 Jan 2026 10:43:06 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App.vue | 17 +-
hooks/useGuard.js | 1 +
pages.json | 27 ++-
pages/message/message.vue | 316 ++++++++++++++++++++++++++++-------
routes/index.js | 16 +-
store/account.js | 31 +++-
utils/api.js | 5 +-
utils/conversation-merger.js | 212 +++++++++++++++++++++++
8 files changed, 527 insertions(+), 98 deletions(-)
create mode 100644 utils/conversation-merger.js
diff --git a/App.vue b/App.vue
index 9fedd72..973d67f 100644
--- a/App.vue
+++ b/App.vue
@@ -5,9 +5,20 @@ import { globalTimChatManager } from "@/utils/tim-chat.js";
export default {
onLaunch: function () {
// 需在 pinia 安装后再获取 store,避免 getActivePinia 报错
- const { login } = useAccountStore();
- login();
- console.log("App Launch: ");
+ const { account, login, initIMAfterLogin } = useAccountStore();
+
+ // 如果已有缓存的账户信息,尝试初始化 IM,否则重新登录
+ if (account && account.openid) {
+ console.log("App Launch: 已有登录信息,初始化 IM");
+ initIMAfterLogin().catch(err => {
+ console.error('IM初始化失败:', err);
+ });
+ } else {
+ console.log("App Launch: 无登录信息,开始登录");
+ login().catch(err => {
+ console.error('自动登录失败:', err);
+ });
+ }
},
onShow: function () {
console.log("App Show");
diff --git a/hooks/useGuard.js b/hooks/useGuard.js
index 4dffd6f..3460047 100644
--- a/hooks/useGuard.js
+++ b/hooks/useGuard.js
@@ -25,6 +25,7 @@ export default function useGuard() {
const onShowOptions = ref({})
function toLoginPage(options, path) {
+
const params = Object.keys(options).map(key => `${key}=${options[key]}`).join('&');
const redirectUrl = encodeURIComponent(`${path}?${params}`);
uni.redirectTo({
diff --git a/pages.json b/pages.json
index 1fd776c..f0cb7a0 100644
--- a/pages.json
+++ b/pages.json
@@ -1,22 +1,9 @@
{
"pages": [
- {
- "path": "pages/login/login",
- "style": {
- "navigationBarTitleText": "登录"
- }
- },
- {
- "path": "pages/login/redirect-page",
- "style": {
- "navigationBarTitleText": "登录"
- }
- },
{
"path": "pages/message/message",
"style": {
- "navigationBarTitleText": "消息",
- "navigationStyle": "custom"
+ "navigationBarTitleText": "消息"
}
},
{
@@ -211,6 +198,18 @@
"style": {
"navigationBarTitleText": "上传证照"
}
+ },
+ {
+ "path": "pages/login/login",
+ "style": {
+ "navigationBarTitleText": "登录"
+ }
+ },
+ {
+ "path": "pages/login/redirect-page",
+ "style": {
+ "navigationBarTitleText": "登录"
+ }
}
],
"globalStyle": {
diff --git a/pages/message/message.vue b/pages/message/message.vue
index 5a18dd7..f7b4ec6 100644
--- a/pages/message/message.vue
+++ b/pages/message/message.vue
@@ -1,5 +1,25 @@
+
+
+
+ 处理中
+
+
+
+ 已结束
+
+
+
+
@@ -31,7 +51,15 @@