diff --git a/deploy/im-web-8023.nginx.conf b/deploy/im-web-8023.nginx.conf
index e9a544f..7fd219e 100644
--- a/deploy/im-web-8023.nginx.conf
+++ b/deploy/im-web-8023.nginx.conf
@@ -6,6 +6,10 @@ server {
root /var/www/im-web;
index index.html;
client_max_body_size 100m;
+ gzip on;
+ gzip_vary on;
+ gzip_min_length 1024;
+ gzip_types application/json;
location = / {
try_files /index.html =404;
@@ -18,6 +22,13 @@ server {
add_header Cache-Control "no-store";
}
+ location = /api/media_proxy.php {
+ include snippets/fastcgi-php.conf;
+ fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/www/im-web/:/tmp/";
+ fastcgi_pass unix:/run/php/php8.3-fpm.sock;
+ fastcgi_read_timeout 300;
+ }
+
location ~ ^/api/.+\.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/www/im-web/:/tmp/";
diff --git a/dist/api/messages.php b/dist/api/messages.php
index a3feffe..72e5892 100644
--- a/dist/api/messages.php
+++ b/dist/api/messages.php
@@ -1521,11 +1521,27 @@ function loadRecentConversations(PDO $db, string $userId, int $limit): array
return array_slice($conversations, 0, $limit);
}
+function messageSyncResult(
+ PDO $db,
+ string $userId,
+ array $messages,
+ bool $includeConversations,
+ int $limit
+): array {
+ $result = ['messages' => $messages];
+ if ($includeConversations) {
+ $result['conversations'] = loadRecentConversations($db, $userId, $limit);
+ }
+
+ return $result;
+}
+
$payload = readJsonPayload();
$userId = trim((string)($payload['userId'] ?? ''));
$target = trim((string)($payload['target'] ?? ''));
$limit = clampLimit($payload['limit'] ?? 50, 50, 100);
$markRead = payloadBool($payload['markRead'] ?? false);
+$includeConversations = payloadBool($payload['includeConversations'] ?? false);
$conversationType = normalizeConversationType($payload['conversationType'] ?? $payload['type'] ?? 0);
if ($userId === '') {
@@ -1540,28 +1556,48 @@ try {
if ($target !== '') {
if ($conversationType === 'group') {
if (isWebGroupTarget(imAppDb(), $target)) {
- respond(0, 'success', [
- 'messages' => loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
if (isNativeGroupTarget($db, $target)) {
- respond(0, 'success', [
- 'messages' => loadNativeGroupMessages($db, $userId, $target, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadNativeGroupMessages($db, $userId, $target, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
- respond(0, 'success', [
- 'messages' => [],
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ [],
+ $includeConversations,
+ $limit
+ ));
}
if (isWebGroupTarget(imAppDb(), $target)) {
- respond(0, 'success', [
- 'messages' => loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
$targetId = resolveUserId($db, $target);
- respond(0, 'success', [
- 'messages' => loadConversationMessages($db, $userId, $targetId, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadConversationMessages($db, $userId, $targetId, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
respond(0, 'success', [
diff --git a/dist/index.html b/dist/index.html
index 1b4b4bc..2e4ebf9 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -1 +1 @@
-
Web IM
\ No newline at end of file
+Web IM
\ No newline at end of file
diff --git a/dist/js/app.a89973f7.js b/dist/js/app.631b8b2d.js
similarity index 99%
rename from dist/js/app.a89973f7.js
rename to dist/js/app.631b8b2d.js
index 264a3da..3efb9f9 100644
--- a/dist/js/app.a89973f7.js
+++ b/dist/js/app.631b8b2d.js
@@ -6281,7 +6281,8 @@ class HttpImClient {
target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),
limit,
conversationType: conversation.type || conversation.raw?.type || 0,
- markRead: Boolean(options.markRead)
+ markRead: Boolean(options.markRead),
+ includeConversations: Boolean(options.includeConversations)
}, {
withCredentials: false
});
@@ -6293,6 +6294,19 @@ class HttpImClient {
displayTimestamp: message.displayTimestamp || message.timestamp,
conversationId: conversation.id
}));
+ if (options.includeConversations && Array.isArray(response.data?.result?.conversations)) {
+ const remoteConversations = response.data.result.conversations.map(remoteConversation => ({
+ ...remoteConversation,
+ updatedAt: Number(remoteConversation.updatedAt || Date.now()),
+ avatarText: remoteConversation.avatarText || String(remoteConversation.title || remoteConversation.target || '?').slice(0, 1).toUpperCase(),
+ raw: remoteConversation.raw || {
+ type: 'single',
+ target: remoteConversation.target,
+ line: 0
+ }
+ }));
+ this.emit('conversationsChanged', remoteConversations);
+ }
const userId = this.currentUser?.userId || '';
const messagesByConversation = readLocalMessages(userId);
messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId);
@@ -8015,6 +8029,7 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
readPresenceEventsBound: false,
syncInFlight: false,
pendingReadReceiptConversationId: '',
+ pendingConversationSync: false,
conversationSyncInFlight: false,
messageSyncTimer: null,
messageSyncQueuedAt: 0,
@@ -8126,6 +8141,7 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
this.syncInFlight = false;
this.conversationSyncInFlight = false;
this.pendingReadReceiptConversationId = '';
+ this.pendingConversationSync = false;
this.lastReadSyncByConversation = {};
this.activeId = '';
this.conversations = [];
@@ -8560,6 +8576,9 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
if (wantsReadReceipt) {
this.pendingReadReceiptConversationId = conversation.id;
}
+ if (options.includeConversations) {
+ this.pendingConversationSync = true;
+ }
return;
}
this.syncInFlight = true;
@@ -8567,7 +8586,8 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
const previousMessages = this.messagesByConversation[syncedConversationId] || [];
try {
const messages = await _services_imClient__WEBPACK_IMPORTED_MODULE_20__/* .imClient */ .wD.fetchRemoteMessages(conversation, 50, {
- markRead
+ markRead,
+ includeConversations: Boolean(options.includeConversations)
});
if (markRead) {
this.lastReadSyncByConversation = {
@@ -8608,10 +8628,13 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
// Keep the local view usable if a polling request misses.
} finally {
this.syncInFlight = false;
- if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) {
+ if ((this.pendingReadReceiptConversationId === this.activeId || this.pendingConversationSync) && canMarkReadNow()) {
+ const includeConversations = this.pendingConversationSync;
this.pendingReadReceiptConversationId = '';
+ this.pendingConversationSync = false;
this.scheduleActiveMessagesSync({
- allowReadReceipt: true
+ allowReadReceipt: true,
+ includeConversations
}, 700);
}
}
@@ -8627,7 +8650,8 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
this.pendingMessageSyncOptions = {
...this.pendingMessageSyncOptions,
allowReadReceipt: Boolean(this.pendingMessageSyncOptions.allowReadReceipt || options.allowReadReceipt),
- userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction)
+ userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction),
+ includeConversations: Boolean(this.pendingMessageSyncOptions.includeConversations || options.includeConversations)
};
const maxWait = 1200;
const runAt = Math.min(now + Math.max(0, Number(delay) || 0), this.messageSyncQueuedAt + maxWait);
@@ -8664,11 +8688,13 @@ const useConversationStore = (0,pinia__WEBPACK_IMPORTED_MODULE_19__/* .defineSto
}
window.clearTimeout(this.realtimeSyncTimer);
this.realtimeSyncTimer = window.setTimeout(() => {
- this.refreshRemoteConversations();
if (this.activeId) {
this.scheduleActiveMessagesSync({
- allowReadReceipt: canMarkReadNow()
+ allowReadReceipt: canMarkReadNow(),
+ includeConversations: true
}, 700);
+ } else {
+ this.refreshRemoteConversations();
}
}, 500);
},
@@ -9874,4 +9900,4 @@ const __exports__ = _NavigationRail_vue_vue_type_script_setup_true_lang_js__WEBP
/******/
/******/ })()
;
-//# sourceMappingURL=app.a89973f7.js.map
\ No newline at end of file
+//# sourceMappingURL=app.631b8b2d.js.map
\ No newline at end of file
diff --git a/dist/js/app.631b8b2d.js.map b/dist/js/app.631b8b2d.js.map
new file mode 100644
index 0000000..23e2842
--- /dev/null
+++ b/dist/js/app.631b8b2d.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/app.631b8b2d.js","mappings":"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","sources":["webpack://jc-web-im/./src/App.vue","webpack://jc-web-im/./src/components/ChatShell.vue","webpack://jc-web-im/./src/components/LoginView.vue","webpack://jc-web-im/./src/components/chat/ChatPanel.vue","webpack://jc-web-im/./src/components/chat/MessageComposer.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue","webpack://jc-web-im/./src/config.js","webpack://jc-web-im/./src/main.js","webpack://jc-web-im/./src/services/httpImClient.js","webpack://jc-web-im/./src/services/imClient.js","webpack://jc-web-im/./src/services/longConnectionImClient.js","webpack://jc-web-im/./src/services/mediaProxy.js","webpack://jc-web-im/./src/services/realtimeNotifications.js","webpack://jc-web-im/./src/stores/contacts.js","webpack://jc-web-im/./src/stores/conversations.js","webpack://jc-web-im/./src/stores/navigation.js","webpack://jc-web-im/./src/stores/session.js","webpack://jc-web-im/./src/App.vue?7ccd","webpack://jc-web-im/./src/components/ChatShell.vue?96ef","webpack://jc-web-im/./src/components/LoginView.vue?3311","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?ffa3","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?d45c","webpack://jc-web-im/./src/components/chat/MessageList.vue?73ad","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?11f7","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?7e83","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?9ce0","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?8b7f","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?8a4a","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?e8e6","webpack://jc-web-im/./src/App.vue?455b","webpack://jc-web-im/./src/components/ChatShell.vue?ef53","webpack://jc-web-im/./src/components/LoginView.vue?f595","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?402c","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?bb22","webpack://jc-web-im/./src/components/chat/MessageList.vue?c1a2","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?96e0","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?bdf3","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?ee85","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?dff0","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?0914","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?c3d8","webpack://jc-web-im/webpack/bootstrap","webpack://jc-web-im/webpack/runtime/chunk loaded","webpack://jc-web-im/webpack/runtime/compat get default export","webpack://jc-web-im/webpack/runtime/define property getters","webpack://jc-web-im/webpack/runtime/global","webpack://jc-web-im/webpack/runtime/hasOwnProperty shorthand","webpack://jc-web-im/webpack/runtime/make namespace object","webpack://jc-web-im/webpack/runtime/set anonymous default export name","webpack://jc-web-im/webpack/runtime/jsonp chunk loading","webpack://jc-web-im/webpack/before-startup","webpack://jc-web-im/webpack/startup","webpack://jc-web-im/webpack/after-startup"],"sourcesContent":["\n \n \n\n\n\n","\n \n \n \n \n \n \n \n \n \n\n\n\n","\n \n \n \n
![]()
\n
\n
{{ platformName }}
\n
连接既有授权 IM 服务的新版 Web 客户端
\n
\n
\n\n \n\n \n\n \n\n \n \n \n \n\n\n\n","\n \n \n\n \n 选择一个会话\n 真实会话同步完成后,可以在左侧打开聊天\n
\n \n \n 已选 {{ conversations.selectedMessageIds.length }} 条\n \n \n \n \n
\n \n \n \n \n \n \n
\n \n \n
\n \n
\n \n 正在加载
\n \n \n \n
- 发送时间
\n - {{ formatDetailTime(messageDetail?.sentAt) }}
\n \n \n
- 编辑时间
\n - {{ formatDetailTime(messageDetail.editedAt) }}
\n \n \n
- 发送人
\n - {{ detailMemberName(messageDetail?.sender) }}
\n \n \n \n
- 接收人
\n - {{ detailMemberName(messageDetail?.receiver) }}
\n \n \n
- 送达时间
\n - \n {{ messageDetail?.deliveredAt ? formatDetailTime(messageDetail.deliveredAt) : '未送达' }}\n
\n \n \n
- 已读时间
\n - \n {{ messageDetail?.readAt ? formatDetailTime(messageDetail.readAt) : '未读' }}\n
\n \n \n
\n {{ conversations.messageDetailError }}\n \n \n 已读 {{ messageDetailCounts.read || 0 }}\n 未读 {{ messageDetailCounts.unread || 0 }}\n 未送达 {{ messageDetailCounts.undelivered || 0 }}\n 成员 {{ messageDetailCounts.total || 0 }}\n
\n \n
\n \n 已读\n {{ messageDetailCounts.read || 0 }} 人\n \n \n
\n
![\"\"]()
\n
{{ detailMemberAvatar(member) }}\n
\n {{ detailMemberName(member) }}\n {{ member.uid }}\n \n
{{ formatDetailTime(member.time) }}\n
{{ detailRoleLabel(member.role) }}\n
\n
\n 暂无已读成员
\n \n\n
\n \n 未读\n {{ messageDetailCounts.unread || 0 }} 人\n \n \n
\n
![\"\"]()
\n
{{ detailMemberAvatar(member) }}\n
\n {{ detailMemberName(member) }}\n {{ member.uid }}\n \n
送达 {{ formatDetailTime(member.time) }}\n
{{ detailRoleLabel(member.role) }}\n
\n
\n 暂无未读成员
\n \n\n
\n \n 未送达\n {{ messageDetailCounts.undelivered || 0 }} 人\n \n \n
\n
![\"\"]()
\n
{{ detailMemberAvatar(member) }}\n
\n {{ detailMemberName(member) }}\n {{ member.uid }}\n \n
未送达\n
{{ detailRoleLabel(member.role) }}\n
\n
\n 暂无未送达成员
\n \n
\n \n \n \n
\n \n
\n \n \n
![\"\"]()
\n
{{ singleProfile.avatarText }}
\n
{{ singleProfile.displayName }}\n
\n \n \n
- 用户ID
\n - {{ singleProfile.uid || '-' }}
\n \n \n
- 昵称
\n - {{ singleProfile.rawName || '-' }}
\n \n \n
- 手机号
\n - {{ singleProfile.mobile || '未知' }}
\n \n \n
- 地区
\n - {{ singleProfile.address || '未知' }}
\n \n
\n \n \n \n
\n \n
\n \n 正在加载
\n \n \n
- 群名
\n - {{ groupDetail?.name || activeConversation?.title || '-' }}
\n \n \n
- 群ID
\n - {{ groupDetail?.groupId || activeConversation?.target || '-' }}
\n \n \n
- 群说明
\n - {{ groupDetail?.announcement || '未设置' }}
\n \n \n
- 群主昵称
\n - {{ groupDetail?.ownerName || '-' }}
\n \n
\n \n \n\n
\n \n 正在加载
\n \n
\n
![\"\"]()
\n
{{ memberAvatar(member) }}\n
\n {{ member.displayName }}\n \n {{ detailRoleLabel(member.role) }}\n \n {{ member.rawDisplayName }}\n \n
\n
暂无群员
\n
\n \n\n
\n\n
\n \n 正在加载
\n \n
\n
暂无可转让成员
\n
\n \n \n\n
\n \n \n\n 正在加载
\n\n \n \n
\n
暂无可设置成员
\n
\n \n \n\n \n\n \n \n
\n
暂无可移除成员
\n
\n \n \n\n \n \n
\n \n {{ conversations.actionError || conversations.actionNotice }}\n
\n \n\n\n\n","\n \n\n\n\n","\n \n
\n \n \n \n
\n
\n
\n \n \n
\n \n
\n
\n {{ imageViewer.name || '图片' }}\n \n \n \n \n \n \n
\n
1 }\"\n @wheel.prevent=\"handleImageWheel\"\n @pointerdown.prevent=\"startImageDrag\"\n >\n
![]()
\n
\n
\n
\n \n
\n \n
\n \n \n
![\"\"]()
\n
{{ senderProfile.avatarText }}
\n
{{ senderProfile.displayName || senderProfile.uid }}\n
{{ senderProfile.roleLabel }}\n
\n \n \n
- 用户ID
\n - {{ senderProfile.uid || '-' }}
\n \n \n
- 昵称
\n - {{ senderProfile.rawName || senderProfile.displayName || '-' }}
\n \n \n
- 手机号
\n - {{ senderProfile.mobile || '未知' }}
\n \n \n
- 地区
\n - {{ senderProfile.address || '未知' }}
\n \n
\n \n \n \n
\n \n
\n\n\n\n","\n \n\n\n\n","\n \n\n\n\n","\n \n \n \n \n
\n
★\n
\n
\n
\n
\n {{ notice }}\n {{ error }}\n \n \n \n
\n
\n \n \n 暂无收藏消息\n 右键消息气泡选择“收藏”后,会显示在这里\n
\n \n\n\n\n","\n \n\n\n\n","\n \n\n\n\n","\n \n\n \n\n \n\n \n
\n \n 头像预览\n \n \n \n \n \n
\n \n \n
![\"头像预览\"\n]()
\n
\n \n
\n\n \n\n\n\n","const currentHost = window.location.hostname || '127.0.0.1';\nconst runtimeConfig = window.JC_WEB_IM_CONFIG || {};\nconst appServerOrigin = `${window.location.protocol}//${currentHost}:18888`;\nconst adminServerOrigin = `${window.location.protocol}//${currentHost}:8024`;\n\nexport const appConfig = {\n appName: 'Web IM',\n adminServer: runtimeConfig.adminServer || process.env.VUE_APP_ADMIN_SERVER || adminServerOrigin,\n appServer: runtimeConfig.appServer || process.env.VUE_APP_APP_SERVER || appServerOrigin,\n platformConfigApi: runtimeConfig.platformConfigApi || process.env.VUE_APP_PLATFORM_CONFIG_API || (process.env.NODE_ENV === 'development' ? '/local-api/platform_config.php' : '/api/platform_config.php'),\n registerConfigApi: runtimeConfig.registerConfigApi || process.env.VUE_APP_REGISTER_CONFIG_API || `${adminServerOrigin}/api/register-config`,\n registerPhoneExistsApi: runtimeConfig.registerPhoneExistsApi || process.env.VUE_APP_REGISTER_PHONE_EXISTS_API || `${adminServerOrigin}/api/register-phone-exists`,\n contactsApi: runtimeConfig.contactsApi || process.env.VUE_APP_CONTACTS_API || (process.env.NODE_ENV === 'development' ? '/local-api/contacts.php' : '/api/contacts.php'),\n updateAliasApi: runtimeConfig.updateAliasApi || process.env.VUE_APP_UPDATE_ALIAS_API || (process.env.NODE_ENV === 'development' ? '/local-api/update_alias.php' : '/api/update_alias.php'),\n addContactApi: runtimeConfig.addContactApi || process.env.VUE_APP_ADD_CONTACT_API || (process.env.NODE_ENV === 'development' ? '/local-api/add_contact.php' : '/api/add_contact.php'),\n conversationActionsApi: runtimeConfig.conversationActionsApi || process.env.VUE_APP_CONVERSATION_ACTIONS_API || (process.env.NODE_ENV === 'development' ? '/local-api/conversation_actions.php' : '/api/conversation_actions.php'),\n sendMessageApi: runtimeConfig.sendMessageApi || process.env.VUE_APP_SEND_MESSAGE_API || (process.env.NODE_ENV === 'development' ? '/local-api/send_message.php' : '/api/send_message.php'),\n messageActionApi: runtimeConfig.messageActionApi || process.env.VUE_APP_MESSAGE_ACTION_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_action.php' : '/api/message_action.php'),\n messageDetailApi: runtimeConfig.messageDetailApi || process.env.VUE_APP_MESSAGE_DETAIL_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_detail.php' : '/api/message_detail.php'),\n messagesApi: runtimeConfig.messagesApi || process.env.VUE_APP_MESSAGES_API || (process.env.NODE_ENV === 'development' ? '/local-api/messages.php' : '/api/messages.php'),\n profileApi: runtimeConfig.profileApi || process.env.VUE_APP_PROFILE_API || (process.env.NODE_ENV === 'development' ? '/local-api/profile.php' : '/api/profile.php'),\n changePasswordApi: runtimeConfig.changePasswordApi || process.env.VUE_APP_CHANGE_PASSWORD_API || `${appServerOrigin}/change_pwd`,\n resetPasswordApi: runtimeConfig.resetPasswordApi || process.env.VUE_APP_RESET_PASSWORD_API || `${appServerOrigin}/reset_pwd`,\n imServerHost: runtimeConfig.imServerHost || process.env.VUE_APP_IM_SERVER_HOST || currentHost,\n imRoutePort: Number(runtimeConfig.imRoutePort || process.env.VUE_APP_IM_ROUTE_PORT || 18000),\n useWss: runtimeConfig.useWss ?? process.env.VUE_APP_USE_WSS === 'true',\n wsPath: runtimeConfig.wsPath || process.env.VUE_APP_WS_PATH || '/ws',\n wsUrl: runtimeConfig.wsUrl || process.env.VUE_APP_WS_URL || '',\n sdkMode: runtimeConfig.sdkMode || process.env.VUE_APP_IM_MODE || 'http',\n syncIntervalMs: Number(runtimeConfig.syncIntervalMs || process.env.VUE_APP_SYNC_INTERVAL_MS || 15000),\n sseEnabled: runtimeConfig.sseEnabled ?? process.env.VUE_APP_SSE_ENABLED === 'true',\n sseTicketApi: runtimeConfig.sseTicketApi || process.env.VUE_APP_SSE_TICKET_API || '/api/sse_ticket.php',\n sseUrl: runtimeConfig.sseUrl || process.env.VUE_APP_SSE_URL || '/ws-events',\n platform: 5,\n clientIdStorageKey: 'qmt-web-im-client-id',\n authTokenStoragePrefix: 'qmt-web-im-auth-token-'\n};\n","import { createApp } from 'vue';\nimport { createPinia } from 'pinia';\nimport App from './App.vue';\nimport './styles/base.css';\n\ncreateApp(App).use(createPinia()).mount('#app');\n","import axios from 'axios';\nimport { appConfig } from '@/config';\n\nconst LOCAL_MESSAGE_STORAGE_KEY = 'qmt-web-im-local-messages-v2';\nconst LOCAL_HIDDEN_MESSAGE_STORAGE_KEY = 'qmt-web-im-hidden-messages-v1';\nconst LOCAL_RECALLED_MESSAGE_STORAGE_KEY = 'qmt-web-im-recalled-messages-v1';\n\nfunction scopedStorageKey(baseKey, userId = '') {\n const scope = `${appConfig.appServer || ''}:${userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction readLocalMessages(userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction readMessageSet(storageKey, userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(storageKey, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction writeMessageSet(storageKey, messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(storageKey, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction messageKeys(message) {\n return [message?.id, message?.messageUid]\n .filter(Boolean)\n .map(value => String(value));\n}\n\nfunction hasStoredMessage(storageKey, conversationId, message, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n return messageKeys(message).some(id => ids.has(id));\n}\n\nfunction storeMessageKeys(storageKey, conversationId, messages, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n messages.forEach(message => {\n messageKeys(message).forEach(id => ids.add(id));\n });\n stored[conversationId] = Array.from(ids);\n writeMessageSet(storageKey, stored, userId);\n}\n\nfunction withRecalledState(message) {\n return {\n ...message,\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n };\n}\n\nfunction applyLocalMessageState(conversationId, messages, userId) {\n return messages\n .filter(message => !hasStoredMessage(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversationId, message, userId))\n .map(message => {\n const isRecalled = Boolean(message.recalled)\n || message.status === 'recalled'\n || hasStoredMessage(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversationId, message, userId);\n if (!isRecalled) {\n return message;\n }\n return withRecalledState(message);\n });\n}\n\nfunction writeLocalMessages(messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction saveLocalMessage(message, userId) {\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[message.conversationId] = messagesByConversation[message.conversationId] || [];\n const index = messagesByConversation[message.conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n messagesByConversation[message.conversationId].splice(index, 1, message);\n } else {\n messagesByConversation[message.conversationId].push(message);\n }\n writeLocalMessages(messagesByConversation, userId);\n}\n\nfunction mergeSyncedMessages(localMessages, remoteMessages, conversationId, userId) {\n const visibleLocalMessages = applyLocalMessageState(conversationId, localMessages, userId);\n const localByKey = new Map();\n visibleLocalMessages.forEach(message => {\n messageKeys(message).forEach(key => {\n if (!localByKey.has(key)) {\n localByKey.set(key, message);\n }\n });\n });\n\n const visibleRemoteMessages = applyLocalMessageState(conversationId, remoteMessages, userId).map(remoteMessage => {\n if (!remoteMessage.recalled || String(remoteMessage.text || '').trim()) {\n return remoteMessage;\n }\n const localMessage = messageKeys(remoteMessage)\n .map(key => localByKey.get(key))\n .find(message => message?.text && message.text !== '你撤回了一条消息');\n return localMessage ? { ...remoteMessage, text: localMessage.text } : remoteMessage;\n });\n const remoteKeys = new Set();\n visibleRemoteMessages.forEach(message => {\n messageKeys(message).forEach(key => remoteKeys.add(key));\n });\n const now = Date.now();\n\n function hasRemoteMatch(localMessage) {\n if (localMessage.messageUid && remoteKeys.has(localMessage.messageUid)) {\n return true;\n }\n return visibleRemoteMessages.some(remoteMessage => {\n return remoteMessage.direction === localMessage.direction\n && remoteMessage.text === localMessage.text\n && Math.abs(Number(remoteMessage.timestamp || 0) - Number(localMessage.timestamp || 0)) < 15000;\n });\n }\n\n const pendingLocalMessages = visibleLocalMessages.filter(message => {\n if (message.status === 'recalled' || message.recalled) {\n return message.direction === 'out' && !hasRemoteMatch(message);\n }\n if (message.direction !== 'out') {\n return false;\n }\n if (message.status === 'sent' && message.messageUid) {\n return !hasRemoteMatch(message);\n }\n if (message.status === 'sent') {\n return !hasRemoteMatch(message) && now - Number(message.timestamp || 0) < 30000;\n }\n return message.status === 'sending' || message.status === 'failed';\n });\n\n return [...visibleRemoteMessages, ...pendingLocalMessages].sort((a, b) => {\n return Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0);\n });\n}\n\nfunction getTitle(value, fallback) {\n return value || fallback || '';\n}\n\nfunction getUniqueEquipment(mobile, fallback) {\n const allowedDevices = {\n '18301902119': '67072d37062c4f31b1165073552933ba',\n '18301902116': '1777479418113eeea8e236edce',\n '18301902118': 'de89fb2f2a61480a8c381f6c16e28bd8',\n '18301902117': 'd117f480faa64145b6162107b1b49617'\n };\n return allowedDevices[mobile] || localStorage.getItem('uniqueEquipment') || fallback;\n}\n\nfunction canUseLocalLoginFallback(response) {\n const message = response.data?.message || '';\n return process.env.NODE_ENV === 'development' && message.includes('允许此设备登录');\n}\n\nexport class HttpImClient {\n constructor() {\n this.listeners = new Map();\n this.connected = false;\n this.currentUser = null;\n }\n\n getClientId() {\n let clientId = localStorage.getItem(appConfig.clientIdStorageKey);\n if (!clientId) {\n clientId = randomId();\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n return clientId;\n }\n\n restoreClientId(clientId) {\n if (clientId) {\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n }\n\n getSdkVersion() {\n return 'HTTP';\n }\n\n async ensureSdk() {\n return true;\n }\n\n async loginWithPassword(mobile, password) {\n const url = `${appConfig.appServer}/login_pwd`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n password,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n if (canUseLocalLoginFallback(response)) {\n return {\n userId: mobile,\n token: `local-device-pending-${Date.now()}`,\n displayName: mobile,\n localOnly: true\n };\n }\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async requestAuthCode(mobile) {\n const response = await axios.post(`${appConfig.appServer}/send_code`, { mobile }, { withCredentials: false });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '验证码发送失败');\n }\n return response.data.result;\n }\n\n async loginWithCode(mobile, code) {\n const url = `${appConfig.appServer}/login`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async createPcSession(userId = '') {\n const response = await axios.post(`${appConfig.appServer}/pc_session`, {\n flag: 1,\n device_name: 'Web IM',\n userId,\n clientId: this.getClientId(),\n platform: appConfig.platform\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '二维码登录会话创建失败');\n }\n return response.data.result || {};\n }\n\n async loginWithPcSession(token) {\n const url = `${appConfig.appServer}/session_login/${encodeURIComponent(token)}`;\n const response = await axios.post(url, null, { withCredentials: false });\n this.persistAppToken(url, response);\n const data = response.data || {};\n if ([0, 8, 9, 10, 18].includes(Number(data.code))) {\n return data;\n }\n throw new Error(data.message || '扫码登录失败');\n }\n\n async registerWithPhone(mobile, code) {\n const url = `${appConfig.appServer}/register`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n\n try {\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '注册失败');\n }\n return response.data.result;\n } catch (error) {\n const status = error.response?.status;\n if (status === 404 || status === 405) {\n return this.loginWithCode(mobile, code);\n }\n throw error;\n }\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.connected = true;\n this.emit('connectionStatusChanged', { connected: true, statusText: '已连接' });\n this.refreshConversationList();\n }\n\n disconnect() {\n this.connected = false;\n this.currentUser = null;\n this.emit('connectionStatusChanged', { connected: false, statusText: '未连接' });\n }\n\n getConversationList() {\n return [];\n }\n\n refreshConversationList() {\n const conversations = this.getConversationList();\n if (conversations.length) {\n this.emit('conversationsChanged', conversations);\n }\n if (this.currentUser?.userId) {\n this.fetchRemoteConversations().then(remoteConversations => {\n this.emit('conversationsChanged', remoteConversations);\n }).catch(() => {});\n }\n return conversations;\n }\n\n async fetchRemoteConversations(limit = 50) {\n if (!this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n limit\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '会话同步失败');\n }\n\n return (response.data?.result?.conversations || []).map(conversation => ({\n ...conversation,\n updatedAt: Number(conversation.updatedAt || Date.now()),\n avatarText: conversation.avatarText || String(conversation.title || conversation.target || '?').slice(0, 1).toUpperCase(),\n raw: conversation.raw || { type: 'single', target: conversation.target, line: 0 }\n }));\n }\n\n getMessages(conversation) {\n if (!conversation?.id) {\n return [];\n }\n const userId = this.currentUser?.userId || '';\n return applyLocalMessageState(conversation.id, readLocalMessages(userId)[conversation.id] || [], userId);\n }\n\n async fetchRemoteMessages(conversation, limit = 50, options = {}) {\n if (!conversation?.id || !this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n limit,\n conversationType: conversation.type || conversation.raw?.type || 0,\n markRead: Boolean(options.markRead),\n includeConversations: Boolean(options.includeConversations)\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息同步失败');\n }\n\n const messages = (response.data?.result?.messages || []).map(message => ({\n ...message,\n displayTimestamp: message.displayTimestamp || message.timestamp,\n conversationId: conversation.id\n }));\n if (options.includeConversations && Array.isArray(response.data?.result?.conversations)) {\n const remoteConversations = response.data.result.conversations.map(remoteConversation => ({\n ...remoteConversation,\n updatedAt: Number(remoteConversation.updatedAt || Date.now()),\n avatarText: remoteConversation.avatarText || String(remoteConversation.title || remoteConversation.target || '?').slice(0, 1).toUpperCase(),\n raw: remoteConversation.raw || { type: 'single', target: remoteConversation.target, line: 0 }\n }));\n this.emit('conversationsChanged', remoteConversations);\n }\n const userId = this.currentUser?.userId || '';\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId);\n writeLocalMessages(messagesByConversation, userId);\n return messagesByConversation[conversation.id];\n }\n\n hideMessages(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n markMessagesRecalled(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n async recallMessage(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可撤回的消息ID');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'recall',\n userId: this.currentUser?.userId || message.from || '',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '撤回失败');\n }\n this.markMessagesRecalled(conversation, [message]);\n return response.data.result;\n }\n\n async editMessage(conversation, message, text) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可编辑的消息ID');\n }\n const nextText = String(text || '').trim();\n if (!nextText) {\n throw new Error('编辑内容不能为空');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'edit',\n userId: this.currentUser?.userId || message.from || '',\n messageUid,\n text: nextText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '编辑失败');\n }\n\n const result = response.data?.result?.message || {};\n const editedMessage = {\n ...message,\n text: result.text || nextText,\n status: 'delivered',\n deliveryStatus: 'delivered',\n editedAt: Number(result.editedAt || Date.now()),\n activityTimestamp: Number(result.editedAt || Date.now())\n };\n saveLocalMessage(editedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', editedMessage);\n return editedMessage;\n }\n\n async getMessageDetail(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!messageUid) {\n throw new Error('缺少消息ID');\n }\n const response = await axios.post(appConfig.messageDetailApi, {\n userId: this.currentUser?.userId || '',\n target: conversation?.target || conversation?.raw?.target || conversation?.id?.replace(/^single-/, '') || '',\n conversationType: conversation?.type || conversation?.raw?.type || 'single',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息详情加载失败');\n }\n\n return response.data?.result?.detail || null;\n }\n\n async sendTextMessage(conversation, text, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type: 'text',\n text,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const response = await axios.post(appConfig.sendMessageApi, {\n sender: this.currentUser?.userId || '',\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n conversationType: conversation.type || conversation.raw?.type || 0,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n async sendAttachmentMessage(conversation, { type, file, text = '' }, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type,\n text,\n attachment: {\n type,\n name: file?.name || (type === 'image' ? '图片' : '文件'),\n mime: file?.type || '',\n size: file?.size || 0,\n url: type === 'image' && file ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const formData = new FormData();\n formData.append('sender', this.currentUser?.userId || '');\n formData.append('target', conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''));\n formData.append('conversationType', conversation.type || conversation.raw?.type || 0);\n formData.append('messageType', type);\n formData.append('text', text || '');\n formData.append('attachment', file);\n\n const response = await axios.post(appConfig.sendMessageApi, formData, {\n withCredentials: false\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n attachment: response.data?.result?.attachment || message.attachment,\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n getContactList() {\n return [];\n }\n\n async getServerContactList(userId) {\n if (!userId) {\n return [];\n }\n const response = await axios.post(appConfig.contactsApi, { userId }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.contactsApi)\n });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '联系人加载失败');\n }\n return (response.data?.result?.contacts || []).map(item => {\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n }\n\n async addContact(userId, keyword, reason = '') {\n const response = await axios.post(appConfig.addContactApi, {\n userId,\n keyword,\n reason\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '添加联系人失败');\n }\n\n const item = response.data?.result?.contact;\n if (!item?.uid) {\n return null;\n }\n\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }\n\n normalizeConversation(conversation) {\n const title = getTitle(conversation?.title, conversation?.target || '');\n return {\n ...conversation,\n id: conversation?.id || `${conversation?.type === 'single' ? 'single' : 'group'}-${conversation?.target}`,\n target: conversation?.target || conversation?.raw?.target || '',\n title,\n subtitle: conversation?.subtitle || '',\n unread: Number(conversation?.unread || 0),\n portrait: conversation?.portrait || '',\n avatarText: conversation?.avatarText || title.slice(0, 1).toUpperCase(),\n updatedAt: Number(conversation?.updatedAt || Date.now()),\n raw: conversation?.raw || {\n type: conversation?.type === 'single' ? 'single' : 'group',\n target: conversation?.target || '',\n line: 0\n }\n };\n }\n\n async createGroup(userId, { name, memberIds = [], announcement = '', welcomeText = '', channel = false }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: channel ? 'create_channel' : 'create_group',\n userId,\n name,\n memberIds,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || (channel ? '创建公告群失败' : '创建群组失败'));\n }\n\n const result = response.data?.result || {};\n const conversation = this.normalizeConversation(result.conversation || {});\n conversation.nativeStatus = result.nativeStatus || '';\n conversation.nativeError = result.nativeError || '';\n conversation.raw = {\n ...(conversation.raw || {}),\n nativeStatus: conversation.nativeStatus,\n nativeError: conversation.nativeError\n };\n return conversation;\n }\n\n async joinGroup(userId, groupKey) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'join_group',\n userId,\n groupKey\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '加入群组失败');\n }\n\n const result = response.data?.result || {};\n const conversation = this.normalizeConversation(result.conversation || {});\n conversation.nativeStatus = result.nativeStatus || '';\n conversation.nativeError = result.nativeError || '';\n conversation.raw = {\n ...(conversation.raw || {}),\n nativeStatus: conversation.nativeStatus,\n nativeError: conversation.nativeError\n };\n return conversation;\n }\n\n async broadcastMessage(userId, targetIds, text) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'broadcast',\n userId,\n targetIds,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群发失败');\n }\n\n return response.data?.result || {};\n }\n\n async getGroupDetail(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_detail',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料加载失败');\n }\n\n return response.data?.result?.group || null;\n }\n\n async getGroupMembers(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_members',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群员加载失败');\n }\n\n return response.data?.result?.members || [];\n }\n\n async updateGroupAlias(userId, groupId, alias) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_alias',\n userId,\n groupId,\n alias\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '本群昵称保存失败');\n }\n\n return response.data?.result?.alias || '';\n }\n\n async leaveGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'leave_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '退出群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async dismissGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'dismiss_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '解散群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async transferGroup(userId, groupId, targetUserId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'transfer_group',\n userId,\n groupId,\n targetUserId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '转让群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async setGroupAdmins(userId, groupId, adminIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'set_group_admins',\n userId,\n groupId,\n adminIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '管理员设置失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupProfile(userId, groupId, { name, announcement, welcomeText }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_profile',\n userId,\n groupId,\n name,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料保存失败');\n }\n\n return response.data?.result || {};\n }\n\n async kickGroupMembers(userId, groupId, targetIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'kick_group_members',\n userId,\n groupId,\n targetIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '踢人失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupMuteSetting(userId, groupId, setting) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_mute_setting',\n userId,\n groupId,\n ...setting\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '禁言设置保存失败');\n }\n\n return response.data?.result?.muteSetting || null;\n }\n\n async updateContactAlias(userId, targetId, alias) {\n const response = await axios.post(appConfig.updateAliasApi, {\n userId,\n targetId,\n alias\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.updateAliasApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '备注名修改失败');\n }\n\n return response.data?.result?.contact?.alias || '';\n }\n\n async getProfile(userId) {\n const response = await axios.post(appConfig.profileApi, {\n action: 'get',\n userId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料加载失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async updateProfile(userId, { displayName, portraitFile }) {\n const formData = new FormData();\n formData.append('action', 'update');\n formData.append('userId', userId);\n formData.append('displayName', displayName);\n if (portraitFile) {\n formData.append('portraitFile', portraitFile);\n }\n\n const response = await axios.post(appConfig.profileApi, formData, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.appServer)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料保存失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async changePassword({ oldPassword, newPassword }) {\n const response = await axios.post(appConfig.changePasswordApi, {\n oldPassword,\n newPassword\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.changePasswordApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码修改失败');\n }\n\n return true;\n }\n\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n const response = await axios.post(appConfig.resetPasswordApi, {\n mobile,\n resetCode,\n newPassword\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码设置失败');\n }\n\n return true;\n }\n\n refreshContactList() {\n const contacts = this.getContactList();\n this.emit('contactsChanged', contacts);\n return contacts;\n }\n\n createSingleConversation(userId, userInfo = null) {\n const title = getTitle(userInfo?.title || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: `single-${userId}`,\n type: 'single',\n target: userId,\n title,\n subtitle: '',\n unread: 0,\n portrait: userInfo?.portrait || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n updatedAt: Date.now(),\n raw: { type: 'single', target: userId, line: 0 }\n };\n }\n\n mapContact(userId, friend, userInfo) {\n const title = getTitle(userInfo?.friendAlias || friend?.alias || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: userId,\n uid: userId,\n title,\n subtitle: userInfo?.mobile || userInfo?.name || userId,\n portrait: userInfo?.portrait || '',\n address: userInfo?.address || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: friend?.alias || userInfo?.friendAlias || '',\n rawFriend: friend,\n rawUser: userInfo\n };\n }\n\n on(eventName, handler) {\n if (!this.listeners.has(eventName)) {\n this.listeners.set(eventName, new Set());\n }\n this.listeners.get(eventName).add(handler);\n return () => this.off(eventName, handler);\n }\n\n off(eventName, handler) {\n this.listeners.get(eventName)?.delete(handler);\n }\n\n emit(eventName, payload) {\n this.listeners.get(eventName)?.forEach(handler => handler(payload));\n }\n\n persistAppToken(url, response) {\n const appToken = response.headers?.authtoken || response.headers?.authToken;\n if (appToken) {\n localStorage.setItem(appConfig.authTokenStoragePrefix + this.getUrlHost(url), appToken);\n }\n }\n\n getAppAuthHeaders(url) {\n const host = this.getUrlHost(url);\n if (!host) {\n return {};\n }\n const token = localStorage.getItem(appConfig.authTokenStoragePrefix + host);\n return token ? { authToken: token } : {};\n }\n\n getUrlHost(url) {\n try {\n return new URL(url, window.location.origin).host;\n } catch (error) {\n return '';\n }\n }\n}\n\nexport const imClient = new HttpImClient();\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\nimport { LongConnectionImClient } from './longConnectionImClient';\n\nclass UnsupportedWildfireImClient {\n constructor() {\n throw new Error('当前本地社区版 Web 客户端未启用 WildFire Web SDK');\n }\n}\n\nexport const imClient = appConfig.sdkMode === 'wildfire'\n ? new UnsupportedWildfireImClient()\n : appConfig.sdkMode === 'custom-ws' || appConfig.sdkMode === 'long'\n ? new LongConnectionImClient()\n : new HttpImClient();\n\nexport { HttpImClient, LongConnectionImClient, UnsupportedWildfireImClient as WildfireImClient };\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\n\nconst HEARTBEAT_INTERVAL_MS = 25000;\nconst RECONNECT_MIN_MS = 1000;\nconst RECONNECT_MAX_MS = 15000;\n\nfunction buildWsUrl() {\n if (appConfig.wsUrl) {\n return appConfig.wsUrl;\n }\n const protocol = appConfig.useWss ? 'wss' : 'ws';\n const host = appConfig.imServerHost || window.location.hostname;\n const port = appConfig.imRoutePort ? `:${appConfig.imRoutePort}` : '';\n const path = appConfig.wsPath?.startsWith('/') ? appConfig.wsPath : `/${appConfig.wsPath || 'ws'}`;\n return `${protocol}://${host}${port}${path}`;\n}\n\nfunction normalizeConversationId(payload) {\n const target = payload.target || payload.to || payload.receiver || payload.conversationTarget || payload.from || payload.sender;\n return payload.conversationId || (target ? `single-${target}` : '');\n}\n\nfunction normalizeIncomingMessage(payload, currentUserId) {\n const item = payload.message || payload;\n const from = item.from || item.sender || item.fromUser || '';\n const target = item.target || item.to || item.receiver || '';\n const direction = from && String(from) === String(currentUserId) ? 'out' : 'in';\n const conversationId = item.conversationId || normalizeConversationId({\n ...item,\n target: direction === 'out' ? target : from\n });\n\n if (!conversationId) {\n return null;\n }\n\n const status = item.status || item.deliveryStatus || 'sent';\n\n return {\n id: item.id || item.messageId || item.messageUid || `${Date.now()}${Math.random().toString(16).slice(2)}`,\n messageUid: item.messageUid || item.uid || item.messageId || '',\n conversationId,\n from,\n target,\n direction,\n type: item.type || 'text',\n text: item.text || item.content || item.searchableContent || '',\n status,\n deliveryStatus: item.deliveryStatus || (direction === 'out' ? status : ''),\n timestamp: Number(item.timestamp || item.serverTimestamp || Date.now()),\n displayTimestamp: Number(item.displayTimestamp || item.timestamp || item.serverTimestamp || Date.now()),\n raw: item\n };\n}\n\nexport class LongConnectionImClient extends HttpImClient {\n constructor() {\n super();\n this.socket = null;\n this.wsUrl = buildWsUrl();\n this.heartbeatTimer = null;\n this.reconnectTimer = null;\n this.reconnectAttempts = 0;\n this.manualClose = false;\n }\n\n getSdkVersion() {\n return 'JC-LC/0.1';\n }\n\n shouldUseMessagePolling() {\n return !this.connected;\n }\n\n async ensureSdk() {\n if (typeof WebSocket === 'undefined') {\n throw new Error('当前浏览器不支持 WebSocket 长连接');\n }\n return true;\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.manualClose = false;\n this.openSocket();\n }\n\n disconnect() {\n this.manualClose = true;\n this.clearReconnectTimer();\n this.clearHeartbeatTimer();\n if (this.socket) {\n this.socket.close();\n this.socket = null;\n }\n super.disconnect();\n }\n\n openSocket() {\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.sendAuthFrame();\n return;\n }\n if (this.socket?.readyState === WebSocket.CONNECTING) {\n return;\n }\n\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接连接中' });\n\n try {\n this.socket = new WebSocket(this.wsUrl);\n this.socket.binaryType = 'arraybuffer';\n } catch (error) {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接创建失败,使用HTTP补偿' });\n this.scheduleReconnect();\n return;\n }\n\n this.socket.onopen = () => {\n this.connected = true;\n this.reconnectAttempts = 0;\n this.emit('connectionStatusChanged', { connected: true, statusText: '长连接已连接' });\n this.sendAuthFrame();\n this.startHeartbeat();\n this.refreshConversationList();\n };\n\n this.socket.onmessage = event => {\n this.handleFrame(event.data);\n };\n\n this.socket.onerror = () => {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接异常,使用HTTP补偿' });\n };\n\n this.socket.onclose = () => {\n this.connected = false;\n this.clearHeartbeatTimer();\n this.socket = null;\n if (this.manualClose) {\n return;\n }\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接重连中' });\n this.scheduleReconnect();\n };\n }\n\n sendAuthFrame() {\n this.sendFrame({\n type: 'auth',\n userId: this.currentUser?.userId || '',\n token: this.currentUser?.token || '',\n clientId: this.getClientId(),\n platform: appConfig.platform,\n timestamp: Date.now()\n });\n }\n\n sendFrame(frame) {\n if (this.socket?.readyState !== WebSocket.OPEN) {\n return false;\n }\n this.socket.send(JSON.stringify(frame));\n return true;\n }\n\n handleFrame(rawData) {\n if (rawData instanceof ArrayBuffer) {\n this.emit('rawFrameReceived', rawData);\n return;\n }\n\n let payload;\n try {\n payload = typeof rawData === 'string' ? JSON.parse(rawData) : rawData;\n } catch (error) {\n return;\n }\n\n const type = payload.type || payload.event || payload.cmd || '';\n if (type === 'pong' || type === 'auth_ok' || type === 'connected') {\n return;\n }\n if (type === 'contactsChanged') {\n this.emit('contactsChanged', payload.contacts || []);\n return;\n }\n if (type === 'conversationsChanged') {\n this.emit('conversationsChanged', payload.conversations || []);\n return;\n }\n if (type === 'messages' && Array.isArray(payload.messages)) {\n payload.messages\n .map(message => normalizeIncomingMessage(message, this.currentUser?.userId))\n .filter(Boolean)\n .forEach(message => this.emit('messageReceived', message));\n return;\n }\n\n const message = normalizeIncomingMessage(payload, this.currentUser?.userId);\n if (message) {\n this.emit(message.direction === 'out' ? 'messageStatusChanged' : 'messageReceived', message);\n }\n }\n\n startHeartbeat() {\n this.clearHeartbeatTimer();\n this.heartbeatTimer = window.setInterval(() => {\n this.sendFrame({ type: 'ping', timestamp: Date.now() });\n }, HEARTBEAT_INTERVAL_MS);\n }\n\n clearHeartbeatTimer() {\n if (this.heartbeatTimer) {\n window.clearInterval(this.heartbeatTimer);\n this.heartbeatTimer = null;\n }\n }\n\n scheduleReconnect() {\n this.clearReconnectTimer();\n const delay = Math.min(RECONNECT_MAX_MS, RECONNECT_MIN_MS * 2 ** this.reconnectAttempts);\n this.reconnectAttempts += 1;\n this.reconnectTimer = window.setTimeout(() => {\n this.openSocket();\n }, delay);\n }\n\n clearReconnectTimer() {\n if (this.reconnectTimer) {\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n }\n}\n","function configuredProxyHosts() {\n const configured = window.JC_WEB_IM_CONFIG?.mediaProxyHosts;\n const values = Array.isArray(configured)\n ? configured\n : String(configured || '').split(/[\\s,]+/);\n return new Set(\n values\n .map(value => String(value || '').trim().toLowerCase().replace(/\\.$/, ''))\n .filter(Boolean)\n );\n}\n\nexport function imageDisplayUrl(value) {\n const source = String(value || '').trim();\n if (!source || source.startsWith('blob:') || source.startsWith('data:')) {\n return source;\n }\n\n try {\n const url = new URL(source, window.location.origin);\n if (url.protocol !== 'https:' || !configuredProxyHosts().has(url.hostname.toLowerCase())) {\n return source;\n }\n const proxyUrl = new URL('/api/media_proxy.php', window.location.origin);\n proxyUrl.searchParams.set('url', url.toString());\n return proxyUrl.toString();\n } catch (error) {\n return source;\n }\n}\n","import axios from 'axios';\nimport { appConfig } from '@/config';\nimport { imClient } from '@/services/imClient';\n\nclass RealtimeNotificationClient {\n constructor() {\n this.source = null;\n this.userId = '';\n this.handler = null;\n this.reconnectTimer = null;\n this.reconnectAttempt = 0;\n this.generation = 0;\n }\n\n isConnected() {\n return this.source?.readyState === WebSocket.OPEN;\n }\n\n start(userId, handler) {\n this.stop();\n if (!appConfig.sseEnabled || !userId || typeof window.WebSocket !== 'function') return;\n this.userId = userId;\n this.handler = handler;\n this.generation += 1;\n this.open(this.generation);\n }\n\n stop() {\n this.generation += 1;\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n if (this.source) this.source.close();\n this.source = null;\n this.userId = '';\n this.handler = null;\n this.reconnectAttempt = 0;\n }\n\n async open(generation) {\n try {\n const response = await axios.post(appConfig.sseTicketApi, { userId: this.userId }, {\n withCredentials: false,\n headers: imClient.getAppAuthHeaders(appConfig.appServer)\n });\n if (generation !== this.generation) return;\n if (response.data?.code !== 0) throw new Error(response.data?.message || '实时通知凭证申请失败');\n const ticket = response.data?.result?.ticket || '';\n if (!ticket) throw new Error('实时通知凭证为空');\n const separator = appConfig.sseUrl.includes('?') ? '&' : '?';\n const endpoint = `${appConfig.sseUrl}${separator}ticket=${encodeURIComponent(ticket)}`;\n const socketUrl = endpoint.startsWith('ws://') || endpoint.startsWith('wss://')\n ? endpoint\n : `${window.location.protocol === 'https:' ? 'wss:' : 'ws:'}//${window.location.host}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;\n const source = new WebSocket(socketUrl);\n this.source = source;\n source.onopen = () => {\n this.reconnectAttempt = 0;\n };\n source.onmessage = event => {\n if (generation !== this.generation) return;\n let payload = {};\n try { payload = JSON.parse(event.data || '{}'); } catch (error) { payload = {}; }\n if (payload.type !== 'message-notification') return;\n this.handler?.(payload);\n };\n source.onerror = () => {\n if (generation !== this.generation) return;\n source.close();\n if (this.source === source) this.source = null;\n this.scheduleReconnect(generation);\n };\n source.onclose = () => {\n if (generation !== this.generation || this.source !== source) return;\n this.source = null;\n this.scheduleReconnect(generation);\n };\n } catch (error) {\n if (generation === this.generation) this.scheduleReconnect(generation);\n }\n }\n\n scheduleReconnect(generation) {\n window.clearTimeout(this.reconnectTimer);\n const delay = Math.min(30000, 1000 * (2 ** Math.min(this.reconnectAttempt, 5)));\n this.reconnectAttempt += 1;\n this.reconnectTimer = window.setTimeout(() => this.open(generation), delay);\n }\n}\n\nexport const realtimeNotifications = new RealtimeNotificationClient();\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { useConversationStore } from '@/stores/conversations';\nimport { useNavigationStore } from '@/stores/navigation';\nimport { useSessionStore } from '@/stores/session';\n\nconst CONTACT_CACHE_MS = 15000;\n\nfunction normalizeContacts(contacts) {\n const unique = new Map();\n contacts.forEach(contact => {\n const uid = String(contact.uid || contact.id || '').trim();\n if (!uid) {\n return;\n }\n const normalized = {\n ...contact,\n id: String(contact.id || uid),\n uid\n };\n unique.set(uid, {\n ...(unique.get(uid) || {}),\n ...normalized\n });\n });\n return Array.from(unique.values()).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n}\n\nexport const useContactStore = defineStore('contacts', {\n state: () => ({\n contacts: [],\n activeId: '',\n loading: false,\n eventsBound: false,\n refreshSerial: 0,\n refreshPromise: null,\n loadedForUserId: '',\n loadedAt: 0,\n actionError: '',\n actionInfo: ''\n }),\n getters: {\n activeContact(state) {\n return state.contacts.find(item => item.id === state.activeId) || state.contacts[0] || null;\n }\n },\n actions: {\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('contactsChanged', contacts => {\n if (!contacts.length && this.contacts.length) {\n return;\n }\n this.contacts = normalizeContacts(contacts);\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n });\n },\n async refreshContacts(options = {}) {\n this.bindImEvents();\n const session = useSessionStore();\n const requestUserId = session.userId;\n const force = Boolean(options.force);\n if (!requestUserId) {\n this.clearContacts();\n return [];\n }\n if (!force\n && this.contacts.length\n && this.loadedForUserId === requestUserId\n && Date.now() - this.loadedAt < CONTACT_CACHE_MS\n ) {\n return this.contacts;\n }\n if (this.refreshPromise && !force) {\n return this.refreshPromise;\n }\n const serial = this.refreshSerial + 1;\n this.refreshSerial = serial;\n this.loading = true;\n\n this.refreshPromise = (async () => {\n this.contacts = normalizeContacts(imClient.refreshContactList());\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n if (!this.contacts.length || force) {\n const serverContacts = await imClient.getServerContactList(requestUserId);\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return this.contacts;\n }\n this.contacts = normalizeContacts(serverContacts);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n window.setTimeout(() => {\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return;\n }\n const latest = imClient.getContactList(false);\n if (latest.length || !this.contacts.length) {\n this.contacts = normalizeContacts(latest);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n }, 1200);\n return this.contacts;\n })();\n\n try {\n return await this.refreshPromise;\n } finally {\n if (serial === this.refreshSerial) {\n this.loading = false;\n this.refreshPromise = null;\n }\n }\n },\n async addContact(keyword) {\n const session = useSessionStore();\n const value = String(keyword || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!value) {\n this.actionError = '请输入用户ID、手机号或用户名';\n return false;\n }\n\n this.loading = true;\n try {\n const contact = await imClient.addContact(session.userId, value, '添加联系人');\n if (contact) {\n this.contacts = normalizeContacts([...this.contacts, contact]);\n this.activeId = contact.id;\n }\n this.actionInfo = '联系人已添加';\n await this.refreshContacts({ force: true });\n return true;\n } catch (error) {\n this.actionError = error.message || '添加联系人失败';\n return false;\n } finally {\n this.loading = false;\n }\n },\n async updateContactAlias(contactId, alias) {\n const session = useSessionStore();\n const targetId = String(contactId || '').trim();\n const nextAlias = String(alias || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!targetId) {\n this.actionError = '缺少联系人ID';\n return false;\n }\n\n try {\n const savedAlias = await imClient.updateContactAlias(session.userId, targetId, nextAlias);\n this.contacts = normalizeContacts(this.contacts.map(item => {\n if (item.uid !== targetId && item.id !== targetId) {\n return item;\n }\n const rawUser = {\n ...(item.rawUser || {}),\n friendAlias: savedAlias\n };\n const rawFriend = {\n ...(item.rawFriend || {}),\n alias: savedAlias\n };\n const title = savedAlias || rawUser.displayName || rawUser.name || item.uid;\n return {\n ...item,\n title,\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: savedAlias,\n rawFriend,\n rawUser\n };\n }));\n this.loadedAt = Date.now();\n this.actionInfo = '备注名已修改';\n return true;\n } catch (error) {\n this.actionError = error.message || '备注名修改失败';\n return false;\n }\n },\n clearContacts() {\n this.refreshSerial += 1;\n this.contacts = [];\n this.activeId = '';\n this.loading = false;\n this.refreshPromise = null;\n this.loadedForUserId = '';\n this.loadedAt = 0;\n this.actionError = '';\n this.actionInfo = '';\n },\n setActiveContact(id) {\n this.activeId = id;\n },\n openChat(contact) {\n if (!contact) {\n return;\n }\n const conversations = useConversationStore();\n const navigation = useNavigationStore();\n const conversation = imClient.createSingleConversation(contact.uid, contact);\n conversations.upsertConversation(conversation);\n conversations.setActiveConversation(conversation.id);\n navigation.showMessages();\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\nimport { useSessionStore } from '@/stores/session';\nimport { realtimeNotifications } from '@/services/realtimeNotifications';\n\nconst LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2';\nconst LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1';\nconst recentRealtimeNotifications = new Map();\n\nfunction isDuplicateRealtimeNotification(payload) {\n const messageId = String(payload?.messageId || '');\n if (!messageId) {\n return false;\n }\n const key = `${payload?.kind || 'message'}:${messageId}`;\n const now = Date.now();\n const previousAt = Number(recentRealtimeNotifications.get(key) || 0);\n recentRealtimeNotifications.set(key, now);\n if (recentRealtimeNotifications.size > 200) {\n recentRealtimeNotifications.forEach((seenAt, seenKey) => {\n if (now - seenAt > 30000) {\n recentRealtimeNotifications.delete(seenKey);\n }\n });\n }\n return now - previousAt < 5000;\n}\n\nfunction scopedStorageKey(baseKey) {\n const session = useSessionStore();\n const scope = `${appConfig.appServer || ''}:${session.userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction readFavoriteMessages() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeFavoriteMessages(messages) {\n localStorage.setItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY), JSON.stringify(messages));\n}\n\nfunction readLocalConversations() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeLocalConversations(conversations) {\n localStorage.setItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY), JSON.stringify(conversations));\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction messageKey(message) {\n return message.id || message.messageUid;\n}\n\nfunction messageStableKey(message) {\n return String(message?.messageUid || message?.id || '');\n}\n\nfunction messageActivityTimestamp(message) {\n return Number(message?.activityTimestamp || message?.editedAt || message?.displayTimestamp || message?.timestamp || 0);\n}\n\nfunction hasSameRenderState(left, right) {\n if (left === right) {\n return true;\n }\n try {\n return JSON.stringify(left) === JSON.stringify(right);\n } catch (error) {\n return false;\n }\n}\n\nfunction isRecalledMessage(message) {\n return Boolean(message?.recalled) || message?.status === 'recalled';\n}\n\nfunction attachmentLabel(message) {\n const attachment = message?.attachment;\n if (!attachment) {\n return '';\n }\n if (attachment.type === 'image') {\n return '[图片]';\n }\n return `[文件] ${attachment.name || '文件'}`;\n}\n\nfunction cleanPlaceholderText(text, message = {}) {\n const value = String(text || '').replace(/\\s+/g, ' ').trim();\n const contentType = Number(message?.contentType || 0);\n if (!value) {\n return '';\n }\n if (contentType !== 1 && value === '[暂不支持的消息类型]') {\n return '';\n }\n if ((contentType === 3 || message?.type === 'image') && (value === '[图片]' || value === '图片')) {\n return '';\n }\n\n return value;\n}\n\nfunction messagePreviewText(message) {\n if (isRecalledMessage(message)) {\n return `[${message?.recallStatus || '已撤回'}]`;\n }\n const text = cleanPlaceholderText(message?.text, message);\n return text || attachmentLabel(message);\n}\n\nfunction sanitizeConversation(conversation) {\n if (!conversation) {\n return conversation;\n }\n return {\n ...conversation,\n subtitle: cleanPlaceholderText(conversation.subtitle, conversation)\n };\n}\n\nfunction isHttpUrl(value) {\n try {\n const url = new URL(String(value || '').trim());\n return url.protocol === 'http:' || url.protocol === 'https:';\n } catch (error) {\n return false;\n }\n}\n\nfunction fileNameFromUrl(url, fallback = '图片') {\n try {\n const path = new URL(url).pathname;\n const name = decodeURIComponent(path.split('/').filter(Boolean).pop() || '');\n return name || fallback;\n } catch (error) {\n return fallback;\n }\n}\n\nfunction normalizeMessageForDisplay(message) {\n if (!message || message.attachment) {\n return message;\n }\n\n const contentType = Number(message.contentType || 0);\n const text = String(message.text || '').trim();\n if ((contentType === 3 || message.type === 'image') && isHttpUrl(text)) {\n return {\n ...message,\n type: 'image',\n text: '',\n attachment: {\n type: 'image',\n url: text,\n name: fileNameFromUrl(text, '图片'),\n mime: 'image/*',\n size: 0\n }\n };\n }\n\n return message;\n}\n\nfunction quotePrefix(message) {\n const text = messagePreviewText(message);\n return text.length > 48 ? `${text.slice(0, 48)}...` : text;\n}\n\nasync function writeClipboard(text) {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n return;\n }\n const element = document.createElement('textarea');\n element.value = text;\n element.setAttribute('readonly', 'readonly');\n element.style.position = 'fixed';\n element.style.left = '-9999px';\n document.body.appendChild(element);\n element.select();\n document.execCommand('copy');\n document.body.removeChild(element);\n}\n\nfunction isSameMessage(left, right) {\n if (left.messageUid && right.messageUid && left.messageUid === right.messageUid) {\n return true;\n }\n if (left.id && right.id && left.id === right.id) {\n return true;\n }\n return left.direction === right.direction\n && left.text === right.text\n && (left.type || 'text') === (right.type || 'text')\n && Math.abs(Number(left.displayTimestamp || left.timestamp || 0) - Number(right.displayTimestamp || right.timestamp || 0)) < 15000;\n}\n\nfunction hasExactMessage(messages, message) {\n return messages.some(item => {\n if (item.id && message.id && item.id === message.id) {\n return true;\n }\n return item.messageUid && message.messageUid && item.messageUid === message.messageUid;\n });\n}\n\nfunction shouldUseMessagePolling() {\n return imClient.shouldUseMessagePolling ? imClient.shouldUseMessagePolling() : true;\n}\n\nfunction canMarkReadNow(options = {}) {\n if (typeof document === 'undefined') {\n return false;\n }\n if (document.visibilityState !== 'visible') {\n return false;\n }\n if (options.userAction) {\n return true;\n }\n return true;\n}\n\nfunction isPageVisible() {\n return typeof document === 'undefined' || document.visibilityState === 'visible';\n}\n\nfunction activeMessageSyncIntervalMs() {\n const configured = Number(appConfig.syncIntervalMs || 0);\n return Math.max(15000, Number.isFinite(configured) && configured > 0 ? configured : 15000);\n}\n\nfunction conversationListSyncIntervalMs() {\n return Math.max(30000, activeMessageSyncIntervalMs() * 2);\n}\n\nfunction mergeVisibleMessages(currentMessages, syncedMessages) {\n const merged = [...syncedMessages].map(normalizeMessageForDisplay);\n currentMessages.forEach(currentMessage => {\n currentMessage = normalizeMessageForDisplay(currentMessage);\n const exists = merged.some(message => isSameMessage(message, currentMessage));\n const shouldKeepLocal = currentMessage.status === 'sending'\n || currentMessage.status === 'failed'\n || (currentMessage.direction === 'out'\n && currentMessage.status === 'sent'\n && Date.now() - Number(currentMessage.timestamp || 0) < 30000);\n if (!exists && shouldKeepLocal) {\n merged.push(currentMessage);\n }\n });\n\n return merged\n .filter((message, index, messages) => {\n const key = messageKey(message);\n return messages.findIndex(item => messageKey(item) === key) === index;\n })\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0));\n}\n\nfunction incomingEditedMessages(previousMessages, nextMessages) {\n const previousByKey = new Map();\n (previousMessages || []).forEach(message => {\n const key = messageStableKey(message);\n if (key) {\n previousByKey.set(key, message);\n }\n });\n\n return (nextMessages || []).filter(message => {\n if (message.direction !== 'in') {\n return false;\n }\n const editedAt = Number(message.editedAt || 0);\n if (editedAt <= 0) {\n return false;\n }\n const previous = previousByKey.get(messageStableKey(message));\n return previous && editedAt > Number(previous.editedAt || 0);\n });\n}\n\nlet notificationAudioContext = null;\n\nfunction playNotificationSound() {\n if (typeof window === 'undefined') {\n return;\n }\n try {\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (!AudioContext) {\n return;\n }\n notificationAudioContext = notificationAudioContext || new AudioContext();\n if (notificationAudioContext.state === 'suspended') {\n notificationAudioContext.resume().catch(() => {});\n }\n const oscillator = notificationAudioContext.createOscillator();\n const gain = notificationAudioContext.createGain();\n const startAt = notificationAudioContext.currentTime;\n oscillator.type = 'sine';\n oscillator.frequency.setValueAtTime(880, startAt);\n oscillator.frequency.setValueAtTime(660, startAt + 0.1);\n gain.gain.setValueAtTime(0.0001, startAt);\n gain.gain.exponentialRampToValueAtTime(0.12, startAt + 0.02);\n gain.gain.exponentialRampToValueAtTime(0.0001, startAt + 0.22);\n oscillator.connect(gain);\n gain.connect(notificationAudioContext.destination);\n oscillator.start(startAt);\n oscillator.stop(startAt + 0.24);\n } catch (error) {\n // Notification sound is best-effort; browsers may block audio until user interaction.\n }\n}\n\nexport const useConversationStore = defineStore('conversations', {\n state: () => ({\n activeId: '',\n conversations: [],\n messagesByConversation: {},\n visibleMessagesByConversation: {},\n eventsBound: false,\n usingDemoData: false,\n loading: false,\n syncTimer: null,\n conversationSyncTimer: null,\n readPresenceEventsBound: false,\n syncInFlight: false,\n pendingReadReceiptConversationId: '',\n pendingConversationSync: false,\n conversationSyncInFlight: false,\n messageSyncTimer: null,\n messageSyncQueuedAt: 0,\n pendingMessageSyncOptions: {},\n lastReadSyncByConversation: {},\n optimisticMessagesByConversation: {},\n quotedMessage: null,\n forwardingMessages: [],\n editingMessage: null,\n editingText: '',\n editingMode: '',\n messageDetailOpen: false,\n messageDetailLoading: false,\n messageDetailError: '',\n messageDetail: null,\n attentionMessageId: '',\n attentionMessageTimer: null,\n selectionMode: false,\n selectedMessageIds: [],\n favoriteMessages: [],\n activeFavoriteKey: '',\n actionNotice: '',\n actionError: '',\n realtimeSyncTimer: null\n }),\n getters: {\n activeConversation(state) {\n return state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n },\n activeMessages(state) {\n return state.visibleMessagesByConversation[state.activeId] || [];\n },\n totalUnread(state) {\n return state.conversations.reduce((sum, item) => sum + Number(item.unread || 0), 0);\n },\n canSendActiveConversation(state) {\n const conversation = state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n if (!conversation) {\n return false;\n }\n if (conversation.type !== 'channel') {\n return true;\n }\n return ['owner', 'admin'].includes(conversation.role || conversation.raw?.role || '');\n },\n favoriteMessageIds(state) {\n return state.favoriteMessages.map(message => message.key);\n },\n activeFavorite(state) {\n return state.favoriteMessages.find(message => message.key === state.activeFavoriteKey)\n || state.favoriteMessages[0]\n || null;\n },\n selectedMessages(state) {\n const selectedIds = new Set(state.selectedMessageIds);\n return (state.visibleMessagesByConversation[state.activeId] || [])\n .filter(message => selectedIds.has(messageStableKey(message)));\n }\n },\n actions: {\n bootstrapDemoData() {\n const session = useSessionStore();\n this.bindImEvents();\n this.usingDemoData = false;\n if (!session.userId) {\n this.clearUserState();\n return;\n }\n this.loadScopedLocalState();\n this.startMessageSync();\n realtimeNotifications.start(session.userId, payload => this.handleRealtimeNotification(payload));\n },\n loadScopedLocalState() {\n this.conversations = readLocalConversations().map(sanitizeConversation);\n this.favoriteMessages = readFavoriteMessages();\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n this.activeId = this.conversations[0]?.id || '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.selectionMode = false;\n this.selectedMessageIds = [];\n if (this.activeId) {\n this.loadActiveMessages({ allowReadReceipt: true });\n }\n },\n clearUserState() {\n window.clearInterval(this.syncTimer);\n window.clearInterval(this.conversationSyncTimer);\n window.clearTimeout(this.messageSyncTimer);\n window.clearTimeout(this.attentionMessageTimer);\n window.clearTimeout(this.realtimeSyncTimer);\n realtimeNotifications.stop();\n this.syncTimer = null;\n this.conversationSyncTimer = null;\n this.messageSyncTimer = null;\n this.messageSyncQueuedAt = 0;\n this.pendingMessageSyncOptions = {};\n this.attentionMessageTimer = null;\n this.realtimeSyncTimer = null;\n this.syncInFlight = false;\n this.conversationSyncInFlight = false;\n this.pendingReadReceiptConversationId = '';\n this.pendingConversationSync = false;\n this.lastReadSyncByConversation = {};\n this.activeId = '';\n this.conversations = [];\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.attentionMessageId = '';\n this.selectionMode = false;\n this.selectedMessageIds = [];\n this.favoriteMessages = [];\n this.activeFavoriteKey = '';\n this.actionNotice = '';\n this.actionError = '';\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('messageSent', message => {\n this.appendMessage(message.conversationId, message);\n });\n imClient.on('messageReceived', message => {\n this.appendMessage(message.conversationId, message);\n if (message.conversationId === this.activeId) {\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 700);\n }\n });\n imClient.on('messageStatusChanged', message => {\n this.replaceMessage(message.conversationId, message);\n });\n imClient.on('conversationsChanged', remoteConversations => {\n this.usingDemoData = false;\n this.applyRemoteConversations(remoteConversations);\n });\n },\n setActiveConversation(id) {\n this.activeId = id;\n const conversation = this.conversations.find(item => item.id === id);\n if (conversation) {\n conversation.unread = 0;\n }\n this.loadActiveMessages({ allowReadReceipt: true, userAction: true });\n },\n sendText(text) {\n const conversation = this.activeConversation;\n if (!conversation || !text.trim()) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n this.quotedMessage = null;\n }\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendTextMessage(conversation, value, message);\n conversation.subtitle = value;\n conversation.updatedAt = Date.now();\n writeLocalConversations(this.conversations);\n this.scheduleActiveMessagesSync({}, 700);\n },\n sendAttachment({ type, file, text = '' }) {\n const conversation = this.activeConversation;\n if (!conversation || !file || !['image', 'file'].includes(type)) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n this.quotedMessage = null;\n }\n const now = Date.now();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n senderRole: conversation.role || conversation.raw?.role || '',\n direction: 'out',\n type,\n text: value,\n attachment: {\n type,\n name: file.name || (type === 'image' ? '图片' : '文件'),\n mime: file.type || '',\n size: file.size || 0,\n url: type === 'image' ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: now,\n displayTimestamp: now\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendAttachmentMessage(conversation, { type, file, text: value }, message);\n conversation.subtitle = messagePreviewText(message);\n conversation.updatedAt = now;\n writeLocalConversations(this.conversations);\n this.scheduleActiveMessagesSync({}, 700);\n },\n async sendTextToConversation(conversation, text) {\n if (!conversation || !text.trim()) {\n return null;\n }\n const value = text.trim();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendMessage(conversation.id, message);\n const sentMessage = await imClient.sendTextMessage(conversation, value, message);\n this.replaceMessage(conversation.id, sentMessage);\n return sentMessage;\n },\n upsertConversation(conversation) {\n conversation = sanitizeConversation(conversation);\n const index = this.conversations.findIndex(item => item.id === conversation.id);\n if (index >= 0) {\n this.conversations.splice(index, 1, {\n ...this.conversations[index],\n ...conversation\n });\n } else {\n this.conversations.unshift(conversation);\n }\n this.usingDemoData = false;\n writeLocalConversations(this.conversations);\n },\n removeConversation(conversationId) {\n this.conversations = this.conversations.filter(conversation => conversation.id !== conversationId);\n const {\n [conversationId]: removedMessages,\n ...messagesByConversation\n } = this.messagesByConversation;\n const {\n [conversationId]: removedVisibleMessages,\n ...visibleMessagesByConversation\n } = this.visibleMessagesByConversation;\n const {\n [conversationId]: removedOptimisticMessages,\n ...optimisticMessagesByConversation\n } = this.optimisticMessagesByConversation;\n void removedMessages;\n void removedVisibleMessages;\n void removedOptimisticMessages;\n this.messagesByConversation = messagesByConversation;\n this.visibleMessagesByConversation = visibleMessagesByConversation;\n this.optimisticMessagesByConversation = optimisticMessagesByConversation;\n if (this.activeId === conversationId) {\n this.activeId = this.conversations[0]?.id || '';\n }\n writeLocalConversations(this.conversations);\n if (this.activeId) {\n this.loadActiveMessages();\n }\n },\n applyRemoteConversations(remoteConversations) {\n const remote = Array.isArray(remoteConversations) ? remoteConversations : [];\n if (!remote.length && this.conversations.length) {\n return;\n }\n\n const previousActiveId = this.activeId;\n const merged = new Map();\n this.conversations.forEach(conversation => {\n merged.set(conversation.id, conversation);\n });\n remote.forEach(conversation => {\n const unread = conversation.id === this.activeId && canMarkReadNow() ? 0 : Number(conversation.unread || 0);\n merged.set(conversation.id, {\n ...(merged.get(conversation.id) || {}),\n ...sanitizeConversation(conversation),\n unread\n });\n });\n\n const nextConversations = Array.from(merged.values())\n .map(sanitizeConversation)\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0))\n .slice(0, 100);\n const conversationsChanged = !hasSameRenderState(this.conversations, nextConversations);\n if (conversationsChanged) {\n this.conversations = nextConversations;\n }\n\n if (!this.conversations.length) {\n this.activeId = '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n writeLocalConversations(this.conversations);\n return;\n }\n\n if (!this.conversations.find(item => item.id === this.activeId)) {\n this.activeId = this.conversations[0].id;\n }\n if (conversationsChanged) {\n writeLocalConversations(this.conversations);\n }\n if (previousActiveId !== this.activeId || !this.messagesByConversation[this.activeId]) {\n this.loadActiveMessages();\n }\n },\n appendMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n if (!hasExactMessage(this.messagesByConversation[conversationId], message)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.updateConversationFromMessage(conversationId, message);\n this.syncVisibleMessages(conversationId);\n writeLocalConversations(this.conversations);\n },\n removeMessages(conversationId, messages) {\n const ids = new Set(messages.flatMap(message => [message.id, message.messageUid].filter(Boolean).map(String)));\n const filterMessages = list => (list || []).filter(message => {\n return ![message.id, message.messageUid].filter(Boolean).some(id => ids.has(String(id)));\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: filterMessages(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: filterMessages(this.visibleMessagesByConversation[conversationId])\n };\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: filterMessages(this.optimisticMessagesByConversation[conversationId])\n };\n this.selectedMessageIds = this.selectedMessageIds.filter(id => !ids.has(String(id)));\n },\n replaceLocalMessage(conversationId, targetMessage, nextMessage) {\n const keys = new Set([targetMessage.id, targetMessage.messageUid].filter(Boolean).map(String));\n const replaceInList = list => (list || []).map(message => {\n const matched = [message.id, message.messageUid].filter(Boolean).some(id => keys.has(String(id)));\n return matched ? { ...message, ...nextMessage } : message;\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: replaceInList(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: replaceInList(this.visibleMessagesByConversation[conversationId])\n };\n },\n updateConversationFromMessage(conversationId, message) {\n const conversation = this.conversations.find(item => item.id === conversationId);\n if (!conversation) {\n return;\n }\n\n conversation.subtitle = messagePreviewText(message) || cleanPlaceholderText(conversation.subtitle, conversation);\n conversation.updatedAt = messageActivityTimestamp(message) || Date.now();\n if (message.direction === 'in') {\n conversation.unread = conversationId === this.activeId ? 0 : Number(conversation.unread || 0) + 1;\n }\n this.conversations = [...this.conversations]\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0));\n },\n appendVisibleMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n const messages = this.visibleMessagesByConversation[conversationId] || [];\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: [...messages.filter(item => item.id !== message.id), message]\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0))\n };\n },\n replaceMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent' || message.status === 'failed')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n const index = this.messagesByConversation[conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n const messages = [...this.messagesByConversation[conversationId]];\n messages.splice(index, 1, message);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: messages\n };\n } else {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.syncVisibleMessages(conversationId);\n },\n syncVisibleMessages(conversationId) {\n const currentMessages = this.visibleMessagesByConversation[conversationId] || [];\n const nextMessages = mergeVisibleMessages(\n this.optimisticMessagesByConversation[conversationId] || [],\n this.messagesByConversation[conversationId] || []\n );\n if (!hasSameRenderState(currentMessages, nextMessages)) {\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: nextMessages\n };\n }\n },\n keepOptimisticMessage(conversationId, message) {\n if (!this.optimisticMessagesByConversation[conversationId]) {\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: []\n };\n }\n const messages = this.optimisticMessagesByConversation[conversationId];\n const index = messages.findIndex(item => item.id === message.id);\n let nextMessages;\n if (index >= 0) {\n nextMessages = [...messages];\n nextMessages.splice(index, 1, message);\n } else {\n nextMessages = [...messages, message];\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: nextMessages\n };\n },\n pruneOptimisticMessages(conversationId, syncedMessages) {\n const messages = this.optimisticMessagesByConversation[conversationId] || [];\n if (!messages.length) {\n return;\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: messages.filter(message => {\n const remoteMatched = syncedMessages.some(syncedMessage => {\n return syncedMessage.id !== message.id && isSameMessage(syncedMessage, message);\n });\n if (remoteMatched && message.status !== 'failed') {\n return false;\n }\n return Date.now() - Number(message.displayTimestamp || message.timestamp || 0) < 30000 || message.status === 'failed';\n })\n };\n },\n loadActiveMessages(options = {}) {\n const syncOptions = typeof options === 'boolean'\n ? { allowReadReceipt: options }\n : options;\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n this.loading = true;\n const messages = imClient.getMessages(conversation, 30);\n this.pruneOptimisticMessages(conversation.id, messages);\n const nextMessages = mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages);\n if (!hasSameRenderState(this.messagesByConversation[conversation.id] || [], nextMessages)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversation.id]: nextMessages\n };\n }\n this.syncVisibleMessages(conversation.id);\n this.loading = false;\n this.syncActiveMessages(syncOptions);\n },\n async syncActiveMessages(options = {}) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n if (options.skipWhenHidden !== false && !isPageVisible()) {\n return;\n }\n const wantsReadReceipt = Boolean(options.allowReadReceipt);\n const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ userAction: Boolean(options.userAction) });\n const now = Date.now();\n const previousReadSyncAt = Number(this.lastReadSyncByConversation[conversation.id] || 0);\n const pollingReadReceipt = canMarkReadNow() && now - previousReadSyncAt >= 10000;\n const markRead = explicitReadReceipt || pollingReadReceipt;\n\n if (this.syncInFlight) {\n if (wantsReadReceipt) {\n this.pendingReadReceiptConversationId = conversation.id;\n }\n if (options.includeConversations) {\n this.pendingConversationSync = true;\n }\n return;\n }\n this.syncInFlight = true;\n const syncedConversationId = conversation.id;\n const previousMessages = this.messagesByConversation[syncedConversationId] || [];\n try {\n const messages = await imClient.fetchRemoteMessages(conversation, 50, {\n markRead,\n includeConversations: Boolean(options.includeConversations)\n });\n if (markRead) {\n this.lastReadSyncByConversation = {\n ...this.lastReadSyncByConversation,\n [syncedConversationId]: Date.now()\n };\n }\n const editedIncomingMessages = incomingEditedMessages(previousMessages, messages);\n this.pruneOptimisticMessages(syncedConversationId, messages);\n const nextMessages = mergeVisibleMessages(\n this.messagesByConversation[syncedConversationId] || [],\n messages\n );\n if (!hasSameRenderState(this.messagesByConversation[syncedConversationId] || [], nextMessages)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [syncedConversationId]: nextMessages\n };\n }\n this.syncVisibleMessages(syncedConversationId);\n if (editedIncomingMessages.length && syncedConversationId === this.activeId) {\n this.focusMessage(editedIncomingMessages.sort((a, b) => messageActivityTimestamp(b) - messageActivityTimestamp(a))[0]);\n playNotificationSound();\n }\n const latest = messages.reduce((latestMessage, message) => {\n if (!latestMessage || messageActivityTimestamp(message) > messageActivityTimestamp(latestMessage)) {\n return message;\n }\n return latestMessage;\n }, null);\n if (latest) {\n const nextSubtitle = messagePreviewText(latest);\n const nextUpdatedAt = messageActivityTimestamp(latest);\n if (conversation.subtitle !== nextSubtitle || Number(conversation.updatedAt || 0) !== nextUpdatedAt) {\n conversation.subtitle = nextSubtitle;\n conversation.updatedAt = nextUpdatedAt;\n writeLocalConversations(this.conversations);\n }\n }\n } catch (error) {\n // Keep the local view usable if a polling request misses.\n } finally {\n this.syncInFlight = false;\n if (\n (this.pendingReadReceiptConversationId === this.activeId || this.pendingConversationSync)\n && canMarkReadNow()\n ) {\n const includeConversations = this.pendingConversationSync;\n this.pendingReadReceiptConversationId = '';\n this.pendingConversationSync = false;\n this.scheduleActiveMessagesSync({\n allowReadReceipt: true,\n includeConversations\n }, 700);\n }\n }\n },\n scheduleActiveMessagesSync(options = {}, delay = 700) {\n if (!this.activeId || !isPageVisible()) {\n return;\n }\n const now = Date.now();\n if (!this.messageSyncQueuedAt) {\n this.messageSyncQueuedAt = now;\n }\n this.pendingMessageSyncOptions = {\n ...this.pendingMessageSyncOptions,\n allowReadReceipt: Boolean(\n this.pendingMessageSyncOptions.allowReadReceipt || options.allowReadReceipt\n ),\n userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction),\n includeConversations: Boolean(\n this.pendingMessageSyncOptions.includeConversations || options.includeConversations\n )\n };\n const maxWait = 1200;\n const runAt = Math.min(now + Math.max(0, Number(delay) || 0), this.messageSyncQueuedAt + maxWait);\n window.clearTimeout(this.messageSyncTimer);\n this.messageSyncTimer = window.setTimeout(() => {\n const pendingOptions = this.pendingMessageSyncOptions;\n this.messageSyncTimer = null;\n this.messageSyncQueuedAt = 0;\n this.pendingMessageSyncOptions = {};\n this.syncActiveMessages(pendingOptions);\n }, Math.max(0, runAt - now));\n },\n startMessageSync() {\n this.bindReadPresenceEvents();\n if (!this.syncTimer) {\n this.syncTimer = window.setInterval(() => {\n if (isPageVisible() && !realtimeNotifications.isConnected()) {\n this.syncActiveMessages();\n }\n }, activeMessageSyncIntervalMs());\n }\n if (!this.conversationSyncTimer) {\n this.conversationSyncTimer = window.setInterval(() => {\n if (isPageVisible() && !realtimeNotifications.isConnected()) {\n this.refreshRemoteConversations();\n }\n }, conversationListSyncIntervalMs());\n this.refreshRemoteConversations();\n }\n },\n handleRealtimeNotification(payload) {\n if (isDuplicateRealtimeNotification(payload)) {\n return;\n }\n window.clearTimeout(this.realtimeSyncTimer);\n this.realtimeSyncTimer = window.setTimeout(() => {\n if (this.activeId) {\n this.scheduleActiveMessagesSync({\n allowReadReceipt: canMarkReadNow(),\n includeConversations: true\n }, 700);\n } else {\n this.refreshRemoteConversations();\n }\n }, 500);\n },\n bindReadPresenceEvents() {\n if (this.readPresenceEventsBound || typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n this.readPresenceEventsBound = true;\n const syncWhenReadable = () => {\n if (canMarkReadNow()) {\n this.refreshRemoteConversations();\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 300);\n }\n };\n window.addEventListener('focus', syncWhenReadable);\n document.addEventListener('visibilitychange', syncWhenReadable);\n },\n async refreshRemoteConversations() {\n this.bindImEvents();\n this.usingDemoData = false;\n if (this.conversationSyncInFlight) {\n return;\n }\n this.conversationSyncInFlight = true;\n try {\n const remoteConversations = await imClient.fetchRemoteConversations(50);\n this.applyRemoteConversations(remoteConversations);\n } catch (error) {\n imClient.refreshConversationList();\n } finally {\n this.conversationSyncInFlight = false;\n }\n },\n setActionNotice(message) {\n this.actionNotice = message;\n this.actionError = '';\n window.clearTimeout(this.actionNoticeTimer);\n this.actionNoticeTimer = window.setTimeout(() => {\n this.actionNotice = '';\n }, 1800);\n },\n setActionError(message) {\n this.actionError = message;\n this.actionNotice = '';\n window.clearTimeout(this.actionErrorTimer);\n this.actionErrorTimer = window.setTimeout(() => {\n this.actionError = '';\n }, 2400);\n },\n focusMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n this.attentionMessageId = key;\n window.clearTimeout(this.attentionMessageTimer);\n this.attentionMessageTimer = window.setTimeout(() => {\n if (this.attentionMessageId === key) {\n this.attentionMessageId = '';\n }\n }, 2800);\n },\n async handleMessageAction({ action, message }) {\n if (!message) {\n return;\n }\n if (action === 'copy') {\n await this.copyMessages([message]);\n } else if (action === 'edit') {\n this.startEditMessage(message);\n } else if (action === 'delete') {\n this.deleteMessages([message]);\n } else if (action === 'forward') {\n this.startForward([message]);\n } else if (action === 'favorite') {\n this.toggleFavorite(message);\n } else if (action === 'detail') {\n await this.openMessageDetail(message);\n } else if (action === 'quote') {\n this.quoteMessage(message);\n } else if (action === 'select') {\n this.enterSelectionMode(message);\n } else if (action === 'recall') {\n await this.recallMessage(message);\n }\n },\n async openMessageDetail(message) {\n const conversation = this.activeConversation;\n if (!conversation || !message) {\n return;\n }\n const key = messageStableKey(message);\n this.messageDetailOpen = true;\n this.messageDetailLoading = true;\n this.messageDetailError = '';\n this.messageDetail = {\n messageUid: key,\n conversationType: conversation.type || conversation.raw?.type || 'single',\n sentAt: Number(message.displayTimestamp || message.timestamp || 0),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n localOnly: true,\n sender: {\n uid: message.from || '',\n name: message.senderName || message.from || ''\n }\n };\n try {\n if (!/^\\d+$/.test(key)) {\n this.messageDetailError = '本地临时消息暂无送达/已读详情';\n return;\n }\n const detail = await imClient.getMessageDetail(conversation, message);\n this.messageDetail = detail || this.messageDetail;\n } catch (error) {\n this.messageDetailError = error.message || '消息详情加载失败';\n } finally {\n this.messageDetailLoading = false;\n }\n },\n closeMessageDetail() {\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n },\n async copyMessages(messages) {\n const text = messages.map(message => message.text || '').join('\\n');\n if (!text.trim()) {\n return;\n }\n try {\n await writeClipboard(text);\n this.setActionNotice(messages.length > 1 ? '已复制所选消息' : '已复制');\n } catch (error) {\n this.setActionError('复制失败');\n }\n },\n deleteMessages(messages) {\n const conversation = this.activeConversation;\n if (!conversation || !messages.length) {\n return;\n }\n imClient.hideMessages(conversation, messages);\n this.removeMessages(conversation.id, messages);\n if (!this.selectedMessageIds.length) {\n this.selectionMode = false;\n }\n this.setActionNotice(messages.length > 1 ? '已删除所选消息' : '已删除');\n },\n toggleFavorite(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const index = this.favoriteMessages.findIndex(item => item.key === key);\n if (index >= 0) {\n this.favoriteMessages.splice(index, 1);\n if (this.activeFavoriteKey === key) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n this.setActionNotice('已取消收藏');\n } else {\n const conversation = this.conversations.find(item => item.id === message.conversationId) || {};\n this.favoriteMessages.unshift({\n key,\n id: message.id,\n messageUid: message.messageUid,\n conversationId: message.conversationId,\n conversationTitle: conversation.title || message.conversationTitle || '',\n type: message.type || 'text',\n text: message.text || '',\n preview: messagePreviewText(message),\n senderName: message.senderName || message.from || '',\n timestamp: Number(message.displayTimestamp || message.timestamp || Date.now()),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n recallStatus: message.recallStatus || (isRecalledMessage(message) ? '已撤回' : ''),\n attachment: message.attachment ? { ...message.attachment } : null\n });\n this.activeFavoriteKey = key;\n this.setActionNotice('已收藏');\n }\n this.favoriteMessages = this.favoriteMessages.slice(0, 200);\n writeFavoriteMessages(this.favoriteMessages);\n },\n setActiveFavorite(key) {\n this.activeFavoriteKey = String(key || '');\n },\n removeFavorite(key) {\n const value = String(key || '');\n if (!value) {\n return;\n }\n this.favoriteMessages = this.favoriteMessages.filter(message => message.key !== value);\n if (this.activeFavoriteKey === value) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n writeFavoriteMessages(this.favoriteMessages);\n },\n quoteMessage(message) {\n this.quotedMessage = {\n ...message,\n quoteText: quotePrefix(message)\n };\n this.setActionNotice('已引用,输入后发送');\n },\n cancelQuote() {\n this.quotedMessage = null;\n },\n enterSelectionMode(message = null) {\n this.selectionMode = true;\n if (message) {\n const key = messageStableKey(message);\n this.selectedMessageIds = key ? [key] : [];\n }\n },\n toggleSelectedMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const selected = new Set(this.selectedMessageIds);\n if (selected.has(key)) {\n selected.delete(key);\n } else {\n selected.add(key);\n }\n this.selectedMessageIds = Array.from(selected);\n this.selectionMode = this.selectedMessageIds.length > 0;\n },\n clearSelection() {\n this.selectionMode = false;\n this.selectedMessageIds = [];\n },\n copySelectedMessages() {\n return this.copyMessages(this.selectedMessages);\n },\n deleteSelectedMessages() {\n this.deleteMessages(this.selectedMessages);\n },\n startForward(messages) {\n this.forwardingMessages = messages.filter(message => message?.text);\n if (!this.forwardingMessages.length) {\n this.setActionError('没有可转发的消息');\n }\n },\n startForwardSelectedMessages() {\n this.startForward(this.selectedMessages);\n },\n cancelForward() {\n this.forwardingMessages = [];\n },\n startEditMessage(message) {\n const isResend = isRecalledMessage(message);\n if (!isResend && !message?.text) {\n this.setActionError('没有可编辑的文字内容');\n return;\n }\n this.editingMessage = message;\n this.editingText = message.text || '';\n this.editingMode = isResend ? 'resend' : 'edit';\n },\n cancelEditMessage() {\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n },\n async completeEditMessage() {\n const conversation = this.activeConversation;\n const message = this.editingMessage;\n const text = this.editingText.trim();\n const isResend = this.editingMode === 'resend' || isRecalledMessage(message);\n if (!conversation || !message) {\n this.cancelEditMessage();\n return;\n }\n if (!text) {\n this.setActionError('编辑内容不能为空');\n return;\n }\n if (!isResend && text === String(message.text || '').trim()) {\n this.cancelEditMessage();\n return;\n }\n try {\n if (isResend) {\n await this.sendTextToConversation(conversation, text);\n this.cancelEditMessage();\n this.setActionNotice('已重新发送');\n return;\n }\n const editedMessage = await imClient.editMessage(conversation, message, text);\n this.replaceLocalMessage(conversation.id, message, editedMessage);\n if (messageActivityTimestamp(editedMessage) >= Number(conversation.updatedAt || 0)) {\n conversation.subtitle = messagePreviewText(editedMessage);\n conversation.updatedAt = messageActivityTimestamp(editedMessage);\n writeLocalConversations(this.conversations);\n }\n this.cancelEditMessage();\n this.setActionNotice('已编辑');\n } catch (error) {\n this.setActionError(error.message || '编辑失败');\n }\n },\n async completeForward(targetConversationId) {\n const target = this.conversations.find(conversation => conversation.id === targetConversationId);\n if (!target || !this.forwardingMessages.length) {\n return;\n }\n const text = this.forwardingMessages\n .map(message => `转发:${message.text || ''}`)\n .join('\\n\\n');\n try {\n await this.sendTextToConversation(target, text);\n this.forwardingMessages = [];\n this.clearSelection();\n this.setActionNotice('已转发');\n } catch (error) {\n this.setActionError(error.message || '转发失败');\n }\n },\n async recallMessage(message) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n try {\n await imClient.recallMessage(conversation, message);\n if (message.direction !== 'out') {\n this.removeMessages(conversation.id, [message]);\n this.setActionNotice('已撤回');\n this.syncActiveMessages();\n return;\n }\n this.replaceLocalMessage(conversation.id, message, {\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n });\n this.setActionNotice('已撤回');\n } catch (error) {\n this.setActionError(error.message || '撤回失败');\n }\n },\n async createGroup(options = {}) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.createGroup(session.userId, options);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || '';\n if (nativeStatus && nativeStatus !== 'ok') {\n this.setActionNotice(options.channel ? '公告群已创建,仅网页可见' : '群组已创建,仅网页可见');\n } else {\n this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建');\n }\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || (options.channel ? '创建公告群失败' : '创建群组失败'));\n return false;\n }\n },\n async joinGroup(groupKey) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.joinGroup(session.userId, groupKey);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || '';\n this.setActionNotice(nativeStatus && nativeStatus !== 'ok' ? '已加入群组,仅网页可见' : '已加入群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '加入群组失败');\n return false;\n }\n },\n async broadcastMessage(targetIds, text) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const result = await imClient.broadcastMessage(session.userId, targetIds, text);\n const successCount = Number(result.successCount || 0);\n const failedCount = Number(result.failedCount || 0);\n this.setActionNotice(failedCount > 0 ? `已群发 ${successCount} 条,失败 ${failedCount} 条` : `已群发 ${successCount} 条`);\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '群发失败');\n return false;\n }\n },\n async leaveGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.leaveGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('已退出群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '退出群组失败');\n return false;\n }\n },\n async dismissGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.dismissGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('群组已解散');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '解散群组失败');\n return false;\n }\n }\n }\n});\n","import { defineStore } from 'pinia';\n\nexport const useNavigationStore = defineStore('navigation', {\n state: () => ({\n section: 'messages'\n }),\n actions: {\n showMessages() {\n this.section = 'messages';\n },\n showContacts() {\n this.section = 'contacts';\n },\n showFavorites() {\n this.section = 'favorites';\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\n\nconst STORAGE_KEY = 'qmt-web-im-session';\n\nfunction normalizeStoredPortrait(portrait) {\n return portrait || '';\n}\n\nfunction nextProfilePortrait(profilePortrait, currentPortrait) {\n return normalizeStoredPortrait(profilePortrait) || normalizeStoredPortrait(currentPortrait);\n}\n\nexport const useSessionStore = defineStore('session', {\n state: () => ({\n isAuthenticated: false,\n connecting: false,\n connected: false,\n connectionStatusText: '未连接',\n userId: '',\n token: '',\n displayName: '',\n portrait: '',\n error: '',\n sdkVersion: '',\n eventsBound: false\n }),\n actions: {\n restore() {\n const raw = localStorage.getItem(STORAGE_KEY);\n if (!raw) {\n return;\n }\n try {\n const session = JSON.parse(raw);\n if (session.appServer !== appConfig.appServer) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n if (session.userId && session.token) {\n if (!session.clientId) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n this.userId = session.userId;\n this.token = session.token;\n this.displayName = session.displayName || session.userId;\n this.portrait = normalizeStoredPortrait(session.portrait);\n this.isAuthenticated = true;\n imClient.restoreClientId(session.clientId);\n if (session.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.connect();\n this.refreshProfile();\n }\n } catch (error) {\n localStorage.removeItem(STORAGE_KEY);\n }\n },\n async loginWithPassword(mobile, password) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithPassword(mobile, password);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async loginWithCode(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithCode(mobile, code);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async completePcSessionLogin(result) {\n this.error = '';\n this.connecting = true;\n try {\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '扫码登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async registerWithPhone(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n return await imClient.registerWithPhone(mobile, code);\n } catch (error) {\n this.error = error.message || '注册失败';\n return null;\n } finally {\n this.connecting = false;\n }\n },\n applyLoginResult(result) {\n this.userId = result.userId || result.uid || result.id || '';\n this.token = result.token || result.imToken || '';\n this.displayName = result.displayName || result.userName || result.name || this.userId;\n this.portrait = normalizeStoredPortrait(result.portrait);\n this.isAuthenticated = Boolean(this.userId && this.token);\n if (result.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.persistSession(Boolean(result.localOnly));\n },\n persistSession(localOnly = false) {\n localStorage.setItem(STORAGE_KEY, JSON.stringify({\n userId: this.userId,\n token: this.token,\n displayName: this.displayName,\n portrait: this.portrait,\n clientId: imClient.getClientId(),\n localOnly,\n appServer: appConfig.appServer\n }));\n },\n applyProfile(profile) {\n if (!profile) {\n return;\n }\n this.userId = profile.userId || profile.uid || this.userId;\n this.displayName = profile.displayName || profile.name || this.displayName || this.userId;\n this.portrait = nextProfilePortrait(profile.portrait, this.portrait);\n this.persistSession();\n },\n async refreshProfile() {\n if (!this.userId) {\n return null;\n }\n try {\n const profile = await imClient.getProfile(this.userId);\n this.applyProfile(profile);\n return profile;\n } catch (error) {\n return null;\n }\n },\n async saveProfile({ displayName, portraitFile }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n const profile = await imClient.updateProfile(this.userId, {\n displayName,\n portraitFile\n });\n this.applyProfile(profile);\n return profile;\n },\n async changePassword({ oldPassword, newPassword }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n await imClient.changePassword({ oldPassword, newPassword });\n return true;\n },\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n await imClient.resetPasswordWithCode({ mobile, resetCode, newPassword });\n return true;\n },\n async connect() {\n if (!this.userId || !this.token) {\n return;\n }\n await imClient.ensureSdk();\n this.sdkVersion = imClient.getSdkVersion();\n this.bindImEvents();\n await imClient.connect(this.userId, this.token);\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('connectionStatusChanged', status => {\n this.connected = status.connected;\n this.connectionStatusText = status.statusText || (status.connected ? '已连接' : '未连接');\n });\n },\n logout() {\n imClient.disconnect();\n localStorage.removeItem(STORAGE_KEY);\n this.$reset();\n }\n }\n});\n","import script from \"./App.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = function(x) {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjc_web_im\"] = self[\"webpackChunkjc_web_im\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(1406); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["onMounted","watch","LoginView","ChatShell","useSessionStore","useConversationStore","session","conversations","restore","userId","isAuthenticated","bootstrapDemoData","clearUserState","NavigationRail","ConversationList","ContactList","ChatPanel","ContactPanel","FavoriteList","FavoritePanel","useNavigationStore","useContactStore","navigation","contacts","refreshRemoteConversations","refreshContacts","axios","jrQRCode","computed","onBeforeUnmount","reactive","ref","appConfig","imClient","QR_CODE_PREFIX_PC_SESSION","pendingRegistrationStorageKey","defaultPlatformLogo","emailRegisterEnabled","view","mode","mobile","password","code","sendingCode","info","qrStatus","qrCodeImage","qrSessionToken","qrUserName","qrUserPortrait","qrPolling","qrGeneration","qrExpireTimer","defaultPlatformName","appName","platformName","platformLogo","registerType","registerMethods","phone","email","username","mobileRealVerify","registerPhoneError","phoneCaptcha","phoneCaptchaImage","usernameCaptcha","usernameCaptchaImage","settingRegisterPassword","pendingRegistration","result","resetCode","registerForm","phoneCountryCode","emailCode","usernamePhoneCountryCode","usernamePhone","usernameCode","confirmPassword","registerPasswordForm","countryCodeOptions","value","label","registerMethodOptions","key","canSubmit","length","visibleRegisterMethods","enabled","filter","item","canRegisterSubmit","phoneCaptchaMatched","usernameCaptchaMatched","canSetRegisterPassword","phoneCaptchaStatus","getCaptchaStatus","phoneCaptchaClass","getCaptchaClass","usernameCaptchaStatus","usernameCaptchaClass","qrUserInitial","String","slice","toUpperCase","qrStatusTitle","connecting","qrStatusText","qrRefreshText","methods","some","loadPlatformConfig","loadRegisterConfig","restorePendingRegistration","startQrLogin","stopQrLogin","requestCode","requestAuthCode","error","message","requestRegisterCode","formatPhoneForApi","submit","loginWithPassword","loginWithCode","setLoginMode","nextMode","resetQrState","clearQrExpireTimer","window","clearTimeout","refreshQrLogin","force","generation","pcSession","createPcSession","token","Error","getQrBase64","expireMs","Math","max","min","Number","expired","setTimeout","pollQrLogin","data","loginWithPcSession","codeValue","completePcSessionLogin","userName","displayName","portrait","delay","ms","Promise","resolve","normalizeUsernameCaptchaInput","replace","normalizePhoneCaptchaInput","normalizeRegisterCountryCode","showPhoneCaptcha","randomDigits","renderCaptchaImage","showUsernameCaptcha","inputValue","captchaValue","status","index","floor","random","text","width","height","canvas","document","createElement","context","getContext","fillStyle","fillRect","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","font","textBaseline","textAlign","fillText","toDataURL","submitRegister","clearRegisterPhoneError","formattedPhone","phoneExists","isRegisterPhoneExists","loginCode","registerWithPhone","setPendingRegistration","submitRegisterPassword","resetPasswordWithCode","newPassword","clearPendingRegistration","countryCode","digits","normalizedCode","normalizedPhone","response","get","registerConfigApi","withCredentials","Boolean","mobile_real_verify","platformConfigApi","config","name","trim","logo","logoUrl","version","resolveBrandLogo","applyDocumentBrand","test","appendBrandVersion","startsWith","location","protocol","base","adminServer","URL","toString","url","parsed","href","searchParams","set","title","iconUrl","setDocumentIcon","rel","icon","querySelector","setAttribute","head","appendChild","handleBrandLogoError","post","registerPhoneExistsApi","exists","msg","sessionStorage","removeItem","setItem","JSON","stringify","appServer","pending","parse","getItem","openRegister","backToLogin","MessageList","MessageComposer","activeConversation","groupMenuOpen","singleProfileOpen","singleAliasDraft","singleProfileSaving","singleProfileNotice","singleProfileError","groupPanel","groupBusy","groupDetail","groupMembers","groupAliasDraft","manageSection","selectedAdminIds","selectedKickIds","transferTargetId","profileDraft","announcement","welcomeText","muteDraft","scheduleType","startsAtLocal","endsAtLocal","dailyStart","dailyEnd","muteSaveNotice","muteSaveError","singlePeerId","isGroupConversation","target","raw","id","singleContact","peerId","find","contact","uid","singleProfile","conversation","rawUser","alias","rawName","address","avatarText","includes","type","currentGroupRole","myRole","role","isGroupOwner","canManageGroup","sortedGroupMembers","roleOrder","owner","admin","member","map","sort","left","right","leftOrder","rightOrder","adminCandidateMembers","transferableMembers","messageDetail","messageDetailGroup","group","isMessageDetailGroup","conversationType","messageDetailCounts","counts","read","unread","undelivered","total","kickCandidateMembers","statusText","canSendActiveConversation","connectionStatusText","connected","formatDetailTime","timestamp","Intl","DateTimeFormat","year","month","day","hour","minute","second","hour12","timeZone","resolvedOptions","format","detailMemberName","detailMemberAvatar","detailRoleLabel","closeGroupMenu","toggleGroupMenu","openSingleProfile","then","catch","closeSingleProfile","saveSingleAlias","ok","updateContactAlias","actionError","refreshedContact","nextTitle","upsertConversation","handleSenderProfileUpdated","syncActiveMessages","allowReadReceipt","loadGroupMembers","closeGroupPanel","clearMuteSaveFeedback","loadGroupDetail","getGroupDetail","setActionError","openGroupOverview","openGroupMembers","getGroupMembers","openGroupAlias","detail","myAlias","msToLocalInput","date","Date","local","getTime","getTimezoneOffset","toISOString","localInputToMs","prepareManagementDrafts","setting","muteSetting","startsAtMs","endsAtMs","openGroupManage","openTransferGroup","saveGroupAlias","updateGroupAlias","setActionNotice","toggleAdmin","selected","Set","has","delete","add","Array","from","toggleKick","saveGroupAdmins","setGroupAdmins","saveGroupProfile","updateGroupProfile","updatedAt","now","kickSelectedMembers","confirm","kickGroupMembers","removed","removedIds","saveMuteSetting","updateGroupMuteSetting","leaveCurrentGroup","leaveGroup","dismissCurrentGroup","dismissGroup","transferCurrentGroup","transferGroup","memberAvatar","addEventListener","removeEventListener","props","__props","emit","__emit","emojiOpen","dropActive","textareaEl","imageInput","fileInput","pendingAttachments","dragDepth","emojiList","attachments","forEach","attachment","file","clearPendingAttachments","toggleEmojiPicker","insertEmoji","emoji","element","start","selectionStart","end","selectionEnd","requestAnimationFrame","focus","cursor","setSelectionRange","chooseImage","click","chooseFile","attachmentTypeForFile","fallbackType","emitFiles","files","disabled","validFiles","File","size","push","previewUrl","createObjectURL","releasePendingAttachment","revokeObjectURL","removePendingAttachment","splice","selectAttachment","event","input","hasDraggedFiles","types","dataTransfer","handleDragEnter","dropEffect","handleDragOver","handleDragLeave","filesFromDataTransfer","items","kind","webkitGetAsEntry","isDirectory","getAsFile","handleDrop","imageFilesFromClipboard","clipboardData","handlePaste","imageFiles","preventDefault","nextTick","imageDisplayUrl","IMAGE_MIN_SCALE","IMAGE_MAX_SCALE","listEl","viewerStage","contextMenu","visible","x","y","messageTimeFormatter","imageViewer","scale","rotation","offsetX","offsetY","dragging","dragStartX","dragStartY","dragOffsetX","dragOffsetY","senderProfile","roleLabel","contactAlias","groupAlias","isContact","aliasDraft","saving","adding","notice","imageViewerStyle","transform","menuItems","isOwnMessage","direction","isRecalledMessage","action","favoriteLabel","isFavorite","unshift","canRecallOthers","scrollToBottom","scrollTop","scrollHeight","isNearBottom","clientHeight","scrollToMessage","messageId","row","querySelectorAll","dataset","messageKey","scrollIntoView","block","behavior","messages","messageIdentity","join","nextKeys","previousKeys","immediate","attentionMessageId","closeMenu","closeMenuOnEscape","moveImageDrag","stopImageDrag","messageUid","displayMessageText","contentType","canOpenMessageMenu","isSelected","selectedMessageIds","favoriteMessageIds","isAttention","isRecallNotice","recalled","isImageMessage","isFileMessage","isGroupMessage","showGroupSender","senderRoleLabel","senderRole","groupSenderName","senderName","groupSenderAvatarText","openSenderProfile","profile","cachedContact","cachedAlias","remarkAlias","senderPortrait","closeSenderProfile","addSenderAsContact","addContact","aliasSaved","saveSenderAlias","roleBubbleClass","formatFileSize","bytes","toFixed","retryImageLoad","image","currentTarget","HTMLImageElement","attempts","loadRetries","originalUrl","getAttribute","isConnected","separator","src","handleMessageClick","selectionMode","handleImageClick","openImageViewer","resetImageViewer","closeImageViewer","clampImageScale","setImageScale","originX","originY","previousScale","nextScale","rect","getBoundingClientRect","centerX","centerY","top","ratio","zoomImage","delta","rotateImage","handleImageWheel","factor","deltaY","clientX","clientY","startImageDrag","saveViewerImage","downloadUrl","origin","link","download","body","remove","openMenu","innerWidth","innerHeight","chooseMenuAction","formatTime","deliveryState","state","deliveryStatus","deliveryTitle","failureText","errorCode","activeContact","remarkName","editingAlias","aliasSaving","aliasError","openAliasEditor","closeAliasEditor","submitAlias","activeKey","activeFavorite","favoriteTitle","conversationTitle","entry","conversationId","favoritePreview","recallStatus","preview","formatFavoriteTime","favorite","clearFeedback","favoriteText","isImageFavorite","isFileFavorite","favoriteCopyText","copyFavorite","writeClipboard","copyError","navigator","clipboard","writeText","style","position","select","execCommand","removeChild","openConversation","showMessages","setActiveConversation","focusMessage","removeFavorite","keyword","addingContact","addKeyword","filteredContacts","toLowerCase","subtitle","openAddContact","actionInfo","closeAddContact","submitAddContact","added","defineComponent","h","actionMenuOpen","activeAction","actionBusy","searchKeyword","groupName","groupAnnouncement","groupWelcomeText","joinGroupKey","broadcastText","channelName","channelAnnouncement","contactKeyword","selectedContactIds","actionTitles","createGroup","joinGroup","broadcast","createChannel","submitLabels","actionTitle","submitLabel","modalError","modalInfo","actionNotice","normalizedSearchKeyword","contactsByUid","Map","filteredConversationItems","conversationResult","conversationResults","matchesConversation","contactForConversation","conversationTargets","conversationTarget","contactResults","matchesContact","contactResult","submitDisabled","ContactPicker","default","selectedIds","emptyText","emits","setup","class","placeholder","onInput","onClick","alt","searchableValues","values","flatMap","isArray","Object","matchesKeyword","compactKeyword","groupId","group_id","owner_uid","friendAlias","rawFriend","resultKind","resultKey","isListItemActive","activeId","selectListItem","openChat","clearStoreMessages","resetActionFields","toggleActionMenu","closeActionMenu","openAction","closeActionModal","toggleContact","contactId","submitAction","memberIds","broadcastMessage","channel","formatUnread","count","CROP_OUTPUT_SIZE","settingsItems","initials","settingsOpen","settingsSection","passwordSaving","settingsNotice","settingsError","profileOpen","profileSaving","profileNotice","profileError","profileFile","profilePreview","portraitInput","cropperCanvas","cropperPreviewCanvas","passwordDraft","oldPassword","currentAvatarUrl","activeSettingsItem","avatarPreviewViewer","open","avatarCropper","loaded","busy","objectUrl","fileName","baseScale","avatarPreviewStyle","refreshProfile","drawAvatarCropper","revokeProfilePreview","closeAvatarCropper","showContacts","clearProfileFeedback","clearSettingsFeedback","resetPasswordDraft","openSettings","closeSettings","selectSettingsSection","section","revokeCropperObjectUrl","openProfileEditor","closeProfileEditor","closeAvatarPreview","selectPortrait","openAvatarCropper","choosePortraitFile","openAvatarPreview","resetAvatarPreview","zoomAvatarPreview","handleAvatarPreviewWheel","startAvatarPreviewDrag","setPointerCapture","pointerId","moveAvatarPreviewDrag","stopAvatarPreviewDrag","dropPortrait","cropperStageSize","round","cropperBoxSize","rotatedImageSize","quarterTurn","abs","naturalHeight","naturalWidth","clampCropperOffset","cropSize","rotated","scaledWidth","scaledHeight","maxX","maxY","updateCropperBaseScale","drawCanvasImage","outputScale","cropOnly","dpr","devicePixelRatio","setTransform","clearRect","save","translate","rotate","PI","drawImage","fill","previewCanvas","resetCropperTransform","Image","onload","onerror","zoomCropper","rotateCropper","degrees","handleCropperWheel","startCropperDrag","moveCropperDrag","stopCropperDrag","canvasToBlob","quality","reject","toBlob","blob","confirmAvatarCrop","outputCanvas","croppedFile","saveProfile","portraitFile","savePassword","changePassword","logout","clearContacts","currentHost","hostname","runtimeConfig","JC_WEB_IM_CONFIG","appServerOrigin","adminServerOrigin","process","env","VUE_APP_ADMIN_SERVER","VUE_APP_APP_SERVER","VUE_APP_PLATFORM_CONFIG_API","NODE_ENV","VUE_APP_REGISTER_CONFIG_API","VUE_APP_REGISTER_PHONE_EXISTS_API","contactsApi","VUE_APP_CONTACTS_API","updateAliasApi","VUE_APP_UPDATE_ALIAS_API","addContactApi","VUE_APP_ADD_CONTACT_API","conversationActionsApi","VUE_APP_CONVERSATION_ACTIONS_API","sendMessageApi","VUE_APP_SEND_MESSAGE_API","messageActionApi","VUE_APP_MESSAGE_ACTION_API","messageDetailApi","VUE_APP_MESSAGE_DETAIL_API","messagesApi","VUE_APP_MESSAGES_API","profileApi","VUE_APP_PROFILE_API","changePasswordApi","VUE_APP_CHANGE_PASSWORD_API","resetPasswordApi","VUE_APP_RESET_PASSWORD_API","imServerHost","VUE_APP_IM_SERVER_HOST","imRoutePort","VUE_APP_IM_ROUTE_PORT","useWss","VUE_APP_USE_WSS","wsPath","VUE_APP_WS_PATH","wsUrl","VUE_APP_WS_URL","sdkMode","VUE_APP_IM_MODE","syncIntervalMs","VUE_APP_SYNC_INTERVAL_MS","sseEnabled","VUE_APP_SSE_ENABLED","sseTicketApi","VUE_APP_SSE_TICKET_API","sseUrl","VUE_APP_SSE_URL","platform","clientIdStorageKey","authTokenStoragePrefix","createApp","createPinia","App","use","mount","LOCAL_MESSAGE_STORAGE_KEY","LOCAL_HIDDEN_MESSAGE_STORAGE_KEY","LOCAL_RECALLED_MESSAGE_STORAGE_KEY","scopedStorageKey","baseKey","scope","encodeURIComponent","randomId","crypto","randomUUID","replaceAll","readLocalMessages","localStorage","readMessageSet","storageKey","writeMessageSet","messagesByConversation","messageKeys","hasStoredMessage","stored","ids","storeMessageKeys","withRecalledState","applyLocalMessageState","isRecalled","writeLocalMessages","saveLocalMessage","findIndex","mergeSyncedMessages","localMessages","remoteMessages","visibleLocalMessages","localByKey","visibleRemoteMessages","remoteMessage","localMessage","remoteKeys","hasRemoteMatch","pendingLocalMessages","a","b","displayTimestamp","getTitle","fallback","getUniqueEquipment","allowedDevices","canUseLocalLoginFallback","HttpImClient","constructor","listeners","currentUser","getClientId","clientId","restoreClientId","getSdkVersion","ensureSdk","deviceId","uniqueEquipment","persistAppToken","localOnly","flag","device_name","connect","refreshConversationList","disconnect","getConversationList","fetchRemoteConversations","remoteConversations","limit","line","getMessages","fetchRemoteMessages","options","markRead","includeConversations","remoteConversation","hideMessages","markMessagesRecalled","recallMessage","editMessage","nextText","editedMessage","editedAt","activityTimestamp","getMessageDetail","sendTextMessage","initialMessage","sender","sentMessage","serverTimestamp","failedMessage","sendAttachmentMessage","mime","formData","FormData","append","getContactList","getServerContactList","headers","getAppAuthHeaders","mapContact","localeCompare","reason","normalizeConversation","nativeStatus","nativeError","groupKey","targetIds","members","targetUserId","adminIds","targetId","getProfile","updateProfile","refreshContactList","createSingleConversation","userInfo","friend","on","eventName","handler","off","payload","appToken","authtoken","authToken","getUrlHost","host","LongConnectionImClient","UnsupportedWildfireImClient","WildfireImClient","HEARTBEAT_INTERVAL_MS","RECONNECT_MIN_MS","RECONNECT_MAX_MS","buildWsUrl","port","path","normalizeConversationId","to","receiver","normalizeIncomingMessage","currentUserId","fromUser","content","searchableContent","socket","heartbeatTimer","reconnectTimer","reconnectAttempts","manualClose","shouldUseMessagePolling","WebSocket","openSocket","clearReconnectTimer","clearHeartbeatTimer","close","readyState","OPEN","sendAuthFrame","CONNECTING","binaryType","scheduleReconnect","onopen","startHeartbeat","onmessage","handleFrame","onclose","sendFrame","frame","send","rawData","ArrayBuffer","cmd","setInterval","clearInterval","configuredProxyHosts","configured","mediaProxyHosts","split","source","proxyUrl","RealtimeNotificationClient","reconnectAttempt","stop","ticket","endpoint","socketUrl","realtimeNotifications","defineStore","CONTACT_CACHE_MS","normalizeContacts","unique","normalized","loading","eventsBound","refreshSerial","refreshPromise","loadedForUserId","loadedAt","getters","actions","bindImEvents","requestUserId","serial","serverContacts","latest","nextAlias","savedAlias","setActiveContact","LOCAL_CONVERSATION_STORAGE_KEY","LOCAL_FAVORITE_MESSAGES_KEY","recentRealtimeNotifications","isDuplicateRealtimeNotification","previousAt","seenAt","seenKey","readFavoriteMessages","writeFavoriteMessages","readLocalConversations","writeLocalConversations","messageStableKey","messageActivityTimestamp","hasSameRenderState","attachmentLabel","cleanPlaceholderText","messagePreviewText","sanitizeConversation","isHttpUrl","fileNameFromUrl","pathname","decodeURIComponent","pop","normalizeMessageForDisplay","quotePrefix","isSameMessage","hasExactMessage","canMarkReadNow","visibilityState","userAction","isPageVisible","activeMessageSyncIntervalMs","isFinite","conversationListSyncIntervalMs","mergeVisibleMessages","currentMessages","syncedMessages","merged","currentMessage","shouldKeepLocal","incomingEditedMessages","previousMessages","nextMessages","previousByKey","previous","notificationAudioContext","playNotificationSound","AudioContext","webkitAudioContext","resume","oscillator","createOscillator","gain","createGain","startAt","currentTime","frequency","setValueAtTime","exponentialRampToValueAtTime","destination","visibleMessagesByConversation","usingDemoData","syncTimer","conversationSyncTimer","readPresenceEventsBound","syncInFlight","pendingReadReceiptConversationId","pendingConversationSync","conversationSyncInFlight","messageSyncTimer","messageSyncQueuedAt","pendingMessageSyncOptions","lastReadSyncByConversation","optimisticMessagesByConversation","quotedMessage","forwardingMessages","editingMessage","editingText","editingMode","messageDetailOpen","messageDetailLoading","messageDetailError","attentionMessageTimer","favoriteMessages","activeFavoriteKey","realtimeSyncTimer","activeMessages","totalUnread","reduce","sum","selectedMessages","loadScopedLocalState","startMessageSync","handleRealtimeNotification","loadActiveMessages","appendMessage","scheduleActiveMessagesSync","replaceMessage","applyRemoteConversations","sendText","appendVisibleMessage","sendAttachment","sendTextToConversation","removeConversation","removedMessages","removedVisibleMessages","removedOptimisticMessages","remote","previousActiveId","nextConversations","conversationsChanged","keepOptimisticMessage","updateConversationFromMessage","syncVisibleMessages","removeMessages","filterMessages","list","replaceLocalMessage","targetMessage","nextMessage","keys","replaceInList","matched","pruneOptimisticMessages","remoteMatched","syncedMessage","syncOptions","skipWhenHidden","wantsReadReceipt","explicitReadReceipt","previousReadSyncAt","pollingReadReceipt","syncedConversationId","editedIncomingMessages","latestMessage","nextSubtitle","nextUpdatedAt","maxWait","runAt","pendingOptions","bindReadPresenceEvents","syncWhenReadable","actionNoticeTimer","actionErrorTimer","handleMessageAction","copyMessages","startEditMessage","deleteMessages","startForward","toggleFavorite","openMessageDetail","quoteMessage","enterSelectionMode","sentAt","closeMessageDetail","setActiveFavorite","quoteText","cancelQuote","toggleSelectedMessage","clearSelection","copySelectedMessages","deleteSelectedMessages","startForwardSelectedMessages","cancelForward","isResend","cancelEditMessage","completeEditMessage","completeForward","targetConversationId","successCount","failedCount","showFavorites","STORAGE_KEY","normalizeStoredPortrait","nextProfilePortrait","profilePortrait","currentPortrait","sdkVersion","applyLoginResult","imToken","persistSession","applyProfile","$reset"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/js/app.a89973f7.js.map b/dist/js/app.a89973f7.js.map
deleted file mode 100644
index 295af18..0000000
--- a/dist/js/app.a89973f7.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/app.a89973f7.js","mappings":"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","sources":["webpack://jc-web-im/./src/App.vue","webpack://jc-web-im/./src/components/ChatShell.vue","webpack://jc-web-im/./src/components/LoginView.vue","webpack://jc-web-im/./src/components/chat/ChatPanel.vue","webpack://jc-web-im/./src/components/chat/MessageComposer.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue","webpack://jc-web-im/./src/config.js","webpack://jc-web-im/./src/main.js","webpack://jc-web-im/./src/services/httpImClient.js","webpack://jc-web-im/./src/services/imClient.js","webpack://jc-web-im/./src/services/longConnectionImClient.js","webpack://jc-web-im/./src/services/mediaProxy.js","webpack://jc-web-im/./src/services/realtimeNotifications.js","webpack://jc-web-im/./src/stores/contacts.js","webpack://jc-web-im/./src/stores/conversations.js","webpack://jc-web-im/./src/stores/navigation.js","webpack://jc-web-im/./src/stores/session.js","webpack://jc-web-im/./src/App.vue?7ccd","webpack://jc-web-im/./src/components/ChatShell.vue?96ef","webpack://jc-web-im/./src/components/LoginView.vue?3311","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?ffa3","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?d45c","webpack://jc-web-im/./src/components/chat/MessageList.vue?73ad","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?11f7","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?7e83","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?9ce0","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?8b7f","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?8a4a","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?e8e6","webpack://jc-web-im/./src/App.vue?455b","webpack://jc-web-im/./src/components/ChatShell.vue?ef53","webpack://jc-web-im/./src/components/LoginView.vue?f595","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?402c","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?bb22","webpack://jc-web-im/./src/components/chat/MessageList.vue?c1a2","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?96e0","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?bdf3","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?ee85","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?dff0","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?0914","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?c3d8","webpack://jc-web-im/webpack/bootstrap","webpack://jc-web-im/webpack/runtime/chunk loaded","webpack://jc-web-im/webpack/runtime/compat get default export","webpack://jc-web-im/webpack/runtime/define property getters","webpack://jc-web-im/webpack/runtime/global","webpack://jc-web-im/webpack/runtime/hasOwnProperty shorthand","webpack://jc-web-im/webpack/runtime/make namespace object","webpack://jc-web-im/webpack/runtime/set anonymous default export name","webpack://jc-web-im/webpack/runtime/jsonp chunk loading","webpack://jc-web-im/webpack/before-startup","webpack://jc-web-im/webpack/startup","webpack://jc-web-im/webpack/after-startup"],"sourcesContent":["\n \n \n\n\n\n","\n \n \n \n \n \n \n \n \n \n\n\n\n","\n \n \n \n\n\n\n","\n \n \n\n \n 选择一个会话\n 真实会话同步完成后,可以在左侧打开聊天\n
\n \n \n 已选 {{ conversations.selectedMessageIds.length }} 条\n \n \n \n \n
\n \n \n \n \n \n \n
\n \n
\n \n \n
\n \n 正在加载
\n \n \n \n
- 发送时间
\n - {{ formatDetailTime(messageDetail?.sentAt) }}
\n \n \n
- 编辑时间
\n - {{ formatDetailTime(messageDetail.editedAt) }}
\n \n \n
- 发送人
\n - {{ detailMemberName(messageDetail?.sender) }}
\n \n \n \n
- 接收人
\n - {{ detailMemberName(messageDetail?.receiver) }}
\n \n \n
- 送达时间
\n - \n {{ messageDetail?.deliveredAt ? formatDetailTime(messageDetail.deliveredAt) : '未送达' }}\n
\n \n \n
- 已读时间
\n - \n {{ messageDetail?.readAt ? formatDetailTime(messageDetail.readAt) : '未读' }}\n
\n \n \n
\n {{ conversations.messageDetailError }}\n \n \n 已读 {{ messageDetailCounts.read || 0 }}\n 未读 {{ messageDetailCounts.unread || 0 }}\n 未送达 {{ messageDetailCounts.undelivered || 0 }}\n 成员 {{ messageDetailCounts.total || 0 }}\n
\n \n
\n \n 已读\n {{ messageDetailCounts.read || 0 }} 人\n \n \n
\n
![\"\"]()
\n
{{ detailMemberAvatar(member) }}\n
\n {{ detailMemberName(member) }}\n {{ member.uid }}\n \n
{{ formatDetailTime(member.time) }}\n
{{ detailRoleLabel(member.role) }}\n
\n
\n 暂无已读成员
\n \n\n
\n \n 未读\n {{ messageDetailCounts.unread || 0 }} 人\n \n \n
\n
![\"\"]()
\n
{{ detailMemberAvatar(member) }}\n
\n {{ detailMemberName(member) }}\n {{ member.uid }}\n \n
送达 {{ formatDetailTime(member.time) }}\n
{{ detailRoleLabel(member.role) }}\n
\n
\n 暂无未读成员
\n \n\n
\n \n 未送达\n {{ messageDetailCounts.undelivered || 0 }} 人\n \n \n
\n
![\"\"]()
\n
{{ detailMemberAvatar(member) }}\n
\n {{ detailMemberName(member) }}\n {{ member.uid }}\n \n
未送达\n
{{ detailRoleLabel(member.role) }}\n
\n
\n 暂无未送达成员
\n \n
\n \n \n \n
\n \n
\n \n \n
![\"\"]()
\n
{{ singleProfile.avatarText }}
\n
{{ singleProfile.displayName }}\n
\n \n \n
- 用户ID
\n - {{ singleProfile.uid || '-' }}
\n \n \n
- 昵称
\n - {{ singleProfile.rawName || '-' }}
\n \n \n
- 手机号
\n - {{ singleProfile.mobile || '未知' }}
\n \n \n
- 地区
\n - {{ singleProfile.address || '未知' }}
\n \n
\n \n \n \n
\n \n
\n \n 正在加载
\n \n \n
- 群名
\n - {{ groupDetail?.name || activeConversation?.title || '-' }}
\n \n \n
- 群ID
\n - {{ groupDetail?.groupId || activeConversation?.target || '-' }}
\n \n \n
- 群说明
\n - {{ groupDetail?.announcement || '未设置' }}
\n \n \n
- 群主昵称
\n - {{ groupDetail?.ownerName || '-' }}
\n \n
\n \n \n\n
\n \n 正在加载
\n \n
\n
![\"\"]()
\n
{{ memberAvatar(member) }}\n
\n {{ member.displayName }}\n \n {{ detailRoleLabel(member.role) }}\n \n {{ member.rawDisplayName }}\n \n
\n
暂无群员
\n
\n \n\n
\n\n
\n \n 正在加载
\n \n
\n
暂无可转让成员
\n
\n \n \n\n
\n \n \n\n 正在加载
\n\n \n \n
\n
暂无可设置成员
\n
\n \n \n\n \n\n \n \n
\n
暂无可移除成员
\n
\n \n \n\n \n \n
\n \n {{ conversations.actionError || conversations.actionNotice }}\n
\n \n\n\n\n","\n \n\n\n\n","\n \n
\n \n \n \n
\n
\n
\n \n \n
\n \n
\n
\n {{ imageViewer.name || '图片' }}\n \n \n \n \n \n \n
\n
1 }\"\n @wheel.prevent=\"handleImageWheel\"\n @pointerdown.prevent=\"startImageDrag\"\n >\n
![]()
\n
\n
\n
\n \n
\n \n
\n \n \n
![\"\"]()
\n
{{ senderProfile.avatarText }}
\n
{{ senderProfile.displayName || senderProfile.uid }}\n
{{ senderProfile.roleLabel }}\n
\n \n \n
- 用户ID
\n - {{ senderProfile.uid || '-' }}
\n \n \n
- 昵称
\n - {{ senderProfile.rawName || senderProfile.displayName || '-' }}
\n \n \n
- 手机号
\n - {{ senderProfile.mobile || '未知' }}
\n \n \n
- 地区
\n - {{ senderProfile.address || '未知' }}
\n \n
\n \n \n \n
\n \n
\n\n\n\n","\n \n\n\n\n","\n \n\n\n\n","\n \n \n \n \n
\n
★\n
\n
\n
\n
\n {{ notice }}\n {{ error }}\n \n \n \n
\n
\n \n \n 暂无收藏消息\n 右键消息气泡选择“收藏”后,会显示在这里\n
\n \n\n\n\n","\n \n\n\n\n","\n \n\n\n\n","\n \n\n \n\n \n\n \n
\n \n 头像预览\n \n \n \n \n \n
\n \n \n
![\"头像预览\"\n]()
\n
\n \n
\n\n \n\n\n\n","const currentHost = window.location.hostname || '127.0.0.1';\nconst runtimeConfig = window.JC_WEB_IM_CONFIG || {};\nconst appServerOrigin = `${window.location.protocol}//${currentHost}:18888`;\nconst adminServerOrigin = `${window.location.protocol}//${currentHost}:8024`;\n\nexport const appConfig = {\n appName: 'Web IM',\n adminServer: runtimeConfig.adminServer || process.env.VUE_APP_ADMIN_SERVER || adminServerOrigin,\n appServer: runtimeConfig.appServer || process.env.VUE_APP_APP_SERVER || appServerOrigin,\n platformConfigApi: runtimeConfig.platformConfigApi || process.env.VUE_APP_PLATFORM_CONFIG_API || (process.env.NODE_ENV === 'development' ? '/local-api/platform_config.php' : '/api/platform_config.php'),\n registerConfigApi: runtimeConfig.registerConfigApi || process.env.VUE_APP_REGISTER_CONFIG_API || `${adminServerOrigin}/api/register-config`,\n registerPhoneExistsApi: runtimeConfig.registerPhoneExistsApi || process.env.VUE_APP_REGISTER_PHONE_EXISTS_API || `${adminServerOrigin}/api/register-phone-exists`,\n contactsApi: runtimeConfig.contactsApi || process.env.VUE_APP_CONTACTS_API || (process.env.NODE_ENV === 'development' ? '/local-api/contacts.php' : '/api/contacts.php'),\n updateAliasApi: runtimeConfig.updateAliasApi || process.env.VUE_APP_UPDATE_ALIAS_API || (process.env.NODE_ENV === 'development' ? '/local-api/update_alias.php' : '/api/update_alias.php'),\n addContactApi: runtimeConfig.addContactApi || process.env.VUE_APP_ADD_CONTACT_API || (process.env.NODE_ENV === 'development' ? '/local-api/add_contact.php' : '/api/add_contact.php'),\n conversationActionsApi: runtimeConfig.conversationActionsApi || process.env.VUE_APP_CONVERSATION_ACTIONS_API || (process.env.NODE_ENV === 'development' ? '/local-api/conversation_actions.php' : '/api/conversation_actions.php'),\n sendMessageApi: runtimeConfig.sendMessageApi || process.env.VUE_APP_SEND_MESSAGE_API || (process.env.NODE_ENV === 'development' ? '/local-api/send_message.php' : '/api/send_message.php'),\n messageActionApi: runtimeConfig.messageActionApi || process.env.VUE_APP_MESSAGE_ACTION_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_action.php' : '/api/message_action.php'),\n messageDetailApi: runtimeConfig.messageDetailApi || process.env.VUE_APP_MESSAGE_DETAIL_API || (process.env.NODE_ENV === 'development' ? '/local-api/message_detail.php' : '/api/message_detail.php'),\n messagesApi: runtimeConfig.messagesApi || process.env.VUE_APP_MESSAGES_API || (process.env.NODE_ENV === 'development' ? '/local-api/messages.php' : '/api/messages.php'),\n profileApi: runtimeConfig.profileApi || process.env.VUE_APP_PROFILE_API || (process.env.NODE_ENV === 'development' ? '/local-api/profile.php' : '/api/profile.php'),\n changePasswordApi: runtimeConfig.changePasswordApi || process.env.VUE_APP_CHANGE_PASSWORD_API || `${appServerOrigin}/change_pwd`,\n resetPasswordApi: runtimeConfig.resetPasswordApi || process.env.VUE_APP_RESET_PASSWORD_API || `${appServerOrigin}/reset_pwd`,\n imServerHost: runtimeConfig.imServerHost || process.env.VUE_APP_IM_SERVER_HOST || currentHost,\n imRoutePort: Number(runtimeConfig.imRoutePort || process.env.VUE_APP_IM_ROUTE_PORT || 18000),\n useWss: runtimeConfig.useWss ?? process.env.VUE_APP_USE_WSS === 'true',\n wsPath: runtimeConfig.wsPath || process.env.VUE_APP_WS_PATH || '/ws',\n wsUrl: runtimeConfig.wsUrl || process.env.VUE_APP_WS_URL || '',\n sdkMode: runtimeConfig.sdkMode || process.env.VUE_APP_IM_MODE || 'http',\n syncIntervalMs: Number(runtimeConfig.syncIntervalMs || process.env.VUE_APP_SYNC_INTERVAL_MS || 15000),\n sseEnabled: runtimeConfig.sseEnabled ?? process.env.VUE_APP_SSE_ENABLED === 'true',\n sseTicketApi: runtimeConfig.sseTicketApi || process.env.VUE_APP_SSE_TICKET_API || '/api/sse_ticket.php',\n sseUrl: runtimeConfig.sseUrl || process.env.VUE_APP_SSE_URL || '/ws-events',\n platform: 5,\n clientIdStorageKey: 'qmt-web-im-client-id',\n authTokenStoragePrefix: 'qmt-web-im-auth-token-'\n};\n","import { createApp } from 'vue';\nimport { createPinia } from 'pinia';\nimport App from './App.vue';\nimport './styles/base.css';\n\ncreateApp(App).use(createPinia()).mount('#app');\n","import axios from 'axios';\nimport { appConfig } from '@/config';\n\nconst LOCAL_MESSAGE_STORAGE_KEY = 'qmt-web-im-local-messages-v2';\nconst LOCAL_HIDDEN_MESSAGE_STORAGE_KEY = 'qmt-web-im-hidden-messages-v1';\nconst LOCAL_RECALLED_MESSAGE_STORAGE_KEY = 'qmt-web-im-recalled-messages-v1';\n\nfunction scopedStorageKey(baseKey, userId = '') {\n const scope = `${appConfig.appServer || ''}:${userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction readLocalMessages(userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction readMessageSet(storageKey, userId) {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(storageKey, userId)) || '{}');\n } catch (error) {\n return {};\n }\n}\n\nfunction writeMessageSet(storageKey, messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(storageKey, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction messageKeys(message) {\n return [message?.id, message?.messageUid]\n .filter(Boolean)\n .map(value => String(value));\n}\n\nfunction hasStoredMessage(storageKey, conversationId, message, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n return messageKeys(message).some(id => ids.has(id));\n}\n\nfunction storeMessageKeys(storageKey, conversationId, messages, userId) {\n const stored = readMessageSet(storageKey, userId);\n const ids = new Set(stored[conversationId] || []);\n messages.forEach(message => {\n messageKeys(message).forEach(id => ids.add(id));\n });\n stored[conversationId] = Array.from(ids);\n writeMessageSet(storageKey, stored, userId);\n}\n\nfunction withRecalledState(message) {\n return {\n ...message,\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n };\n}\n\nfunction applyLocalMessageState(conversationId, messages, userId) {\n return messages\n .filter(message => !hasStoredMessage(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversationId, message, userId))\n .map(message => {\n const isRecalled = Boolean(message.recalled)\n || message.status === 'recalled'\n || hasStoredMessage(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversationId, message, userId);\n if (!isRecalled) {\n return message;\n }\n return withRecalledState(message);\n });\n}\n\nfunction writeLocalMessages(messagesByConversation, userId) {\n localStorage.setItem(scopedStorageKey(LOCAL_MESSAGE_STORAGE_KEY, userId), JSON.stringify(messagesByConversation));\n}\n\nfunction saveLocalMessage(message, userId) {\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[message.conversationId] = messagesByConversation[message.conversationId] || [];\n const index = messagesByConversation[message.conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n messagesByConversation[message.conversationId].splice(index, 1, message);\n } else {\n messagesByConversation[message.conversationId].push(message);\n }\n writeLocalMessages(messagesByConversation, userId);\n}\n\nfunction mergeSyncedMessages(localMessages, remoteMessages, conversationId, userId) {\n const visibleLocalMessages = applyLocalMessageState(conversationId, localMessages, userId);\n const localByKey = new Map();\n visibleLocalMessages.forEach(message => {\n messageKeys(message).forEach(key => {\n if (!localByKey.has(key)) {\n localByKey.set(key, message);\n }\n });\n });\n\n const visibleRemoteMessages = applyLocalMessageState(conversationId, remoteMessages, userId).map(remoteMessage => {\n if (!remoteMessage.recalled || String(remoteMessage.text || '').trim()) {\n return remoteMessage;\n }\n const localMessage = messageKeys(remoteMessage)\n .map(key => localByKey.get(key))\n .find(message => message?.text && message.text !== '你撤回了一条消息');\n return localMessage ? { ...remoteMessage, text: localMessage.text } : remoteMessage;\n });\n const remoteKeys = new Set();\n visibleRemoteMessages.forEach(message => {\n messageKeys(message).forEach(key => remoteKeys.add(key));\n });\n const now = Date.now();\n\n function hasRemoteMatch(localMessage) {\n if (localMessage.messageUid && remoteKeys.has(localMessage.messageUid)) {\n return true;\n }\n return visibleRemoteMessages.some(remoteMessage => {\n return remoteMessage.direction === localMessage.direction\n && remoteMessage.text === localMessage.text\n && Math.abs(Number(remoteMessage.timestamp || 0) - Number(localMessage.timestamp || 0)) < 15000;\n });\n }\n\n const pendingLocalMessages = visibleLocalMessages.filter(message => {\n if (message.status === 'recalled' || message.recalled) {\n return message.direction === 'out' && !hasRemoteMatch(message);\n }\n if (message.direction !== 'out') {\n return false;\n }\n if (message.status === 'sent' && message.messageUid) {\n return !hasRemoteMatch(message);\n }\n if (message.status === 'sent') {\n return !hasRemoteMatch(message) && now - Number(message.timestamp || 0) < 30000;\n }\n return message.status === 'sending' || message.status === 'failed';\n });\n\n return [...visibleRemoteMessages, ...pendingLocalMessages].sort((a, b) => {\n return Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0);\n });\n}\n\nfunction getTitle(value, fallback) {\n return value || fallback || '';\n}\n\nfunction getUniqueEquipment(mobile, fallback) {\n const allowedDevices = {\n '18301902119': '67072d37062c4f31b1165073552933ba',\n '18301902116': '1777479418113eeea8e236edce',\n '18301902118': 'de89fb2f2a61480a8c381f6c16e28bd8',\n '18301902117': 'd117f480faa64145b6162107b1b49617'\n };\n return allowedDevices[mobile] || localStorage.getItem('uniqueEquipment') || fallback;\n}\n\nfunction canUseLocalLoginFallback(response) {\n const message = response.data?.message || '';\n return process.env.NODE_ENV === 'development' && message.includes('允许此设备登录');\n}\n\nexport class HttpImClient {\n constructor() {\n this.listeners = new Map();\n this.connected = false;\n this.currentUser = null;\n }\n\n getClientId() {\n let clientId = localStorage.getItem(appConfig.clientIdStorageKey);\n if (!clientId) {\n clientId = randomId();\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n return clientId;\n }\n\n restoreClientId(clientId) {\n if (clientId) {\n localStorage.setItem(appConfig.clientIdStorageKey, clientId);\n }\n }\n\n getSdkVersion() {\n return 'HTTP';\n }\n\n async ensureSdk() {\n return true;\n }\n\n async loginWithPassword(mobile, password) {\n const url = `${appConfig.appServer}/login_pwd`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n password,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n if (canUseLocalLoginFallback(response)) {\n return {\n userId: mobile,\n token: `local-device-pending-${Date.now()}`,\n displayName: mobile,\n localOnly: true\n };\n }\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async requestAuthCode(mobile) {\n const response = await axios.post(`${appConfig.appServer}/send_code`, { mobile }, { withCredentials: false });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '验证码发送失败');\n }\n return response.data.result;\n }\n\n async loginWithCode(mobile, code) {\n const url = `${appConfig.appServer}/login`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '登录失败');\n }\n return response.data.result;\n }\n\n async createPcSession(userId = '') {\n const response = await axios.post(`${appConfig.appServer}/pc_session`, {\n flag: 1,\n device_name: 'Web IM',\n userId,\n clientId: this.getClientId(),\n platform: appConfig.platform\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '二维码登录会话创建失败');\n }\n return response.data.result || {};\n }\n\n async loginWithPcSession(token) {\n const url = `${appConfig.appServer}/session_login/${encodeURIComponent(token)}`;\n const response = await axios.post(url, null, { withCredentials: false });\n this.persistAppToken(url, response);\n const data = response.data || {};\n if ([0, 8, 9, 10, 18].includes(Number(data.code))) {\n return data;\n }\n throw new Error(data.message || '扫码登录失败');\n }\n\n async registerWithPhone(mobile, code) {\n const url = `${appConfig.appServer}/register`;\n const deviceId = getUniqueEquipment(mobile, this.getClientId());\n\n try {\n const response = await axios.post(url, {\n mobile,\n code,\n platform: appConfig.platform,\n clientId: deviceId,\n uniqueEquipment: deviceId\n }, { withCredentials: false });\n\n this.persistAppToken(url, response);\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '注册失败');\n }\n return response.data.result;\n } catch (error) {\n const status = error.response?.status;\n if (status === 404 || status === 405) {\n return this.loginWithCode(mobile, code);\n }\n throw error;\n }\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.connected = true;\n this.emit('connectionStatusChanged', { connected: true, statusText: '已连接' });\n this.refreshConversationList();\n }\n\n disconnect() {\n this.connected = false;\n this.currentUser = null;\n this.emit('connectionStatusChanged', { connected: false, statusText: '未连接' });\n }\n\n getConversationList() {\n return [];\n }\n\n refreshConversationList() {\n const conversations = this.getConversationList();\n if (conversations.length) {\n this.emit('conversationsChanged', conversations);\n }\n if (this.currentUser?.userId) {\n this.fetchRemoteConversations().then(remoteConversations => {\n this.emit('conversationsChanged', remoteConversations);\n }).catch(() => {});\n }\n return conversations;\n }\n\n async fetchRemoteConversations(limit = 50) {\n if (!this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n limit\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '会话同步失败');\n }\n\n return (response.data?.result?.conversations || []).map(conversation => ({\n ...conversation,\n updatedAt: Number(conversation.updatedAt || Date.now()),\n avatarText: conversation.avatarText || String(conversation.title || conversation.target || '?').slice(0, 1).toUpperCase(),\n raw: conversation.raw || { type: 'single', target: conversation.target, line: 0 }\n }));\n }\n\n getMessages(conversation) {\n if (!conversation?.id) {\n return [];\n }\n const userId = this.currentUser?.userId || '';\n return applyLocalMessageState(conversation.id, readLocalMessages(userId)[conversation.id] || [], userId);\n }\n\n async fetchRemoteMessages(conversation, limit = 50, options = {}) {\n if (!conversation?.id || !this.currentUser?.userId) {\n return [];\n }\n const response = await axios.post(appConfig.messagesApi, {\n userId: this.currentUser.userId,\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n limit,\n conversationType: conversation.type || conversation.raw?.type || 0,\n markRead: Boolean(options.markRead)\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息同步失败');\n }\n\n const messages = (response.data?.result?.messages || []).map(message => ({\n ...message,\n displayTimestamp: message.displayTimestamp || message.timestamp,\n conversationId: conversation.id\n }));\n const userId = this.currentUser?.userId || '';\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId);\n writeLocalMessages(messagesByConversation, userId);\n return messagesByConversation[conversation.id];\n }\n\n hideMessages(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_HIDDEN_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n markMessagesRecalled(conversation, messages) {\n const items = Array.isArray(messages) ? messages : [messages];\n if (!conversation?.id || !items.length) {\n return;\n }\n const userId = this.currentUser?.userId || '';\n storeMessageKeys(LOCAL_RECALLED_MESSAGE_STORAGE_KEY, conversation.id, items, userId);\n const messagesByConversation = readLocalMessages(userId);\n messagesByConversation[conversation.id] = applyLocalMessageState(\n conversation.id,\n messagesByConversation[conversation.id] || [],\n userId\n );\n writeLocalMessages(messagesByConversation, userId);\n }\n\n async recallMessage(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可撤回的消息ID');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'recall',\n userId: this.currentUser?.userId || message.from || '',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '撤回失败');\n }\n this.markMessagesRecalled(conversation, [message]);\n return response.data.result;\n }\n\n async editMessage(conversation, message, text) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!/^\\d+$/.test(messageUid)) {\n throw new Error('缺少可编辑的消息ID');\n }\n const nextText = String(text || '').trim();\n if (!nextText) {\n throw new Error('编辑内容不能为空');\n }\n\n const response = await axios.post(appConfig.messageActionApi, {\n action: 'edit',\n userId: this.currentUser?.userId || message.from || '',\n messageUid,\n text: nextText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '编辑失败');\n }\n\n const result = response.data?.result?.message || {};\n const editedMessage = {\n ...message,\n text: result.text || nextText,\n status: 'delivered',\n deliveryStatus: 'delivered',\n editedAt: Number(result.editedAt || Date.now()),\n activityTimestamp: Number(result.editedAt || Date.now())\n };\n saveLocalMessage(editedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', editedMessage);\n return editedMessage;\n }\n\n async getMessageDetail(conversation, message) {\n const messageUid = String(message?.messageUid || message?.id || '').trim();\n if (!messageUid) {\n throw new Error('缺少消息ID');\n }\n const response = await axios.post(appConfig.messageDetailApi, {\n userId: this.currentUser?.userId || '',\n target: conversation?.target || conversation?.raw?.target || conversation?.id?.replace(/^single-/, '') || '',\n conversationType: conversation?.type || conversation?.raw?.type || 'single',\n messageUid\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '消息详情加载失败');\n }\n\n return response.data?.result?.detail || null;\n }\n\n async sendTextMessage(conversation, text, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type: 'text',\n text,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const response = await axios.post(appConfig.sendMessageApi, {\n sender: this.currentUser?.userId || '',\n target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),\n conversationType: conversation.type || conversation.raw?.type || 0,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n async sendAttachmentMessage(conversation, { type, file, text = '' }, initialMessage = null) {\n const senderRole = conversation?.role || conversation?.raw?.role || '';\n const message = initialMessage || {\n id: randomId(),\n conversationId: conversation.id,\n from: this.currentUser?.userId || 'me',\n senderRole,\n direction: 'out',\n type,\n text,\n attachment: {\n type,\n name: file?.name || (type === 'image' ? '图片' : '文件'),\n mime: file?.type || '',\n size: file?.size || 0,\n url: type === 'image' && file ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now()\n };\n saveLocalMessage(message, this.currentUser?.userId || '');\n if (!initialMessage) {\n this.emit('messageSent', message);\n }\n\n try {\n const formData = new FormData();\n formData.append('sender', this.currentUser?.userId || '');\n formData.append('target', conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''));\n formData.append('conversationType', conversation.type || conversation.raw?.type || 0);\n formData.append('messageType', type);\n formData.append('text', text || '');\n formData.append('attachment', file);\n\n const response = await axios.post(appConfig.sendMessageApi, formData, {\n withCredentials: false\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '发送失败');\n }\n\n const sentMessage = {\n ...message,\n status: 'sent',\n deliveryStatus: 'sent',\n messageUid: response.data?.result?.messageUid ? String(response.data.result.messageUid) : '',\n senderRole: response.data?.result?.senderRole || message.senderRole || '',\n attachment: response.data?.result?.attachment || message.attachment,\n serverTimestamp: Number(response.data?.result?.timestamp || 0) || null,\n timestamp: message.timestamp,\n displayTimestamp: message.displayTimestamp || message.timestamp\n };\n saveLocalMessage(sentMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', sentMessage);\n return sentMessage;\n } catch (error) {\n const failedMessage = {\n ...message,\n status: 'failed',\n deliveryStatus: '',\n error: error.response?.data?.message || error.message || '发送失败'\n };\n saveLocalMessage(failedMessage, this.currentUser?.userId || '');\n this.emit('messageStatusChanged', failedMessage);\n return failedMessage;\n }\n }\n\n getContactList() {\n return [];\n }\n\n async getServerContactList(userId) {\n if (!userId) {\n return [];\n }\n const response = await axios.post(appConfig.contactsApi, { userId }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.contactsApi)\n });\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '联系人加载失败');\n }\n return (response.data?.result?.contacts || []).map(item => {\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n }\n\n async addContact(userId, keyword, reason = '') {\n const response = await axios.post(appConfig.addContactApi, {\n userId,\n keyword,\n reason\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '添加联系人失败');\n }\n\n const item = response.data?.result?.contact;\n if (!item?.uid) {\n return null;\n }\n\n return this.mapContact(item.uid, { alias: item.alias }, {\n uid: item.uid,\n displayName: item.displayName,\n name: item.name,\n mobile: item.mobile,\n portrait: item.portrait,\n address: item.address,\n friendAlias: item.alias\n });\n }\n\n normalizeConversation(conversation) {\n const title = getTitle(conversation?.title, conversation?.target || '');\n return {\n ...conversation,\n id: conversation?.id || `${conversation?.type === 'single' ? 'single' : 'group'}-${conversation?.target}`,\n target: conversation?.target || conversation?.raw?.target || '',\n title,\n subtitle: conversation?.subtitle || '',\n unread: Number(conversation?.unread || 0),\n portrait: conversation?.portrait || '',\n avatarText: conversation?.avatarText || title.slice(0, 1).toUpperCase(),\n updatedAt: Number(conversation?.updatedAt || Date.now()),\n raw: conversation?.raw || {\n type: conversation?.type === 'single' ? 'single' : 'group',\n target: conversation?.target || '',\n line: 0\n }\n };\n }\n\n async createGroup(userId, { name, memberIds = [], announcement = '', welcomeText = '', channel = false }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: channel ? 'create_channel' : 'create_group',\n userId,\n name,\n memberIds,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || (channel ? '创建公告群失败' : '创建群组失败'));\n }\n\n const result = response.data?.result || {};\n const conversation = this.normalizeConversation(result.conversation || {});\n conversation.nativeStatus = result.nativeStatus || '';\n conversation.nativeError = result.nativeError || '';\n conversation.raw = {\n ...(conversation.raw || {}),\n nativeStatus: conversation.nativeStatus,\n nativeError: conversation.nativeError\n };\n return conversation;\n }\n\n async joinGroup(userId, groupKey) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'join_group',\n userId,\n groupKey\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '加入群组失败');\n }\n\n const result = response.data?.result || {};\n const conversation = this.normalizeConversation(result.conversation || {});\n conversation.nativeStatus = result.nativeStatus || '';\n conversation.nativeError = result.nativeError || '';\n conversation.raw = {\n ...(conversation.raw || {}),\n nativeStatus: conversation.nativeStatus,\n nativeError: conversation.nativeError\n };\n return conversation;\n }\n\n async broadcastMessage(userId, targetIds, text) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'broadcast',\n userId,\n targetIds,\n text\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群发失败');\n }\n\n return response.data?.result || {};\n }\n\n async getGroupDetail(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_detail',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料加载失败');\n }\n\n return response.data?.result?.group || null;\n }\n\n async getGroupMembers(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'group_members',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群员加载失败');\n }\n\n return response.data?.result?.members || [];\n }\n\n async updateGroupAlias(userId, groupId, alias) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_alias',\n userId,\n groupId,\n alias\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '本群昵称保存失败');\n }\n\n return response.data?.result?.alias || '';\n }\n\n async leaveGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'leave_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '退出群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async dismissGroup(userId, groupId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'dismiss_group',\n userId,\n groupId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '解散群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async transferGroup(userId, groupId, targetUserId) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'transfer_group',\n userId,\n groupId,\n targetUserId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '转让群组失败');\n }\n\n return response.data?.result || {};\n }\n\n async setGroupAdmins(userId, groupId, adminIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'set_group_admins',\n userId,\n groupId,\n adminIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '管理员设置失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupProfile(userId, groupId, { name, announcement, welcomeText }) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_group_profile',\n userId,\n groupId,\n name,\n announcement,\n welcomeText\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '群资料保存失败');\n }\n\n return response.data?.result || {};\n }\n\n async kickGroupMembers(userId, groupId, targetIds) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'kick_group_members',\n userId,\n groupId,\n targetIds\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '踢人失败');\n }\n\n return response.data?.result || {};\n }\n\n async updateGroupMuteSetting(userId, groupId, setting) {\n const response = await axios.post(appConfig.conversationActionsApi, {\n action: 'update_mute_setting',\n userId,\n groupId,\n ...setting\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '禁言设置保存失败');\n }\n\n return response.data?.result?.muteSetting || null;\n }\n\n async updateContactAlias(userId, targetId, alias) {\n const response = await axios.post(appConfig.updateAliasApi, {\n userId,\n targetId,\n alias\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.updateAliasApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '备注名修改失败');\n }\n\n return response.data?.result?.contact?.alias || '';\n }\n\n async getProfile(userId) {\n const response = await axios.post(appConfig.profileApi, {\n action: 'get',\n userId\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料加载失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async updateProfile(userId, { displayName, portraitFile }) {\n const formData = new FormData();\n formData.append('action', 'update');\n formData.append('userId', userId);\n formData.append('displayName', displayName);\n if (portraitFile) {\n formData.append('portraitFile', portraitFile);\n }\n\n const response = await axios.post(appConfig.profileApi, formData, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.appServer)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || '用户资料保存失败');\n }\n\n return response.data?.result?.profile || null;\n }\n\n async changePassword({ oldPassword, newPassword }) {\n const response = await axios.post(appConfig.changePasswordApi, {\n oldPassword,\n newPassword\n }, {\n withCredentials: false,\n headers: this.getAppAuthHeaders(appConfig.changePasswordApi)\n });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码修改失败');\n }\n\n return true;\n }\n\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n const response = await axios.post(appConfig.resetPasswordApi, {\n mobile,\n resetCode,\n newPassword\n }, { withCredentials: false });\n\n if (response.data?.code !== 0) {\n throw new Error(response.data?.message || response.data?.msg || '密码设置失败');\n }\n\n return true;\n }\n\n refreshContactList() {\n const contacts = this.getContactList();\n this.emit('contactsChanged', contacts);\n return contacts;\n }\n\n createSingleConversation(userId, userInfo = null) {\n const title = getTitle(userInfo?.title || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: `single-${userId}`,\n type: 'single',\n target: userId,\n title,\n subtitle: '',\n unread: 0,\n portrait: userInfo?.portrait || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n updatedAt: Date.now(),\n raw: { type: 'single', target: userId, line: 0 }\n };\n }\n\n mapContact(userId, friend, userInfo) {\n const title = getTitle(userInfo?.friendAlias || friend?.alias || userInfo?.displayName || userInfo?.name, userId);\n return {\n id: userId,\n uid: userId,\n title,\n subtitle: userInfo?.mobile || userInfo?.name || userId,\n portrait: userInfo?.portrait || '',\n address: userInfo?.address || '',\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: friend?.alias || userInfo?.friendAlias || '',\n rawFriend: friend,\n rawUser: userInfo\n };\n }\n\n on(eventName, handler) {\n if (!this.listeners.has(eventName)) {\n this.listeners.set(eventName, new Set());\n }\n this.listeners.get(eventName).add(handler);\n return () => this.off(eventName, handler);\n }\n\n off(eventName, handler) {\n this.listeners.get(eventName)?.delete(handler);\n }\n\n emit(eventName, payload) {\n this.listeners.get(eventName)?.forEach(handler => handler(payload));\n }\n\n persistAppToken(url, response) {\n const appToken = response.headers?.authtoken || response.headers?.authToken;\n if (appToken) {\n localStorage.setItem(appConfig.authTokenStoragePrefix + this.getUrlHost(url), appToken);\n }\n }\n\n getAppAuthHeaders(url) {\n const host = this.getUrlHost(url);\n if (!host) {\n return {};\n }\n const token = localStorage.getItem(appConfig.authTokenStoragePrefix + host);\n return token ? { authToken: token } : {};\n }\n\n getUrlHost(url) {\n try {\n return new URL(url, window.location.origin).host;\n } catch (error) {\n return '';\n }\n }\n}\n\nexport const imClient = new HttpImClient();\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\nimport { LongConnectionImClient } from './longConnectionImClient';\n\nclass UnsupportedWildfireImClient {\n constructor() {\n throw new Error('当前本地社区版 Web 客户端未启用 WildFire Web SDK');\n }\n}\n\nexport const imClient = appConfig.sdkMode === 'wildfire'\n ? new UnsupportedWildfireImClient()\n : appConfig.sdkMode === 'custom-ws' || appConfig.sdkMode === 'long'\n ? new LongConnectionImClient()\n : new HttpImClient();\n\nexport { HttpImClient, LongConnectionImClient, UnsupportedWildfireImClient as WildfireImClient };\n","import { appConfig } from '@/config';\nimport { HttpImClient } from './httpImClient';\n\nconst HEARTBEAT_INTERVAL_MS = 25000;\nconst RECONNECT_MIN_MS = 1000;\nconst RECONNECT_MAX_MS = 15000;\n\nfunction buildWsUrl() {\n if (appConfig.wsUrl) {\n return appConfig.wsUrl;\n }\n const protocol = appConfig.useWss ? 'wss' : 'ws';\n const host = appConfig.imServerHost || window.location.hostname;\n const port = appConfig.imRoutePort ? `:${appConfig.imRoutePort}` : '';\n const path = appConfig.wsPath?.startsWith('/') ? appConfig.wsPath : `/${appConfig.wsPath || 'ws'}`;\n return `${protocol}://${host}${port}${path}`;\n}\n\nfunction normalizeConversationId(payload) {\n const target = payload.target || payload.to || payload.receiver || payload.conversationTarget || payload.from || payload.sender;\n return payload.conversationId || (target ? `single-${target}` : '');\n}\n\nfunction normalizeIncomingMessage(payload, currentUserId) {\n const item = payload.message || payload;\n const from = item.from || item.sender || item.fromUser || '';\n const target = item.target || item.to || item.receiver || '';\n const direction = from && String(from) === String(currentUserId) ? 'out' : 'in';\n const conversationId = item.conversationId || normalizeConversationId({\n ...item,\n target: direction === 'out' ? target : from\n });\n\n if (!conversationId) {\n return null;\n }\n\n const status = item.status || item.deliveryStatus || 'sent';\n\n return {\n id: item.id || item.messageId || item.messageUid || `${Date.now()}${Math.random().toString(16).slice(2)}`,\n messageUid: item.messageUid || item.uid || item.messageId || '',\n conversationId,\n from,\n target,\n direction,\n type: item.type || 'text',\n text: item.text || item.content || item.searchableContent || '',\n status,\n deliveryStatus: item.deliveryStatus || (direction === 'out' ? status : ''),\n timestamp: Number(item.timestamp || item.serverTimestamp || Date.now()),\n displayTimestamp: Number(item.displayTimestamp || item.timestamp || item.serverTimestamp || Date.now()),\n raw: item\n };\n}\n\nexport class LongConnectionImClient extends HttpImClient {\n constructor() {\n super();\n this.socket = null;\n this.wsUrl = buildWsUrl();\n this.heartbeatTimer = null;\n this.reconnectTimer = null;\n this.reconnectAttempts = 0;\n this.manualClose = false;\n }\n\n getSdkVersion() {\n return 'JC-LC/0.1';\n }\n\n shouldUseMessagePolling() {\n return !this.connected;\n }\n\n async ensureSdk() {\n if (typeof WebSocket === 'undefined') {\n throw new Error('当前浏览器不支持 WebSocket 长连接');\n }\n return true;\n }\n\n connect(userId, token) {\n this.currentUser = { userId, token };\n this.manualClose = false;\n this.openSocket();\n }\n\n disconnect() {\n this.manualClose = true;\n this.clearReconnectTimer();\n this.clearHeartbeatTimer();\n if (this.socket) {\n this.socket.close();\n this.socket = null;\n }\n super.disconnect();\n }\n\n openSocket() {\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.sendAuthFrame();\n return;\n }\n if (this.socket?.readyState === WebSocket.CONNECTING) {\n return;\n }\n\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接连接中' });\n\n try {\n this.socket = new WebSocket(this.wsUrl);\n this.socket.binaryType = 'arraybuffer';\n } catch (error) {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接创建失败,使用HTTP补偿' });\n this.scheduleReconnect();\n return;\n }\n\n this.socket.onopen = () => {\n this.connected = true;\n this.reconnectAttempts = 0;\n this.emit('connectionStatusChanged', { connected: true, statusText: '长连接已连接' });\n this.sendAuthFrame();\n this.startHeartbeat();\n this.refreshConversationList();\n };\n\n this.socket.onmessage = event => {\n this.handleFrame(event.data);\n };\n\n this.socket.onerror = () => {\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接异常,使用HTTP补偿' });\n };\n\n this.socket.onclose = () => {\n this.connected = false;\n this.clearHeartbeatTimer();\n this.socket = null;\n if (this.manualClose) {\n return;\n }\n this.emit('connectionStatusChanged', { connected: false, statusText: '长连接重连中' });\n this.scheduleReconnect();\n };\n }\n\n sendAuthFrame() {\n this.sendFrame({\n type: 'auth',\n userId: this.currentUser?.userId || '',\n token: this.currentUser?.token || '',\n clientId: this.getClientId(),\n platform: appConfig.platform,\n timestamp: Date.now()\n });\n }\n\n sendFrame(frame) {\n if (this.socket?.readyState !== WebSocket.OPEN) {\n return false;\n }\n this.socket.send(JSON.stringify(frame));\n return true;\n }\n\n handleFrame(rawData) {\n if (rawData instanceof ArrayBuffer) {\n this.emit('rawFrameReceived', rawData);\n return;\n }\n\n let payload;\n try {\n payload = typeof rawData === 'string' ? JSON.parse(rawData) : rawData;\n } catch (error) {\n return;\n }\n\n const type = payload.type || payload.event || payload.cmd || '';\n if (type === 'pong' || type === 'auth_ok' || type === 'connected') {\n return;\n }\n if (type === 'contactsChanged') {\n this.emit('contactsChanged', payload.contacts || []);\n return;\n }\n if (type === 'conversationsChanged') {\n this.emit('conversationsChanged', payload.conversations || []);\n return;\n }\n if (type === 'messages' && Array.isArray(payload.messages)) {\n payload.messages\n .map(message => normalizeIncomingMessage(message, this.currentUser?.userId))\n .filter(Boolean)\n .forEach(message => this.emit('messageReceived', message));\n return;\n }\n\n const message = normalizeIncomingMessage(payload, this.currentUser?.userId);\n if (message) {\n this.emit(message.direction === 'out' ? 'messageStatusChanged' : 'messageReceived', message);\n }\n }\n\n startHeartbeat() {\n this.clearHeartbeatTimer();\n this.heartbeatTimer = window.setInterval(() => {\n this.sendFrame({ type: 'ping', timestamp: Date.now() });\n }, HEARTBEAT_INTERVAL_MS);\n }\n\n clearHeartbeatTimer() {\n if (this.heartbeatTimer) {\n window.clearInterval(this.heartbeatTimer);\n this.heartbeatTimer = null;\n }\n }\n\n scheduleReconnect() {\n this.clearReconnectTimer();\n const delay = Math.min(RECONNECT_MAX_MS, RECONNECT_MIN_MS * 2 ** this.reconnectAttempts);\n this.reconnectAttempts += 1;\n this.reconnectTimer = window.setTimeout(() => {\n this.openSocket();\n }, delay);\n }\n\n clearReconnectTimer() {\n if (this.reconnectTimer) {\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n }\n}\n","function configuredProxyHosts() {\n const configured = window.JC_WEB_IM_CONFIG?.mediaProxyHosts;\n const values = Array.isArray(configured)\n ? configured\n : String(configured || '').split(/[\\s,]+/);\n return new Set(\n values\n .map(value => String(value || '').trim().toLowerCase().replace(/\\.$/, ''))\n .filter(Boolean)\n );\n}\n\nexport function imageDisplayUrl(value) {\n const source = String(value || '').trim();\n if (!source || source.startsWith('blob:') || source.startsWith('data:')) {\n return source;\n }\n\n try {\n const url = new URL(source, window.location.origin);\n if (url.protocol !== 'https:' || !configuredProxyHosts().has(url.hostname.toLowerCase())) {\n return source;\n }\n const proxyUrl = new URL('/api/media_proxy.php', window.location.origin);\n proxyUrl.searchParams.set('url', url.toString());\n return proxyUrl.toString();\n } catch (error) {\n return source;\n }\n}\n","import axios from 'axios';\nimport { appConfig } from '@/config';\nimport { imClient } from '@/services/imClient';\n\nclass RealtimeNotificationClient {\n constructor() {\n this.source = null;\n this.userId = '';\n this.handler = null;\n this.reconnectTimer = null;\n this.reconnectAttempt = 0;\n this.generation = 0;\n }\n\n isConnected() {\n return this.source?.readyState === WebSocket.OPEN;\n }\n\n start(userId, handler) {\n this.stop();\n if (!appConfig.sseEnabled || !userId || typeof window.WebSocket !== 'function') return;\n this.userId = userId;\n this.handler = handler;\n this.generation += 1;\n this.open(this.generation);\n }\n\n stop() {\n this.generation += 1;\n window.clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n if (this.source) this.source.close();\n this.source = null;\n this.userId = '';\n this.handler = null;\n this.reconnectAttempt = 0;\n }\n\n async open(generation) {\n try {\n const response = await axios.post(appConfig.sseTicketApi, { userId: this.userId }, {\n withCredentials: false,\n headers: imClient.getAppAuthHeaders(appConfig.appServer)\n });\n if (generation !== this.generation) return;\n if (response.data?.code !== 0) throw new Error(response.data?.message || '实时通知凭证申请失败');\n const ticket = response.data?.result?.ticket || '';\n if (!ticket) throw new Error('实时通知凭证为空');\n const separator = appConfig.sseUrl.includes('?') ? '&' : '?';\n const endpoint = `${appConfig.sseUrl}${separator}ticket=${encodeURIComponent(ticket)}`;\n const socketUrl = endpoint.startsWith('ws://') || endpoint.startsWith('wss://')\n ? endpoint\n : `${window.location.protocol === 'https:' ? 'wss:' : 'ws:'}//${window.location.host}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;\n const source = new WebSocket(socketUrl);\n this.source = source;\n source.onopen = () => {\n this.reconnectAttempt = 0;\n };\n source.onmessage = event => {\n if (generation !== this.generation) return;\n let payload = {};\n try { payload = JSON.parse(event.data || '{}'); } catch (error) { payload = {}; }\n if (payload.type !== 'message-notification') return;\n this.handler?.(payload);\n };\n source.onerror = () => {\n if (generation !== this.generation) return;\n source.close();\n if (this.source === source) this.source = null;\n this.scheduleReconnect(generation);\n };\n source.onclose = () => {\n if (generation !== this.generation || this.source !== source) return;\n this.source = null;\n this.scheduleReconnect(generation);\n };\n } catch (error) {\n if (generation === this.generation) this.scheduleReconnect(generation);\n }\n }\n\n scheduleReconnect(generation) {\n window.clearTimeout(this.reconnectTimer);\n const delay = Math.min(30000, 1000 * (2 ** Math.min(this.reconnectAttempt, 5)));\n this.reconnectAttempt += 1;\n this.reconnectTimer = window.setTimeout(() => this.open(generation), delay);\n }\n}\n\nexport const realtimeNotifications = new RealtimeNotificationClient();\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { useConversationStore } from '@/stores/conversations';\nimport { useNavigationStore } from '@/stores/navigation';\nimport { useSessionStore } from '@/stores/session';\n\nconst CONTACT_CACHE_MS = 15000;\n\nfunction normalizeContacts(contacts) {\n const unique = new Map();\n contacts.forEach(contact => {\n const uid = String(contact.uid || contact.id || '').trim();\n if (!uid) {\n return;\n }\n const normalized = {\n ...contact,\n id: String(contact.id || uid),\n uid\n };\n unique.set(uid, {\n ...(unique.get(uid) || {}),\n ...normalized\n });\n });\n return Array.from(unique.values()).sort((a, b) => a.title.localeCompare(b.title, 'zh-CN'));\n}\n\nexport const useContactStore = defineStore('contacts', {\n state: () => ({\n contacts: [],\n activeId: '',\n loading: false,\n eventsBound: false,\n refreshSerial: 0,\n refreshPromise: null,\n loadedForUserId: '',\n loadedAt: 0,\n actionError: '',\n actionInfo: ''\n }),\n getters: {\n activeContact(state) {\n return state.contacts.find(item => item.id === state.activeId) || state.contacts[0] || null;\n }\n },\n actions: {\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('contactsChanged', contacts => {\n if (!contacts.length && this.contacts.length) {\n return;\n }\n this.contacts = normalizeContacts(contacts);\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n });\n },\n async refreshContacts(options = {}) {\n this.bindImEvents();\n const session = useSessionStore();\n const requestUserId = session.userId;\n const force = Boolean(options.force);\n if (!requestUserId) {\n this.clearContacts();\n return [];\n }\n if (!force\n && this.contacts.length\n && this.loadedForUserId === requestUserId\n && Date.now() - this.loadedAt < CONTACT_CACHE_MS\n ) {\n return this.contacts;\n }\n if (this.refreshPromise && !force) {\n return this.refreshPromise;\n }\n const serial = this.refreshSerial + 1;\n this.refreshSerial = serial;\n this.loading = true;\n\n this.refreshPromise = (async () => {\n this.contacts = normalizeContacts(imClient.refreshContactList());\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n if (!this.contacts.length || force) {\n const serverContacts = await imClient.getServerContactList(requestUserId);\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return this.contacts;\n }\n this.contacts = normalizeContacts(serverContacts);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n window.setTimeout(() => {\n if (serial !== this.refreshSerial || useSessionStore().userId !== requestUserId) {\n return;\n }\n const latest = imClient.getContactList(false);\n if (latest.length || !this.contacts.length) {\n this.contacts = normalizeContacts(latest);\n this.loadedForUserId = requestUserId;\n this.loadedAt = Date.now();\n if (!this.contacts.find(item => item.id === this.activeId)) {\n this.activeId = this.contacts[0]?.id || '';\n }\n }\n }, 1200);\n return this.contacts;\n })();\n\n try {\n return await this.refreshPromise;\n } finally {\n if (serial === this.refreshSerial) {\n this.loading = false;\n this.refreshPromise = null;\n }\n }\n },\n async addContact(keyword) {\n const session = useSessionStore();\n const value = String(keyword || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!value) {\n this.actionError = '请输入用户ID、手机号或用户名';\n return false;\n }\n\n this.loading = true;\n try {\n const contact = await imClient.addContact(session.userId, value, '添加联系人');\n if (contact) {\n this.contacts = normalizeContacts([...this.contacts, contact]);\n this.activeId = contact.id;\n }\n this.actionInfo = '联系人已添加';\n await this.refreshContacts({ force: true });\n return true;\n } catch (error) {\n this.actionError = error.message || '添加联系人失败';\n return false;\n } finally {\n this.loading = false;\n }\n },\n async updateContactAlias(contactId, alias) {\n const session = useSessionStore();\n const targetId = String(contactId || '').trim();\n const nextAlias = String(alias || '').trim();\n this.actionError = '';\n this.actionInfo = '';\n if (!session.userId) {\n this.actionError = '请先登录';\n return false;\n }\n if (!targetId) {\n this.actionError = '缺少联系人ID';\n return false;\n }\n\n try {\n const savedAlias = await imClient.updateContactAlias(session.userId, targetId, nextAlias);\n this.contacts = normalizeContacts(this.contacts.map(item => {\n if (item.uid !== targetId && item.id !== targetId) {\n return item;\n }\n const rawUser = {\n ...(item.rawUser || {}),\n friendAlias: savedAlias\n };\n const rawFriend = {\n ...(item.rawFriend || {}),\n alias: savedAlias\n };\n const title = savedAlias || rawUser.displayName || rawUser.name || item.uid;\n return {\n ...item,\n title,\n avatarText: title.slice(0, 1).toUpperCase(),\n alias: savedAlias,\n rawFriend,\n rawUser\n };\n }));\n this.loadedAt = Date.now();\n this.actionInfo = '备注名已修改';\n return true;\n } catch (error) {\n this.actionError = error.message || '备注名修改失败';\n return false;\n }\n },\n clearContacts() {\n this.refreshSerial += 1;\n this.contacts = [];\n this.activeId = '';\n this.loading = false;\n this.refreshPromise = null;\n this.loadedForUserId = '';\n this.loadedAt = 0;\n this.actionError = '';\n this.actionInfo = '';\n },\n setActiveContact(id) {\n this.activeId = id;\n },\n openChat(contact) {\n if (!contact) {\n return;\n }\n const conversations = useConversationStore();\n const navigation = useNavigationStore();\n const conversation = imClient.createSingleConversation(contact.uid, contact);\n conversations.upsertConversation(conversation);\n conversations.setActiveConversation(conversation.id);\n navigation.showMessages();\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\nimport { useSessionStore } from '@/stores/session';\nimport { realtimeNotifications } from '@/services/realtimeNotifications';\n\nconst LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2';\nconst LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1';\nconst recentRealtimeNotifications = new Map();\n\nfunction isDuplicateRealtimeNotification(payload) {\n const messageId = String(payload?.messageId || '');\n if (!messageId) {\n return false;\n }\n const key = `${payload?.kind || 'message'}:${messageId}`;\n const now = Date.now();\n const previousAt = Number(recentRealtimeNotifications.get(key) || 0);\n recentRealtimeNotifications.set(key, now);\n if (recentRealtimeNotifications.size > 200) {\n recentRealtimeNotifications.forEach((seenAt, seenKey) => {\n if (now - seenAt > 30000) {\n recentRealtimeNotifications.delete(seenKey);\n }\n });\n }\n return now - previousAt < 5000;\n}\n\nfunction scopedStorageKey(baseKey) {\n const session = useSessionStore();\n const scope = `${appConfig.appServer || ''}:${session.userId || 'anonymous'}`;\n return `${baseKey}:${encodeURIComponent(scope)}`;\n}\n\nfunction readFavoriteMessages() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeFavoriteMessages(messages) {\n localStorage.setItem(scopedStorageKey(LOCAL_FAVORITE_MESSAGES_KEY), JSON.stringify(messages));\n}\n\nfunction readLocalConversations() {\n try {\n return JSON.parse(localStorage.getItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY)) || '[]');\n } catch (error) {\n return [];\n }\n}\n\nfunction writeLocalConversations(conversations) {\n localStorage.setItem(scopedStorageKey(LOCAL_CONVERSATION_STORAGE_KEY), JSON.stringify(conversations));\n}\n\nfunction randomId() {\n if (window.crypto && window.crypto.randomUUID) {\n return window.crypto.randomUUID().replaceAll('-', '');\n }\n return `${Date.now()}${Math.random().toString(16).slice(2)}`;\n}\n\nfunction messageKey(message) {\n return message.id || message.messageUid;\n}\n\nfunction messageStableKey(message) {\n return String(message?.messageUid || message?.id || '');\n}\n\nfunction messageActivityTimestamp(message) {\n return Number(message?.activityTimestamp || message?.editedAt || message?.displayTimestamp || message?.timestamp || 0);\n}\n\nfunction hasSameRenderState(left, right) {\n if (left === right) {\n return true;\n }\n try {\n return JSON.stringify(left) === JSON.stringify(right);\n } catch (error) {\n return false;\n }\n}\n\nfunction isRecalledMessage(message) {\n return Boolean(message?.recalled) || message?.status === 'recalled';\n}\n\nfunction attachmentLabel(message) {\n const attachment = message?.attachment;\n if (!attachment) {\n return '';\n }\n if (attachment.type === 'image') {\n return '[图片]';\n }\n return `[文件] ${attachment.name || '文件'}`;\n}\n\nfunction cleanPlaceholderText(text, message = {}) {\n const value = String(text || '').replace(/\\s+/g, ' ').trim();\n const contentType = Number(message?.contentType || 0);\n if (!value) {\n return '';\n }\n if (contentType !== 1 && value === '[暂不支持的消息类型]') {\n return '';\n }\n if ((contentType === 3 || message?.type === 'image') && (value === '[图片]' || value === '图片')) {\n return '';\n }\n\n return value;\n}\n\nfunction messagePreviewText(message) {\n if (isRecalledMessage(message)) {\n return `[${message?.recallStatus || '已撤回'}]`;\n }\n const text = cleanPlaceholderText(message?.text, message);\n return text || attachmentLabel(message);\n}\n\nfunction sanitizeConversation(conversation) {\n if (!conversation) {\n return conversation;\n }\n return {\n ...conversation,\n subtitle: cleanPlaceholderText(conversation.subtitle, conversation)\n };\n}\n\nfunction isHttpUrl(value) {\n try {\n const url = new URL(String(value || '').trim());\n return url.protocol === 'http:' || url.protocol === 'https:';\n } catch (error) {\n return false;\n }\n}\n\nfunction fileNameFromUrl(url, fallback = '图片') {\n try {\n const path = new URL(url).pathname;\n const name = decodeURIComponent(path.split('/').filter(Boolean).pop() || '');\n return name || fallback;\n } catch (error) {\n return fallback;\n }\n}\n\nfunction normalizeMessageForDisplay(message) {\n if (!message || message.attachment) {\n return message;\n }\n\n const contentType = Number(message.contentType || 0);\n const text = String(message.text || '').trim();\n if ((contentType === 3 || message.type === 'image') && isHttpUrl(text)) {\n return {\n ...message,\n type: 'image',\n text: '',\n attachment: {\n type: 'image',\n url: text,\n name: fileNameFromUrl(text, '图片'),\n mime: 'image/*',\n size: 0\n }\n };\n }\n\n return message;\n}\n\nfunction quotePrefix(message) {\n const text = messagePreviewText(message);\n return text.length > 48 ? `${text.slice(0, 48)}...` : text;\n}\n\nasync function writeClipboard(text) {\n if (navigator.clipboard?.writeText) {\n await navigator.clipboard.writeText(text);\n return;\n }\n const element = document.createElement('textarea');\n element.value = text;\n element.setAttribute('readonly', 'readonly');\n element.style.position = 'fixed';\n element.style.left = '-9999px';\n document.body.appendChild(element);\n element.select();\n document.execCommand('copy');\n document.body.removeChild(element);\n}\n\nfunction isSameMessage(left, right) {\n if (left.messageUid && right.messageUid && left.messageUid === right.messageUid) {\n return true;\n }\n if (left.id && right.id && left.id === right.id) {\n return true;\n }\n return left.direction === right.direction\n && left.text === right.text\n && (left.type || 'text') === (right.type || 'text')\n && Math.abs(Number(left.displayTimestamp || left.timestamp || 0) - Number(right.displayTimestamp || right.timestamp || 0)) < 15000;\n}\n\nfunction hasExactMessage(messages, message) {\n return messages.some(item => {\n if (item.id && message.id && item.id === message.id) {\n return true;\n }\n return item.messageUid && message.messageUid && item.messageUid === message.messageUid;\n });\n}\n\nfunction shouldUseMessagePolling() {\n return imClient.shouldUseMessagePolling ? imClient.shouldUseMessagePolling() : true;\n}\n\nfunction canMarkReadNow(options = {}) {\n if (typeof document === 'undefined') {\n return false;\n }\n if (document.visibilityState !== 'visible') {\n return false;\n }\n if (options.userAction) {\n return true;\n }\n return true;\n}\n\nfunction isPageVisible() {\n return typeof document === 'undefined' || document.visibilityState === 'visible';\n}\n\nfunction activeMessageSyncIntervalMs() {\n const configured = Number(appConfig.syncIntervalMs || 0);\n return Math.max(15000, Number.isFinite(configured) && configured > 0 ? configured : 15000);\n}\n\nfunction conversationListSyncIntervalMs() {\n return Math.max(30000, activeMessageSyncIntervalMs() * 2);\n}\n\nfunction mergeVisibleMessages(currentMessages, syncedMessages) {\n const merged = [...syncedMessages].map(normalizeMessageForDisplay);\n currentMessages.forEach(currentMessage => {\n currentMessage = normalizeMessageForDisplay(currentMessage);\n const exists = merged.some(message => isSameMessage(message, currentMessage));\n const shouldKeepLocal = currentMessage.status === 'sending'\n || currentMessage.status === 'failed'\n || (currentMessage.direction === 'out'\n && currentMessage.status === 'sent'\n && Date.now() - Number(currentMessage.timestamp || 0) < 30000);\n if (!exists && shouldKeepLocal) {\n merged.push(currentMessage);\n }\n });\n\n return merged\n .filter((message, index, messages) => {\n const key = messageKey(message);\n return messages.findIndex(item => messageKey(item) === key) === index;\n })\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0));\n}\n\nfunction incomingEditedMessages(previousMessages, nextMessages) {\n const previousByKey = new Map();\n (previousMessages || []).forEach(message => {\n const key = messageStableKey(message);\n if (key) {\n previousByKey.set(key, message);\n }\n });\n\n return (nextMessages || []).filter(message => {\n if (message.direction !== 'in') {\n return false;\n }\n const editedAt = Number(message.editedAt || 0);\n if (editedAt <= 0) {\n return false;\n }\n const previous = previousByKey.get(messageStableKey(message));\n return previous && editedAt > Number(previous.editedAt || 0);\n });\n}\n\nlet notificationAudioContext = null;\n\nfunction playNotificationSound() {\n if (typeof window === 'undefined') {\n return;\n }\n try {\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (!AudioContext) {\n return;\n }\n notificationAudioContext = notificationAudioContext || new AudioContext();\n if (notificationAudioContext.state === 'suspended') {\n notificationAudioContext.resume().catch(() => {});\n }\n const oscillator = notificationAudioContext.createOscillator();\n const gain = notificationAudioContext.createGain();\n const startAt = notificationAudioContext.currentTime;\n oscillator.type = 'sine';\n oscillator.frequency.setValueAtTime(880, startAt);\n oscillator.frequency.setValueAtTime(660, startAt + 0.1);\n gain.gain.setValueAtTime(0.0001, startAt);\n gain.gain.exponentialRampToValueAtTime(0.12, startAt + 0.02);\n gain.gain.exponentialRampToValueAtTime(0.0001, startAt + 0.22);\n oscillator.connect(gain);\n gain.connect(notificationAudioContext.destination);\n oscillator.start(startAt);\n oscillator.stop(startAt + 0.24);\n } catch (error) {\n // Notification sound is best-effort; browsers may block audio until user interaction.\n }\n}\n\nexport const useConversationStore = defineStore('conversations', {\n state: () => ({\n activeId: '',\n conversations: [],\n messagesByConversation: {},\n visibleMessagesByConversation: {},\n eventsBound: false,\n usingDemoData: false,\n loading: false,\n syncTimer: null,\n conversationSyncTimer: null,\n readPresenceEventsBound: false,\n syncInFlight: false,\n pendingReadReceiptConversationId: '',\n conversationSyncInFlight: false,\n messageSyncTimer: null,\n messageSyncQueuedAt: 0,\n pendingMessageSyncOptions: {},\n lastReadSyncByConversation: {},\n optimisticMessagesByConversation: {},\n quotedMessage: null,\n forwardingMessages: [],\n editingMessage: null,\n editingText: '',\n editingMode: '',\n messageDetailOpen: false,\n messageDetailLoading: false,\n messageDetailError: '',\n messageDetail: null,\n attentionMessageId: '',\n attentionMessageTimer: null,\n selectionMode: false,\n selectedMessageIds: [],\n favoriteMessages: [],\n activeFavoriteKey: '',\n actionNotice: '',\n actionError: '',\n realtimeSyncTimer: null\n }),\n getters: {\n activeConversation(state) {\n return state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n },\n activeMessages(state) {\n return state.visibleMessagesByConversation[state.activeId] || [];\n },\n totalUnread(state) {\n return state.conversations.reduce((sum, item) => sum + Number(item.unread || 0), 0);\n },\n canSendActiveConversation(state) {\n const conversation = state.conversations.find(item => item.id === state.activeId) || state.conversations[0] || null;\n if (!conversation) {\n return false;\n }\n if (conversation.type !== 'channel') {\n return true;\n }\n return ['owner', 'admin'].includes(conversation.role || conversation.raw?.role || '');\n },\n favoriteMessageIds(state) {\n return state.favoriteMessages.map(message => message.key);\n },\n activeFavorite(state) {\n return state.favoriteMessages.find(message => message.key === state.activeFavoriteKey)\n || state.favoriteMessages[0]\n || null;\n },\n selectedMessages(state) {\n const selectedIds = new Set(state.selectedMessageIds);\n return (state.visibleMessagesByConversation[state.activeId] || [])\n .filter(message => selectedIds.has(messageStableKey(message)));\n }\n },\n actions: {\n bootstrapDemoData() {\n const session = useSessionStore();\n this.bindImEvents();\n this.usingDemoData = false;\n if (!session.userId) {\n this.clearUserState();\n return;\n }\n this.loadScopedLocalState();\n this.startMessageSync();\n realtimeNotifications.start(session.userId, payload => this.handleRealtimeNotification(payload));\n },\n loadScopedLocalState() {\n this.conversations = readLocalConversations().map(sanitizeConversation);\n this.favoriteMessages = readFavoriteMessages();\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n this.activeId = this.conversations[0]?.id || '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.selectionMode = false;\n this.selectedMessageIds = [];\n if (this.activeId) {\n this.loadActiveMessages({ allowReadReceipt: true });\n }\n },\n clearUserState() {\n window.clearInterval(this.syncTimer);\n window.clearInterval(this.conversationSyncTimer);\n window.clearTimeout(this.messageSyncTimer);\n window.clearTimeout(this.attentionMessageTimer);\n window.clearTimeout(this.realtimeSyncTimer);\n realtimeNotifications.stop();\n this.syncTimer = null;\n this.conversationSyncTimer = null;\n this.messageSyncTimer = null;\n this.messageSyncQueuedAt = 0;\n this.pendingMessageSyncOptions = {};\n this.attentionMessageTimer = null;\n this.realtimeSyncTimer = null;\n this.syncInFlight = false;\n this.conversationSyncInFlight = false;\n this.pendingReadReceiptConversationId = '';\n this.lastReadSyncByConversation = {};\n this.activeId = '';\n this.conversations = [];\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n this.quotedMessage = null;\n this.forwardingMessages = [];\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n this.attentionMessageId = '';\n this.selectionMode = false;\n this.selectedMessageIds = [];\n this.favoriteMessages = [];\n this.activeFavoriteKey = '';\n this.actionNotice = '';\n this.actionError = '';\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('messageSent', message => {\n this.appendMessage(message.conversationId, message);\n });\n imClient.on('messageReceived', message => {\n this.appendMessage(message.conversationId, message);\n if (message.conversationId === this.activeId) {\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 700);\n }\n });\n imClient.on('messageStatusChanged', message => {\n this.replaceMessage(message.conversationId, message);\n });\n imClient.on('conversationsChanged', remoteConversations => {\n this.usingDemoData = false;\n this.applyRemoteConversations(remoteConversations);\n });\n },\n setActiveConversation(id) {\n this.activeId = id;\n const conversation = this.conversations.find(item => item.id === id);\n if (conversation) {\n conversation.unread = 0;\n }\n this.loadActiveMessages({ allowReadReceipt: true, userAction: true });\n },\n sendText(text) {\n const conversation = this.activeConversation;\n if (!conversation || !text.trim()) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n this.quotedMessage = null;\n }\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendTextMessage(conversation, value, message);\n conversation.subtitle = value;\n conversation.updatedAt = Date.now();\n writeLocalConversations(this.conversations);\n this.scheduleActiveMessagesSync({}, 700);\n },\n sendAttachment({ type, file, text = '' }) {\n const conversation = this.activeConversation;\n if (!conversation || !file || !['image', 'file'].includes(type)) {\n return;\n }\n let value = text.trim();\n if (this.quotedMessage) {\n this.quotedMessage = null;\n }\n const now = Date.now();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n senderRole: conversation.role || conversation.raw?.role || '',\n direction: 'out',\n type,\n text: value,\n attachment: {\n type,\n name: file.name || (type === 'image' ? '图片' : '文件'),\n mime: file.type || '',\n size: file.size || 0,\n url: type === 'image' ? URL.createObjectURL(file) : ''\n },\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: now,\n displayTimestamp: now\n };\n this.appendVisibleMessage(conversation.id, message);\n this.appendMessage(conversation.id, message);\n imClient.sendAttachmentMessage(conversation, { type, file, text: value }, message);\n conversation.subtitle = messagePreviewText(message);\n conversation.updatedAt = now;\n writeLocalConversations(this.conversations);\n this.scheduleActiveMessagesSync({}, 700);\n },\n async sendTextToConversation(conversation, text) {\n if (!conversation || !text.trim()) {\n return null;\n }\n const value = text.trim();\n const message = {\n id: randomId(),\n conversationId: conversation.id,\n from: 'me',\n direction: 'out',\n type: 'text',\n text: value,\n status: 'sending',\n deliveryStatus: 'sending',\n timestamp: Date.now(),\n displayTimestamp: Date.now()\n };\n this.appendMessage(conversation.id, message);\n const sentMessage = await imClient.sendTextMessage(conversation, value, message);\n this.replaceMessage(conversation.id, sentMessage);\n return sentMessage;\n },\n upsertConversation(conversation) {\n conversation = sanitizeConversation(conversation);\n const index = this.conversations.findIndex(item => item.id === conversation.id);\n if (index >= 0) {\n this.conversations.splice(index, 1, {\n ...this.conversations[index],\n ...conversation\n });\n } else {\n this.conversations.unshift(conversation);\n }\n this.usingDemoData = false;\n writeLocalConversations(this.conversations);\n },\n removeConversation(conversationId) {\n this.conversations = this.conversations.filter(conversation => conversation.id !== conversationId);\n const {\n [conversationId]: removedMessages,\n ...messagesByConversation\n } = this.messagesByConversation;\n const {\n [conversationId]: removedVisibleMessages,\n ...visibleMessagesByConversation\n } = this.visibleMessagesByConversation;\n const {\n [conversationId]: removedOptimisticMessages,\n ...optimisticMessagesByConversation\n } = this.optimisticMessagesByConversation;\n void removedMessages;\n void removedVisibleMessages;\n void removedOptimisticMessages;\n this.messagesByConversation = messagesByConversation;\n this.visibleMessagesByConversation = visibleMessagesByConversation;\n this.optimisticMessagesByConversation = optimisticMessagesByConversation;\n if (this.activeId === conversationId) {\n this.activeId = this.conversations[0]?.id || '';\n }\n writeLocalConversations(this.conversations);\n if (this.activeId) {\n this.loadActiveMessages();\n }\n },\n applyRemoteConversations(remoteConversations) {\n const remote = Array.isArray(remoteConversations) ? remoteConversations : [];\n if (!remote.length && this.conversations.length) {\n return;\n }\n\n const previousActiveId = this.activeId;\n const merged = new Map();\n this.conversations.forEach(conversation => {\n merged.set(conversation.id, conversation);\n });\n remote.forEach(conversation => {\n const unread = conversation.id === this.activeId && canMarkReadNow() ? 0 : Number(conversation.unread || 0);\n merged.set(conversation.id, {\n ...(merged.get(conversation.id) || {}),\n ...sanitizeConversation(conversation),\n unread\n });\n });\n\n const nextConversations = Array.from(merged.values())\n .map(sanitizeConversation)\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0))\n .slice(0, 100);\n const conversationsChanged = !hasSameRenderState(this.conversations, nextConversations);\n if (conversationsChanged) {\n this.conversations = nextConversations;\n }\n\n if (!this.conversations.length) {\n this.activeId = '';\n this.messagesByConversation = {};\n this.visibleMessagesByConversation = {};\n this.optimisticMessagesByConversation = {};\n writeLocalConversations(this.conversations);\n return;\n }\n\n if (!this.conversations.find(item => item.id === this.activeId)) {\n this.activeId = this.conversations[0].id;\n }\n if (conversationsChanged) {\n writeLocalConversations(this.conversations);\n }\n if (previousActiveId !== this.activeId || !this.messagesByConversation[this.activeId]) {\n this.loadActiveMessages();\n }\n },\n appendMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n if (!hasExactMessage(this.messagesByConversation[conversationId], message)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.updateConversationFromMessage(conversationId, message);\n this.syncVisibleMessages(conversationId);\n writeLocalConversations(this.conversations);\n },\n removeMessages(conversationId, messages) {\n const ids = new Set(messages.flatMap(message => [message.id, message.messageUid].filter(Boolean).map(String)));\n const filterMessages = list => (list || []).filter(message => {\n return ![message.id, message.messageUid].filter(Boolean).some(id => ids.has(String(id)));\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: filterMessages(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: filterMessages(this.visibleMessagesByConversation[conversationId])\n };\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: filterMessages(this.optimisticMessagesByConversation[conversationId])\n };\n this.selectedMessageIds = this.selectedMessageIds.filter(id => !ids.has(String(id)));\n },\n replaceLocalMessage(conversationId, targetMessage, nextMessage) {\n const keys = new Set([targetMessage.id, targetMessage.messageUid].filter(Boolean).map(String));\n const replaceInList = list => (list || []).map(message => {\n const matched = [message.id, message.messageUid].filter(Boolean).some(id => keys.has(String(id)));\n return matched ? { ...message, ...nextMessage } : message;\n });\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: replaceInList(this.messagesByConversation[conversationId])\n };\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: replaceInList(this.visibleMessagesByConversation[conversationId])\n };\n },\n updateConversationFromMessage(conversationId, message) {\n const conversation = this.conversations.find(item => item.id === conversationId);\n if (!conversation) {\n return;\n }\n\n conversation.subtitle = messagePreviewText(message) || cleanPlaceholderText(conversation.subtitle, conversation);\n conversation.updatedAt = messageActivityTimestamp(message) || Date.now();\n if (message.direction === 'in') {\n conversation.unread = conversationId === this.activeId ? 0 : Number(conversation.unread || 0) + 1;\n }\n this.conversations = [...this.conversations]\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0));\n },\n appendVisibleMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n const messages = this.visibleMessagesByConversation[conversationId] || [];\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: [...messages.filter(item => item.id !== message.id), message]\n .sort((a, b) => Number(a.displayTimestamp || a.timestamp || 0) - Number(b.displayTimestamp || b.timestamp || 0))\n };\n },\n replaceMessage(conversationId, message) {\n message = normalizeMessageForDisplay(message);\n if (!this.messagesByConversation[conversationId]) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: []\n };\n }\n if (message.direction === 'out' && (message.status === 'sending' || message.status === 'sent' || message.status === 'failed')) {\n this.keepOptimisticMessage(conversationId, message);\n }\n const index = this.messagesByConversation[conversationId].findIndex(item => item.id === message.id);\n if (index >= 0) {\n const messages = [...this.messagesByConversation[conversationId]];\n messages.splice(index, 1, message);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: messages\n };\n } else {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversationId]: [...this.messagesByConversation[conversationId], message]\n };\n }\n this.syncVisibleMessages(conversationId);\n },\n syncVisibleMessages(conversationId) {\n const currentMessages = this.visibleMessagesByConversation[conversationId] || [];\n const nextMessages = mergeVisibleMessages(\n this.optimisticMessagesByConversation[conversationId] || [],\n this.messagesByConversation[conversationId] || []\n );\n if (!hasSameRenderState(currentMessages, nextMessages)) {\n this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: nextMessages\n };\n }\n },\n keepOptimisticMessage(conversationId, message) {\n if (!this.optimisticMessagesByConversation[conversationId]) {\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: []\n };\n }\n const messages = this.optimisticMessagesByConversation[conversationId];\n const index = messages.findIndex(item => item.id === message.id);\n let nextMessages;\n if (index >= 0) {\n nextMessages = [...messages];\n nextMessages.splice(index, 1, message);\n } else {\n nextMessages = [...messages, message];\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: nextMessages\n };\n },\n pruneOptimisticMessages(conversationId, syncedMessages) {\n const messages = this.optimisticMessagesByConversation[conversationId] || [];\n if (!messages.length) {\n return;\n }\n this.optimisticMessagesByConversation = {\n ...this.optimisticMessagesByConversation,\n [conversationId]: messages.filter(message => {\n const remoteMatched = syncedMessages.some(syncedMessage => {\n return syncedMessage.id !== message.id && isSameMessage(syncedMessage, message);\n });\n if (remoteMatched && message.status !== 'failed') {\n return false;\n }\n return Date.now() - Number(message.displayTimestamp || message.timestamp || 0) < 30000 || message.status === 'failed';\n })\n };\n },\n loadActiveMessages(options = {}) {\n const syncOptions = typeof options === 'boolean'\n ? { allowReadReceipt: options }\n : options;\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n this.loading = true;\n const messages = imClient.getMessages(conversation, 30);\n this.pruneOptimisticMessages(conversation.id, messages);\n const nextMessages = mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages);\n if (!hasSameRenderState(this.messagesByConversation[conversation.id] || [], nextMessages)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversation.id]: nextMessages\n };\n }\n this.syncVisibleMessages(conversation.id);\n this.loading = false;\n this.syncActiveMessages(syncOptions);\n },\n async syncActiveMessages(options = {}) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n if (options.skipWhenHidden !== false && !isPageVisible()) {\n return;\n }\n const wantsReadReceipt = Boolean(options.allowReadReceipt);\n const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ userAction: Boolean(options.userAction) });\n const now = Date.now();\n const previousReadSyncAt = Number(this.lastReadSyncByConversation[conversation.id] || 0);\n const pollingReadReceipt = canMarkReadNow() && now - previousReadSyncAt >= 10000;\n const markRead = explicitReadReceipt || pollingReadReceipt;\n\n if (this.syncInFlight) {\n if (wantsReadReceipt) {\n this.pendingReadReceiptConversationId = conversation.id;\n }\n return;\n }\n this.syncInFlight = true;\n const syncedConversationId = conversation.id;\n const previousMessages = this.messagesByConversation[syncedConversationId] || [];\n try {\n const messages = await imClient.fetchRemoteMessages(conversation, 50, {\n markRead\n });\n if (markRead) {\n this.lastReadSyncByConversation = {\n ...this.lastReadSyncByConversation,\n [syncedConversationId]: Date.now()\n };\n }\n const editedIncomingMessages = incomingEditedMessages(previousMessages, messages);\n this.pruneOptimisticMessages(syncedConversationId, messages);\n const nextMessages = mergeVisibleMessages(\n this.messagesByConversation[syncedConversationId] || [],\n messages\n );\n if (!hasSameRenderState(this.messagesByConversation[syncedConversationId] || [], nextMessages)) {\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [syncedConversationId]: nextMessages\n };\n }\n this.syncVisibleMessages(syncedConversationId);\n if (editedIncomingMessages.length && syncedConversationId === this.activeId) {\n this.focusMessage(editedIncomingMessages.sort((a, b) => messageActivityTimestamp(b) - messageActivityTimestamp(a))[0]);\n playNotificationSound();\n }\n const latest = messages.reduce((latestMessage, message) => {\n if (!latestMessage || messageActivityTimestamp(message) > messageActivityTimestamp(latestMessage)) {\n return message;\n }\n return latestMessage;\n }, null);\n if (latest) {\n const nextSubtitle = messagePreviewText(latest);\n const nextUpdatedAt = messageActivityTimestamp(latest);\n if (conversation.subtitle !== nextSubtitle || Number(conversation.updatedAt || 0) !== nextUpdatedAt) {\n conversation.subtitle = nextSubtitle;\n conversation.updatedAt = nextUpdatedAt;\n writeLocalConversations(this.conversations);\n }\n }\n } catch (error) {\n // Keep the local view usable if a polling request misses.\n } finally {\n this.syncInFlight = false;\n if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) {\n this.pendingReadReceiptConversationId = '';\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 700);\n }\n }\n },\n scheduleActiveMessagesSync(options = {}, delay = 700) {\n if (!this.activeId || !isPageVisible()) {\n return;\n }\n const now = Date.now();\n if (!this.messageSyncQueuedAt) {\n this.messageSyncQueuedAt = now;\n }\n this.pendingMessageSyncOptions = {\n ...this.pendingMessageSyncOptions,\n allowReadReceipt: Boolean(\n this.pendingMessageSyncOptions.allowReadReceipt || options.allowReadReceipt\n ),\n userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction)\n };\n const maxWait = 1200;\n const runAt = Math.min(now + Math.max(0, Number(delay) || 0), this.messageSyncQueuedAt + maxWait);\n window.clearTimeout(this.messageSyncTimer);\n this.messageSyncTimer = window.setTimeout(() => {\n const pendingOptions = this.pendingMessageSyncOptions;\n this.messageSyncTimer = null;\n this.messageSyncQueuedAt = 0;\n this.pendingMessageSyncOptions = {};\n this.syncActiveMessages(pendingOptions);\n }, Math.max(0, runAt - now));\n },\n startMessageSync() {\n this.bindReadPresenceEvents();\n if (!this.syncTimer) {\n this.syncTimer = window.setInterval(() => {\n if (isPageVisible() && !realtimeNotifications.isConnected()) {\n this.syncActiveMessages();\n }\n }, activeMessageSyncIntervalMs());\n }\n if (!this.conversationSyncTimer) {\n this.conversationSyncTimer = window.setInterval(() => {\n if (isPageVisible() && !realtimeNotifications.isConnected()) {\n this.refreshRemoteConversations();\n }\n }, conversationListSyncIntervalMs());\n this.refreshRemoteConversations();\n }\n },\n handleRealtimeNotification(payload) {\n if (isDuplicateRealtimeNotification(payload)) {\n return;\n }\n window.clearTimeout(this.realtimeSyncTimer);\n this.realtimeSyncTimer = window.setTimeout(() => {\n this.refreshRemoteConversations();\n if (this.activeId) {\n this.scheduleActiveMessagesSync({ allowReadReceipt: canMarkReadNow() }, 700);\n }\n }, 500);\n },\n bindReadPresenceEvents() {\n if (this.readPresenceEventsBound || typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n this.readPresenceEventsBound = true;\n const syncWhenReadable = () => {\n if (canMarkReadNow()) {\n this.refreshRemoteConversations();\n this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 300);\n }\n };\n window.addEventListener('focus', syncWhenReadable);\n document.addEventListener('visibilitychange', syncWhenReadable);\n },\n async refreshRemoteConversations() {\n this.bindImEvents();\n this.usingDemoData = false;\n if (this.conversationSyncInFlight) {\n return;\n }\n this.conversationSyncInFlight = true;\n try {\n const remoteConversations = await imClient.fetchRemoteConversations(50);\n this.applyRemoteConversations(remoteConversations);\n } catch (error) {\n imClient.refreshConversationList();\n } finally {\n this.conversationSyncInFlight = false;\n }\n },\n setActionNotice(message) {\n this.actionNotice = message;\n this.actionError = '';\n window.clearTimeout(this.actionNoticeTimer);\n this.actionNoticeTimer = window.setTimeout(() => {\n this.actionNotice = '';\n }, 1800);\n },\n setActionError(message) {\n this.actionError = message;\n this.actionNotice = '';\n window.clearTimeout(this.actionErrorTimer);\n this.actionErrorTimer = window.setTimeout(() => {\n this.actionError = '';\n }, 2400);\n },\n focusMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n this.attentionMessageId = key;\n window.clearTimeout(this.attentionMessageTimer);\n this.attentionMessageTimer = window.setTimeout(() => {\n if (this.attentionMessageId === key) {\n this.attentionMessageId = '';\n }\n }, 2800);\n },\n async handleMessageAction({ action, message }) {\n if (!message) {\n return;\n }\n if (action === 'copy') {\n await this.copyMessages([message]);\n } else if (action === 'edit') {\n this.startEditMessage(message);\n } else if (action === 'delete') {\n this.deleteMessages([message]);\n } else if (action === 'forward') {\n this.startForward([message]);\n } else if (action === 'favorite') {\n this.toggleFavorite(message);\n } else if (action === 'detail') {\n await this.openMessageDetail(message);\n } else if (action === 'quote') {\n this.quoteMessage(message);\n } else if (action === 'select') {\n this.enterSelectionMode(message);\n } else if (action === 'recall') {\n await this.recallMessage(message);\n }\n },\n async openMessageDetail(message) {\n const conversation = this.activeConversation;\n if (!conversation || !message) {\n return;\n }\n const key = messageStableKey(message);\n this.messageDetailOpen = true;\n this.messageDetailLoading = true;\n this.messageDetailError = '';\n this.messageDetail = {\n messageUid: key,\n conversationType: conversation.type || conversation.raw?.type || 'single',\n sentAt: Number(message.displayTimestamp || message.timestamp || 0),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n localOnly: true,\n sender: {\n uid: message.from || '',\n name: message.senderName || message.from || ''\n }\n };\n try {\n if (!/^\\d+$/.test(key)) {\n this.messageDetailError = '本地临时消息暂无送达/已读详情';\n return;\n }\n const detail = await imClient.getMessageDetail(conversation, message);\n this.messageDetail = detail || this.messageDetail;\n } catch (error) {\n this.messageDetailError = error.message || '消息详情加载失败';\n } finally {\n this.messageDetailLoading = false;\n }\n },\n closeMessageDetail() {\n this.messageDetailOpen = false;\n this.messageDetailLoading = false;\n this.messageDetailError = '';\n this.messageDetail = null;\n },\n async copyMessages(messages) {\n const text = messages.map(message => message.text || '').join('\\n');\n if (!text.trim()) {\n return;\n }\n try {\n await writeClipboard(text);\n this.setActionNotice(messages.length > 1 ? '已复制所选消息' : '已复制');\n } catch (error) {\n this.setActionError('复制失败');\n }\n },\n deleteMessages(messages) {\n const conversation = this.activeConversation;\n if (!conversation || !messages.length) {\n return;\n }\n imClient.hideMessages(conversation, messages);\n this.removeMessages(conversation.id, messages);\n if (!this.selectedMessageIds.length) {\n this.selectionMode = false;\n }\n this.setActionNotice(messages.length > 1 ? '已删除所选消息' : '已删除');\n },\n toggleFavorite(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const index = this.favoriteMessages.findIndex(item => item.key === key);\n if (index >= 0) {\n this.favoriteMessages.splice(index, 1);\n if (this.activeFavoriteKey === key) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n this.setActionNotice('已取消收藏');\n } else {\n const conversation = this.conversations.find(item => item.id === message.conversationId) || {};\n this.favoriteMessages.unshift({\n key,\n id: message.id,\n messageUid: message.messageUid,\n conversationId: message.conversationId,\n conversationTitle: conversation.title || message.conversationTitle || '',\n type: message.type || 'text',\n text: message.text || '',\n preview: messagePreviewText(message),\n senderName: message.senderName || message.from || '',\n timestamp: Number(message.displayTimestamp || message.timestamp || Date.now()),\n editedAt: Number(message.editedAt || 0),\n recalled: isRecalledMessage(message),\n recallStatus: message.recallStatus || (isRecalledMessage(message) ? '已撤回' : ''),\n attachment: message.attachment ? { ...message.attachment } : null\n });\n this.activeFavoriteKey = key;\n this.setActionNotice('已收藏');\n }\n this.favoriteMessages = this.favoriteMessages.slice(0, 200);\n writeFavoriteMessages(this.favoriteMessages);\n },\n setActiveFavorite(key) {\n this.activeFavoriteKey = String(key || '');\n },\n removeFavorite(key) {\n const value = String(key || '');\n if (!value) {\n return;\n }\n this.favoriteMessages = this.favoriteMessages.filter(message => message.key !== value);\n if (this.activeFavoriteKey === value) {\n this.activeFavoriteKey = this.favoriteMessages[0]?.key || '';\n }\n writeFavoriteMessages(this.favoriteMessages);\n },\n quoteMessage(message) {\n this.quotedMessage = {\n ...message,\n quoteText: quotePrefix(message)\n };\n this.setActionNotice('已引用,输入后发送');\n },\n cancelQuote() {\n this.quotedMessage = null;\n },\n enterSelectionMode(message = null) {\n this.selectionMode = true;\n if (message) {\n const key = messageStableKey(message);\n this.selectedMessageIds = key ? [key] : [];\n }\n },\n toggleSelectedMessage(message) {\n const key = messageStableKey(message);\n if (!key) {\n return;\n }\n const selected = new Set(this.selectedMessageIds);\n if (selected.has(key)) {\n selected.delete(key);\n } else {\n selected.add(key);\n }\n this.selectedMessageIds = Array.from(selected);\n this.selectionMode = this.selectedMessageIds.length > 0;\n },\n clearSelection() {\n this.selectionMode = false;\n this.selectedMessageIds = [];\n },\n copySelectedMessages() {\n return this.copyMessages(this.selectedMessages);\n },\n deleteSelectedMessages() {\n this.deleteMessages(this.selectedMessages);\n },\n startForward(messages) {\n this.forwardingMessages = messages.filter(message => message?.text);\n if (!this.forwardingMessages.length) {\n this.setActionError('没有可转发的消息');\n }\n },\n startForwardSelectedMessages() {\n this.startForward(this.selectedMessages);\n },\n cancelForward() {\n this.forwardingMessages = [];\n },\n startEditMessage(message) {\n const isResend = isRecalledMessage(message);\n if (!isResend && !message?.text) {\n this.setActionError('没有可编辑的文字内容');\n return;\n }\n this.editingMessage = message;\n this.editingText = message.text || '';\n this.editingMode = isResend ? 'resend' : 'edit';\n },\n cancelEditMessage() {\n this.editingMessage = null;\n this.editingText = '';\n this.editingMode = '';\n },\n async completeEditMessage() {\n const conversation = this.activeConversation;\n const message = this.editingMessage;\n const text = this.editingText.trim();\n const isResend = this.editingMode === 'resend' || isRecalledMessage(message);\n if (!conversation || !message) {\n this.cancelEditMessage();\n return;\n }\n if (!text) {\n this.setActionError('编辑内容不能为空');\n return;\n }\n if (!isResend && text === String(message.text || '').trim()) {\n this.cancelEditMessage();\n return;\n }\n try {\n if (isResend) {\n await this.sendTextToConversation(conversation, text);\n this.cancelEditMessage();\n this.setActionNotice('已重新发送');\n return;\n }\n const editedMessage = await imClient.editMessage(conversation, message, text);\n this.replaceLocalMessage(conversation.id, message, editedMessage);\n if (messageActivityTimestamp(editedMessage) >= Number(conversation.updatedAt || 0)) {\n conversation.subtitle = messagePreviewText(editedMessage);\n conversation.updatedAt = messageActivityTimestamp(editedMessage);\n writeLocalConversations(this.conversations);\n }\n this.cancelEditMessage();\n this.setActionNotice('已编辑');\n } catch (error) {\n this.setActionError(error.message || '编辑失败');\n }\n },\n async completeForward(targetConversationId) {\n const target = this.conversations.find(conversation => conversation.id === targetConversationId);\n if (!target || !this.forwardingMessages.length) {\n return;\n }\n const text = this.forwardingMessages\n .map(message => `转发:${message.text || ''}`)\n .join('\\n\\n');\n try {\n await this.sendTextToConversation(target, text);\n this.forwardingMessages = [];\n this.clearSelection();\n this.setActionNotice('已转发');\n } catch (error) {\n this.setActionError(error.message || '转发失败');\n }\n },\n async recallMessage(message) {\n const conversation = this.activeConversation;\n if (!conversation) {\n return;\n }\n try {\n await imClient.recallMessage(conversation, message);\n if (message.direction !== 'out') {\n this.removeMessages(conversation.id, [message]);\n this.setActionNotice('已撤回');\n this.syncActiveMessages();\n return;\n }\n this.replaceLocalMessage(conversation.id, message, {\n status: 'recalled',\n deliveryStatus: '',\n recalled: true,\n recallStatus: '已撤回'\n });\n this.setActionNotice('已撤回');\n } catch (error) {\n this.setActionError(error.message || '撤回失败');\n }\n },\n async createGroup(options = {}) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.createGroup(session.userId, options);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || '';\n if (nativeStatus && nativeStatus !== 'ok') {\n this.setActionNotice(options.channel ? '公告群已创建,仅网页可见' : '群组已创建,仅网页可见');\n } else {\n this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建');\n }\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || (options.channel ? '创建公告群失败' : '创建群组失败'));\n return false;\n }\n },\n async joinGroup(groupKey) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const conversation = await imClient.joinGroup(session.userId, groupKey);\n this.upsertConversation(conversation);\n this.setActiveConversation(conversation.id);\n const nativeStatus = conversation.nativeStatus || conversation.raw?.nativeStatus || '';\n this.setActionNotice(nativeStatus && nativeStatus !== 'ok' ? '已加入群组,仅网页可见' : '已加入群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '加入群组失败');\n return false;\n }\n },\n async broadcastMessage(targetIds, text) {\n const session = useSessionStore();\n if (!session.userId) {\n this.setActionError('请先登录');\n return false;\n }\n try {\n const result = await imClient.broadcastMessage(session.userId, targetIds, text);\n const successCount = Number(result.successCount || 0);\n const failedCount = Number(result.failedCount || 0);\n this.setActionNotice(failedCount > 0 ? `已群发 ${successCount} 条,失败 ${failedCount} 条` : `已群发 ${successCount} 条`);\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '群发失败');\n return false;\n }\n },\n async leaveGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.leaveGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('已退出群组');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '退出群组失败');\n return false;\n }\n },\n async dismissGroup(conversation) {\n const session = useSessionStore();\n if (!session.userId || !conversation?.target) {\n this.setActionError('缺少群组信息');\n return false;\n }\n try {\n await imClient.dismissGroup(session.userId, conversation.target);\n this.removeConversation(conversation.id);\n this.setActionNotice('群组已解散');\n this.refreshRemoteConversations();\n return true;\n } catch (error) {\n this.setActionError(error.message || '解散群组失败');\n return false;\n }\n }\n }\n});\n","import { defineStore } from 'pinia';\n\nexport const useNavigationStore = defineStore('navigation', {\n state: () => ({\n section: 'messages'\n }),\n actions: {\n showMessages() {\n this.section = 'messages';\n },\n showContacts() {\n this.section = 'contacts';\n },\n showFavorites() {\n this.section = 'favorites';\n }\n }\n});\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\n\nconst STORAGE_KEY = 'qmt-web-im-session';\n\nfunction normalizeStoredPortrait(portrait) {\n return portrait || '';\n}\n\nfunction nextProfilePortrait(profilePortrait, currentPortrait) {\n return normalizeStoredPortrait(profilePortrait) || normalizeStoredPortrait(currentPortrait);\n}\n\nexport const useSessionStore = defineStore('session', {\n state: () => ({\n isAuthenticated: false,\n connecting: false,\n connected: false,\n connectionStatusText: '未连接',\n userId: '',\n token: '',\n displayName: '',\n portrait: '',\n error: '',\n sdkVersion: '',\n eventsBound: false\n }),\n actions: {\n restore() {\n const raw = localStorage.getItem(STORAGE_KEY);\n if (!raw) {\n return;\n }\n try {\n const session = JSON.parse(raw);\n if (session.appServer !== appConfig.appServer) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n if (session.userId && session.token) {\n if (!session.clientId) {\n localStorage.removeItem(STORAGE_KEY);\n return;\n }\n this.userId = session.userId;\n this.token = session.token;\n this.displayName = session.displayName || session.userId;\n this.portrait = normalizeStoredPortrait(session.portrait);\n this.isAuthenticated = true;\n imClient.restoreClientId(session.clientId);\n if (session.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.connect();\n this.refreshProfile();\n }\n } catch (error) {\n localStorage.removeItem(STORAGE_KEY);\n }\n },\n async loginWithPassword(mobile, password) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithPassword(mobile, password);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async loginWithCode(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n const result = await imClient.loginWithCode(mobile, code);\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async completePcSessionLogin(result) {\n this.error = '';\n this.connecting = true;\n try {\n this.applyLoginResult(result);\n await this.connect();\n } catch (error) {\n this.error = error.message || '扫码登录失败';\n } finally {\n this.connecting = false;\n }\n },\n async registerWithPhone(mobile, code) {\n this.error = '';\n this.connecting = true;\n try {\n return await imClient.registerWithPhone(mobile, code);\n } catch (error) {\n this.error = error.message || '注册失败';\n return null;\n } finally {\n this.connecting = false;\n }\n },\n applyLoginResult(result) {\n this.userId = result.userId || result.uid || result.id || '';\n this.token = result.token || result.imToken || '';\n this.displayName = result.displayName || result.userName || result.name || this.userId;\n this.portrait = normalizeStoredPortrait(result.portrait);\n this.isAuthenticated = Boolean(this.userId && this.token);\n if (result.localOnly) {\n this.connectionStatusText = '本地调试登录';\n }\n this.persistSession(Boolean(result.localOnly));\n },\n persistSession(localOnly = false) {\n localStorage.setItem(STORAGE_KEY, JSON.stringify({\n userId: this.userId,\n token: this.token,\n displayName: this.displayName,\n portrait: this.portrait,\n clientId: imClient.getClientId(),\n localOnly,\n appServer: appConfig.appServer\n }));\n },\n applyProfile(profile) {\n if (!profile) {\n return;\n }\n this.userId = profile.userId || profile.uid || this.userId;\n this.displayName = profile.displayName || profile.name || this.displayName || this.userId;\n this.portrait = nextProfilePortrait(profile.portrait, this.portrait);\n this.persistSession();\n },\n async refreshProfile() {\n if (!this.userId) {\n return null;\n }\n try {\n const profile = await imClient.getProfile(this.userId);\n this.applyProfile(profile);\n return profile;\n } catch (error) {\n return null;\n }\n },\n async saveProfile({ displayName, portraitFile }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n const profile = await imClient.updateProfile(this.userId, {\n displayName,\n portraitFile\n });\n this.applyProfile(profile);\n return profile;\n },\n async changePassword({ oldPassword, newPassword }) {\n if (!this.userId) {\n throw new Error('请先登录');\n }\n await imClient.changePassword({ oldPassword, newPassword });\n return true;\n },\n async resetPasswordWithCode({ mobile, resetCode, newPassword }) {\n await imClient.resetPasswordWithCode({ mobile, resetCode, newPassword });\n return true;\n },\n async connect() {\n if (!this.userId || !this.token) {\n return;\n }\n await imClient.ensureSdk();\n this.sdkVersion = imClient.getSdkVersion();\n this.bindImEvents();\n await imClient.connect(this.userId, this.token);\n },\n bindImEvents() {\n if (this.eventsBound) {\n return;\n }\n this.eventsBound = true;\n imClient.on('connectionStatusChanged', status => {\n this.connected = status.connected;\n this.connectionStatusText = status.statusText || (status.connected ? '已连接' : '未连接');\n });\n },\n logout() {\n imClient.disconnect();\n localStorage.removeItem(STORAGE_KEY);\n this.$reset();\n }\n }\n});\n","import script from \"./App.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatShell.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LoginView.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ChatPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageComposer.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MessageList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactPanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoriteList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ContactList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ConversationList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NavigationRail.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","export { default } from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = function(x) {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjc_web_im\"] = self[\"webpackChunkjc_web_im\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(1406); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["onMounted","watch","LoginView","ChatShell","useSessionStore","useConversationStore","session","conversations","restore","userId","isAuthenticated","bootstrapDemoData","clearUserState","NavigationRail","ConversationList","ContactList","ChatPanel","ContactPanel","FavoriteList","FavoritePanel","useNavigationStore","useContactStore","navigation","contacts","refreshRemoteConversations","refreshContacts","axios","jrQRCode","computed","onBeforeUnmount","reactive","ref","appConfig","imClient","QR_CODE_PREFIX_PC_SESSION","pendingRegistrationStorageKey","defaultPlatformLogo","emailRegisterEnabled","view","mode","mobile","password","code","sendingCode","info","qrStatus","qrCodeImage","qrSessionToken","qrUserName","qrUserPortrait","qrPolling","qrGeneration","qrExpireTimer","defaultPlatformName","appName","platformName","platformLogo","registerType","registerMethods","phone","email","username","mobileRealVerify","registerPhoneError","phoneCaptcha","phoneCaptchaImage","usernameCaptcha","usernameCaptchaImage","settingRegisterPassword","pendingRegistration","result","resetCode","registerForm","phoneCountryCode","emailCode","usernamePhoneCountryCode","usernamePhone","usernameCode","confirmPassword","registerPasswordForm","countryCodeOptions","value","label","registerMethodOptions","key","canSubmit","length","visibleRegisterMethods","enabled","filter","item","canRegisterSubmit","phoneCaptchaMatched","usernameCaptchaMatched","canSetRegisterPassword","phoneCaptchaStatus","getCaptchaStatus","phoneCaptchaClass","getCaptchaClass","usernameCaptchaStatus","usernameCaptchaClass","qrUserInitial","String","slice","toUpperCase","qrStatusTitle","connecting","qrStatusText","qrRefreshText","methods","some","loadPlatformConfig","loadRegisterConfig","restorePendingRegistration","startQrLogin","stopQrLogin","requestCode","requestAuthCode","error","message","requestRegisterCode","formatPhoneForApi","submit","loginWithPassword","loginWithCode","setLoginMode","nextMode","resetQrState","clearQrExpireTimer","window","clearTimeout","refreshQrLogin","force","generation","pcSession","createPcSession","token","Error","getQrBase64","expireMs","Math","max","min","Number","expired","setTimeout","pollQrLogin","data","loginWithPcSession","codeValue","completePcSessionLogin","userName","displayName","portrait","delay","ms","Promise","resolve","normalizeUsernameCaptchaInput","replace","normalizePhoneCaptchaInput","normalizeRegisterCountryCode","showPhoneCaptcha","randomDigits","renderCaptchaImage","showUsernameCaptcha","inputValue","captchaValue","status","index","floor","random","text","width","height","canvas","document","createElement","context","getContext","fillStyle","fillRect","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","font","textBaseline","textAlign","fillText","toDataURL","submitRegister","clearRegisterPhoneError","formattedPhone","phoneExists","isRegisterPhoneExists","loginCode","registerWithPhone","setPendingRegistration","submitRegisterPassword","resetPasswordWithCode","newPassword","clearPendingRegistration","countryCode","digits","normalizedCode","normalizedPhone","response","get","registerConfigApi","withCredentials","Boolean","mobile_real_verify","platformConfigApi","config","name","trim","logo","logoUrl","version","resolveBrandLogo","applyDocumentBrand","test","appendBrandVersion","startsWith","location","protocol","base","adminServer","URL","toString","url","parsed","href","searchParams","set","title","iconUrl","setDocumentIcon","rel","icon","querySelector","setAttribute","head","appendChild","handleBrandLogoError","post","registerPhoneExistsApi","exists","msg","sessionStorage","removeItem","setItem","JSON","stringify","appServer","pending","parse","getItem","openRegister","backToLogin","MessageList","MessageComposer","activeConversation","groupMenuOpen","singleProfileOpen","singleAliasDraft","singleProfileSaving","singleProfileNotice","singleProfileError","groupPanel","groupBusy","groupDetail","groupMembers","groupAliasDraft","manageSection","selectedAdminIds","selectedKickIds","transferTargetId","profileDraft","announcement","welcomeText","muteDraft","scheduleType","startsAtLocal","endsAtLocal","dailyStart","dailyEnd","muteSaveNotice","muteSaveError","singlePeerId","isGroupConversation","target","raw","id","singleContact","peerId","find","contact","uid","singleProfile","conversation","rawUser","alias","rawName","address","avatarText","includes","type","currentGroupRole","myRole","role","isGroupOwner","canManageGroup","sortedGroupMembers","roleOrder","owner","admin","member","map","sort","left","right","leftOrder","rightOrder","adminCandidateMembers","transferableMembers","messageDetail","messageDetailGroup","group","isMessageDetailGroup","conversationType","messageDetailCounts","counts","read","unread","undelivered","total","kickCandidateMembers","statusText","canSendActiveConversation","connectionStatusText","connected","formatDetailTime","timestamp","Intl","DateTimeFormat","year","month","day","hour","minute","second","hour12","timeZone","resolvedOptions","format","detailMemberName","detailMemberAvatar","detailRoleLabel","closeGroupMenu","toggleGroupMenu","openSingleProfile","then","catch","closeSingleProfile","saveSingleAlias","ok","updateContactAlias","actionError","refreshedContact","nextTitle","upsertConversation","handleSenderProfileUpdated","syncActiveMessages","allowReadReceipt","loadGroupMembers","closeGroupPanel","clearMuteSaveFeedback","loadGroupDetail","getGroupDetail","setActionError","openGroupOverview","openGroupMembers","getGroupMembers","openGroupAlias","detail","myAlias","msToLocalInput","date","Date","local","getTime","getTimezoneOffset","toISOString","localInputToMs","prepareManagementDrafts","setting","muteSetting","startsAtMs","endsAtMs","openGroupManage","openTransferGroup","saveGroupAlias","updateGroupAlias","setActionNotice","toggleAdmin","selected","Set","has","delete","add","Array","from","toggleKick","saveGroupAdmins","setGroupAdmins","saveGroupProfile","updateGroupProfile","updatedAt","now","kickSelectedMembers","confirm","kickGroupMembers","removed","removedIds","saveMuteSetting","updateGroupMuteSetting","leaveCurrentGroup","leaveGroup","dismissCurrentGroup","dismissGroup","transferCurrentGroup","transferGroup","memberAvatar","addEventListener","removeEventListener","props","__props","emit","__emit","emojiOpen","dropActive","textareaEl","imageInput","fileInput","pendingAttachments","dragDepth","emojiList","attachments","forEach","attachment","file","clearPendingAttachments","toggleEmojiPicker","insertEmoji","emoji","element","start","selectionStart","end","selectionEnd","requestAnimationFrame","focus","cursor","setSelectionRange","chooseImage","click","chooseFile","attachmentTypeForFile","fallbackType","emitFiles","files","disabled","validFiles","File","size","push","previewUrl","createObjectURL","releasePendingAttachment","revokeObjectURL","removePendingAttachment","splice","selectAttachment","event","input","hasDraggedFiles","types","dataTransfer","handleDragEnter","dropEffect","handleDragOver","handleDragLeave","filesFromDataTransfer","items","kind","webkitGetAsEntry","isDirectory","getAsFile","handleDrop","imageFilesFromClipboard","clipboardData","handlePaste","imageFiles","preventDefault","nextTick","imageDisplayUrl","IMAGE_MIN_SCALE","IMAGE_MAX_SCALE","listEl","viewerStage","contextMenu","visible","x","y","messageTimeFormatter","imageViewer","scale","rotation","offsetX","offsetY","dragging","dragStartX","dragStartY","dragOffsetX","dragOffsetY","senderProfile","roleLabel","contactAlias","groupAlias","isContact","aliasDraft","saving","adding","notice","imageViewerStyle","transform","menuItems","isOwnMessage","direction","isRecalledMessage","action","favoriteLabel","isFavorite","unshift","canRecallOthers","scrollToBottom","scrollTop","scrollHeight","isNearBottom","clientHeight","scrollToMessage","messageId","row","querySelectorAll","dataset","messageKey","scrollIntoView","block","behavior","messages","messageIdentity","join","nextKeys","previousKeys","immediate","attentionMessageId","closeMenu","closeMenuOnEscape","moveImageDrag","stopImageDrag","messageUid","displayMessageText","contentType","canOpenMessageMenu","isSelected","selectedMessageIds","favoriteMessageIds","isAttention","isRecallNotice","recalled","isImageMessage","isFileMessage","isGroupMessage","showGroupSender","senderRoleLabel","senderRole","groupSenderName","senderName","groupSenderAvatarText","openSenderProfile","profile","cachedContact","cachedAlias","remarkAlias","senderPortrait","closeSenderProfile","addSenderAsContact","addContact","aliasSaved","saveSenderAlias","roleBubbleClass","formatFileSize","bytes","toFixed","retryImageLoad","image","currentTarget","HTMLImageElement","attempts","loadRetries","originalUrl","getAttribute","isConnected","separator","src","handleMessageClick","selectionMode","handleImageClick","openImageViewer","resetImageViewer","closeImageViewer","clampImageScale","setImageScale","originX","originY","previousScale","nextScale","rect","getBoundingClientRect","centerX","centerY","top","ratio","zoomImage","delta","rotateImage","handleImageWheel","factor","deltaY","clientX","clientY","startImageDrag","saveViewerImage","downloadUrl","origin","link","download","body","remove","openMenu","innerWidth","innerHeight","chooseMenuAction","formatTime","deliveryState","state","deliveryStatus","deliveryTitle","failureText","errorCode","activeContact","remarkName","editingAlias","aliasSaving","aliasError","openAliasEditor","closeAliasEditor","submitAlias","activeKey","activeFavorite","favoriteTitle","conversationTitle","entry","conversationId","favoritePreview","recallStatus","preview","formatFavoriteTime","favorite","clearFeedback","favoriteText","isImageFavorite","isFileFavorite","favoriteCopyText","copyFavorite","writeClipboard","copyError","navigator","clipboard","writeText","style","position","select","execCommand","removeChild","openConversation","showMessages","setActiveConversation","focusMessage","removeFavorite","keyword","addingContact","addKeyword","filteredContacts","toLowerCase","subtitle","openAddContact","actionInfo","closeAddContact","submitAddContact","added","defineComponent","h","actionMenuOpen","activeAction","actionBusy","searchKeyword","groupName","groupAnnouncement","groupWelcomeText","joinGroupKey","broadcastText","channelName","channelAnnouncement","contactKeyword","selectedContactIds","actionTitles","createGroup","joinGroup","broadcast","createChannel","submitLabels","actionTitle","submitLabel","modalError","modalInfo","actionNotice","normalizedSearchKeyword","contactsByUid","Map","filteredConversationItems","conversationResult","conversationResults","matchesConversation","contactForConversation","conversationTargets","conversationTarget","contactResults","matchesContact","contactResult","submitDisabled","ContactPicker","default","selectedIds","emptyText","emits","setup","class","placeholder","onInput","onClick","alt","searchableValues","values","flatMap","isArray","Object","matchesKeyword","compactKeyword","groupId","group_id","owner_uid","friendAlias","rawFriend","resultKind","resultKey","isListItemActive","activeId","selectListItem","openChat","clearStoreMessages","resetActionFields","toggleActionMenu","closeActionMenu","openAction","closeActionModal","toggleContact","contactId","submitAction","memberIds","broadcastMessage","channel","formatUnread","count","CROP_OUTPUT_SIZE","settingsItems","initials","settingsOpen","settingsSection","passwordSaving","settingsNotice","settingsError","profileOpen","profileSaving","profileNotice","profileError","profileFile","profilePreview","portraitInput","cropperCanvas","cropperPreviewCanvas","passwordDraft","oldPassword","currentAvatarUrl","activeSettingsItem","avatarPreviewViewer","open","avatarCropper","loaded","busy","objectUrl","fileName","baseScale","avatarPreviewStyle","refreshProfile","drawAvatarCropper","revokeProfilePreview","closeAvatarCropper","showContacts","clearProfileFeedback","clearSettingsFeedback","resetPasswordDraft","openSettings","closeSettings","selectSettingsSection","section","revokeCropperObjectUrl","openProfileEditor","closeProfileEditor","closeAvatarPreview","selectPortrait","openAvatarCropper","choosePortraitFile","openAvatarPreview","resetAvatarPreview","zoomAvatarPreview","handleAvatarPreviewWheel","startAvatarPreviewDrag","setPointerCapture","pointerId","moveAvatarPreviewDrag","stopAvatarPreviewDrag","dropPortrait","cropperStageSize","round","cropperBoxSize","rotatedImageSize","quarterTurn","abs","naturalHeight","naturalWidth","clampCropperOffset","cropSize","rotated","scaledWidth","scaledHeight","maxX","maxY","updateCropperBaseScale","drawCanvasImage","outputScale","cropOnly","dpr","devicePixelRatio","setTransform","clearRect","save","translate","rotate","PI","drawImage","fill","previewCanvas","resetCropperTransform","Image","onload","onerror","zoomCropper","rotateCropper","degrees","handleCropperWheel","startCropperDrag","moveCropperDrag","stopCropperDrag","canvasToBlob","quality","reject","toBlob","blob","confirmAvatarCrop","outputCanvas","croppedFile","saveProfile","portraitFile","savePassword","changePassword","logout","clearContacts","currentHost","hostname","runtimeConfig","JC_WEB_IM_CONFIG","appServerOrigin","adminServerOrigin","process","env","VUE_APP_ADMIN_SERVER","VUE_APP_APP_SERVER","VUE_APP_PLATFORM_CONFIG_API","NODE_ENV","VUE_APP_REGISTER_CONFIG_API","VUE_APP_REGISTER_PHONE_EXISTS_API","contactsApi","VUE_APP_CONTACTS_API","updateAliasApi","VUE_APP_UPDATE_ALIAS_API","addContactApi","VUE_APP_ADD_CONTACT_API","conversationActionsApi","VUE_APP_CONVERSATION_ACTIONS_API","sendMessageApi","VUE_APP_SEND_MESSAGE_API","messageActionApi","VUE_APP_MESSAGE_ACTION_API","messageDetailApi","VUE_APP_MESSAGE_DETAIL_API","messagesApi","VUE_APP_MESSAGES_API","profileApi","VUE_APP_PROFILE_API","changePasswordApi","VUE_APP_CHANGE_PASSWORD_API","resetPasswordApi","VUE_APP_RESET_PASSWORD_API","imServerHost","VUE_APP_IM_SERVER_HOST","imRoutePort","VUE_APP_IM_ROUTE_PORT","useWss","VUE_APP_USE_WSS","wsPath","VUE_APP_WS_PATH","wsUrl","VUE_APP_WS_URL","sdkMode","VUE_APP_IM_MODE","syncIntervalMs","VUE_APP_SYNC_INTERVAL_MS","sseEnabled","VUE_APP_SSE_ENABLED","sseTicketApi","VUE_APP_SSE_TICKET_API","sseUrl","VUE_APP_SSE_URL","platform","clientIdStorageKey","authTokenStoragePrefix","createApp","createPinia","App","use","mount","LOCAL_MESSAGE_STORAGE_KEY","LOCAL_HIDDEN_MESSAGE_STORAGE_KEY","LOCAL_RECALLED_MESSAGE_STORAGE_KEY","scopedStorageKey","baseKey","scope","encodeURIComponent","randomId","crypto","randomUUID","replaceAll","readLocalMessages","localStorage","readMessageSet","storageKey","writeMessageSet","messagesByConversation","messageKeys","hasStoredMessage","stored","ids","storeMessageKeys","withRecalledState","applyLocalMessageState","isRecalled","writeLocalMessages","saveLocalMessage","findIndex","mergeSyncedMessages","localMessages","remoteMessages","visibleLocalMessages","localByKey","visibleRemoteMessages","remoteMessage","localMessage","remoteKeys","hasRemoteMatch","pendingLocalMessages","a","b","displayTimestamp","getTitle","fallback","getUniqueEquipment","allowedDevices","canUseLocalLoginFallback","HttpImClient","constructor","listeners","currentUser","getClientId","clientId","restoreClientId","getSdkVersion","ensureSdk","deviceId","uniqueEquipment","persistAppToken","localOnly","flag","device_name","connect","refreshConversationList","disconnect","getConversationList","fetchRemoteConversations","remoteConversations","limit","line","getMessages","fetchRemoteMessages","options","markRead","hideMessages","markMessagesRecalled","recallMessage","editMessage","nextText","editedMessage","editedAt","activityTimestamp","getMessageDetail","sendTextMessage","initialMessage","sender","sentMessage","serverTimestamp","failedMessage","sendAttachmentMessage","mime","formData","FormData","append","getContactList","getServerContactList","headers","getAppAuthHeaders","mapContact","localeCompare","reason","normalizeConversation","nativeStatus","nativeError","groupKey","targetIds","members","targetUserId","adminIds","targetId","getProfile","updateProfile","refreshContactList","createSingleConversation","userInfo","friend","on","eventName","handler","off","payload","appToken","authtoken","authToken","getUrlHost","host","LongConnectionImClient","UnsupportedWildfireImClient","WildfireImClient","HEARTBEAT_INTERVAL_MS","RECONNECT_MIN_MS","RECONNECT_MAX_MS","buildWsUrl","port","path","normalizeConversationId","to","receiver","normalizeIncomingMessage","currentUserId","fromUser","content","searchableContent","socket","heartbeatTimer","reconnectTimer","reconnectAttempts","manualClose","shouldUseMessagePolling","WebSocket","openSocket","clearReconnectTimer","clearHeartbeatTimer","close","readyState","OPEN","sendAuthFrame","CONNECTING","binaryType","scheduleReconnect","onopen","startHeartbeat","onmessage","handleFrame","onclose","sendFrame","frame","send","rawData","ArrayBuffer","cmd","setInterval","clearInterval","configuredProxyHosts","configured","mediaProxyHosts","split","source","proxyUrl","RealtimeNotificationClient","reconnectAttempt","stop","ticket","endpoint","socketUrl","realtimeNotifications","defineStore","CONTACT_CACHE_MS","normalizeContacts","unique","normalized","loading","eventsBound","refreshSerial","refreshPromise","loadedForUserId","loadedAt","getters","actions","bindImEvents","requestUserId","serial","serverContacts","latest","nextAlias","savedAlias","setActiveContact","LOCAL_CONVERSATION_STORAGE_KEY","LOCAL_FAVORITE_MESSAGES_KEY","recentRealtimeNotifications","isDuplicateRealtimeNotification","previousAt","seenAt","seenKey","readFavoriteMessages","writeFavoriteMessages","readLocalConversations","writeLocalConversations","messageStableKey","messageActivityTimestamp","hasSameRenderState","attachmentLabel","cleanPlaceholderText","messagePreviewText","sanitizeConversation","isHttpUrl","fileNameFromUrl","pathname","decodeURIComponent","pop","normalizeMessageForDisplay","quotePrefix","isSameMessage","hasExactMessage","canMarkReadNow","visibilityState","userAction","isPageVisible","activeMessageSyncIntervalMs","isFinite","conversationListSyncIntervalMs","mergeVisibleMessages","currentMessages","syncedMessages","merged","currentMessage","shouldKeepLocal","incomingEditedMessages","previousMessages","nextMessages","previousByKey","previous","notificationAudioContext","playNotificationSound","AudioContext","webkitAudioContext","resume","oscillator","createOscillator","gain","createGain","startAt","currentTime","frequency","setValueAtTime","exponentialRampToValueAtTime","destination","visibleMessagesByConversation","usingDemoData","syncTimer","conversationSyncTimer","readPresenceEventsBound","syncInFlight","pendingReadReceiptConversationId","conversationSyncInFlight","messageSyncTimer","messageSyncQueuedAt","pendingMessageSyncOptions","lastReadSyncByConversation","optimisticMessagesByConversation","quotedMessage","forwardingMessages","editingMessage","editingText","editingMode","messageDetailOpen","messageDetailLoading","messageDetailError","attentionMessageTimer","favoriteMessages","activeFavoriteKey","realtimeSyncTimer","activeMessages","totalUnread","reduce","sum","selectedMessages","loadScopedLocalState","startMessageSync","handleRealtimeNotification","loadActiveMessages","appendMessage","scheduleActiveMessagesSync","replaceMessage","applyRemoteConversations","sendText","appendVisibleMessage","sendAttachment","sendTextToConversation","removeConversation","removedMessages","removedVisibleMessages","removedOptimisticMessages","remote","previousActiveId","nextConversations","conversationsChanged","keepOptimisticMessage","updateConversationFromMessage","syncVisibleMessages","removeMessages","filterMessages","list","replaceLocalMessage","targetMessage","nextMessage","keys","replaceInList","matched","pruneOptimisticMessages","remoteMatched","syncedMessage","syncOptions","skipWhenHidden","wantsReadReceipt","explicitReadReceipt","previousReadSyncAt","pollingReadReceipt","syncedConversationId","editedIncomingMessages","latestMessage","nextSubtitle","nextUpdatedAt","maxWait","runAt","pendingOptions","bindReadPresenceEvents","syncWhenReadable","actionNoticeTimer","actionErrorTimer","handleMessageAction","copyMessages","startEditMessage","deleteMessages","startForward","toggleFavorite","openMessageDetail","quoteMessage","enterSelectionMode","sentAt","closeMessageDetail","setActiveFavorite","quoteText","cancelQuote","toggleSelectedMessage","clearSelection","copySelectedMessages","deleteSelectedMessages","startForwardSelectedMessages","cancelForward","isResend","cancelEditMessage","completeEditMessage","completeForward","targetConversationId","successCount","failedCount","showFavorites","STORAGE_KEY","normalizeStoredPortrait","nextProfilePortrait","profilePortrait","currentPortrait","sdkVersion","applyLoginResult","imToken","persistSession","applyProfile","$reset"],"sourceRoot":""}
\ No newline at end of file
diff --git a/public/api/messages.php b/public/api/messages.php
index a3feffe..72e5892 100644
--- a/public/api/messages.php
+++ b/public/api/messages.php
@@ -1521,11 +1521,27 @@ function loadRecentConversations(PDO $db, string $userId, int $limit): array
return array_slice($conversations, 0, $limit);
}
+function messageSyncResult(
+ PDO $db,
+ string $userId,
+ array $messages,
+ bool $includeConversations,
+ int $limit
+): array {
+ $result = ['messages' => $messages];
+ if ($includeConversations) {
+ $result['conversations'] = loadRecentConversations($db, $userId, $limit);
+ }
+
+ return $result;
+}
+
$payload = readJsonPayload();
$userId = trim((string)($payload['userId'] ?? ''));
$target = trim((string)($payload['target'] ?? ''));
$limit = clampLimit($payload['limit'] ?? 50, 50, 100);
$markRead = payloadBool($payload['markRead'] ?? false);
+$includeConversations = payloadBool($payload['includeConversations'] ?? false);
$conversationType = normalizeConversationType($payload['conversationType'] ?? $payload['type'] ?? 0);
if ($userId === '') {
@@ -1540,28 +1556,48 @@ try {
if ($target !== '') {
if ($conversationType === 'group') {
if (isWebGroupTarget(imAppDb(), $target)) {
- respond(0, 'success', [
- 'messages' => loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
if (isNativeGroupTarget($db, $target)) {
- respond(0, 'success', [
- 'messages' => loadNativeGroupMessages($db, $userId, $target, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadNativeGroupMessages($db, $userId, $target, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
- respond(0, 'success', [
- 'messages' => [],
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ [],
+ $includeConversations,
+ $limit
+ ));
}
if (isWebGroupTarget(imAppDb(), $target)) {
- respond(0, 'success', [
- 'messages' => loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadWebGroupMessages(imAppDb(), $userId, $target, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
$targetId = resolveUserId($db, $target);
- respond(0, 'success', [
- 'messages' => loadConversationMessages($db, $userId, $targetId, $limit, $markRead),
- ]);
+ respond(0, 'success', messageSyncResult(
+ $db,
+ $userId,
+ loadConversationMessages($db, $userId, $targetId, $limit, $markRead),
+ $includeConversations,
+ $limit
+ ));
}
respond(0, 'success', [
diff --git a/src/services/httpImClient.js b/src/services/httpImClient.js
index 930e871..32cb90f 100644
--- a/src/services/httpImClient.js
+++ b/src/services/httpImClient.js
@@ -379,7 +379,8 @@ export class HttpImClient {
target: conversation.target || conversation.raw?.target || conversation.id.replace(/^single-/, ''),
limit,
conversationType: conversation.type || conversation.raw?.type || 0,
- markRead: Boolean(options.markRead)
+ markRead: Boolean(options.markRead),
+ includeConversations: Boolean(options.includeConversations)
}, { withCredentials: false });
if (response.data?.code !== 0) {
@@ -391,6 +392,15 @@ export class HttpImClient {
displayTimestamp: message.displayTimestamp || message.timestamp,
conversationId: conversation.id
}));
+ if (options.includeConversations && Array.isArray(response.data?.result?.conversations)) {
+ const remoteConversations = response.data.result.conversations.map(remoteConversation => ({
+ ...remoteConversation,
+ updatedAt: Number(remoteConversation.updatedAt || Date.now()),
+ avatarText: remoteConversation.avatarText || String(remoteConversation.title || remoteConversation.target || '?').slice(0, 1).toUpperCase(),
+ raw: remoteConversation.raw || { type: 'single', target: remoteConversation.target, line: 0 }
+ }));
+ this.emit('conversationsChanged', remoteConversations);
+ }
const userId = this.currentUser?.userId || '';
const messagesByConversation = readLocalMessages(userId);
messagesByConversation[conversation.id] = mergeSyncedMessages(messagesByConversation[conversation.id] || [], messages, conversation.id, userId);
diff --git a/src/stores/conversations.js b/src/stores/conversations.js
index c641cab..bd5cb3c 100644
--- a/src/stores/conversations.js
+++ b/src/stores/conversations.js
@@ -345,6 +345,7 @@ export const useConversationStore = defineStore('conversations', {
readPresenceEventsBound: false,
syncInFlight: false,
pendingReadReceiptConversationId: '',
+ pendingConversationSync: false,
conversationSyncInFlight: false,
messageSyncTimer: null,
messageSyncQueuedAt: 0,
@@ -457,6 +458,7 @@ export const useConversationStore = defineStore('conversations', {
this.syncInFlight = false;
this.conversationSyncInFlight = false;
this.pendingReadReceiptConversationId = '';
+ this.pendingConversationSync = false;
this.lastReadSyncByConversation = {};
this.activeId = '';
this.conversations = [];
@@ -887,6 +889,9 @@ export const useConversationStore = defineStore('conversations', {
if (wantsReadReceipt) {
this.pendingReadReceiptConversationId = conversation.id;
}
+ if (options.includeConversations) {
+ this.pendingConversationSync = true;
+ }
return;
}
this.syncInFlight = true;
@@ -894,7 +899,8 @@ export const useConversationStore = defineStore('conversations', {
const previousMessages = this.messagesByConversation[syncedConversationId] || [];
try {
const messages = await imClient.fetchRemoteMessages(conversation, 50, {
- markRead
+ markRead,
+ includeConversations: Boolean(options.includeConversations)
});
if (markRead) {
this.lastReadSyncByConversation = {
@@ -938,9 +944,17 @@ export const useConversationStore = defineStore('conversations', {
// Keep the local view usable if a polling request misses.
} finally {
this.syncInFlight = false;
- if (this.pendingReadReceiptConversationId === this.activeId && canMarkReadNow()) {
+ if (
+ (this.pendingReadReceiptConversationId === this.activeId || this.pendingConversationSync)
+ && canMarkReadNow()
+ ) {
+ const includeConversations = this.pendingConversationSync;
this.pendingReadReceiptConversationId = '';
- this.scheduleActiveMessagesSync({ allowReadReceipt: true }, 700);
+ this.pendingConversationSync = false;
+ this.scheduleActiveMessagesSync({
+ allowReadReceipt: true,
+ includeConversations
+ }, 700);
}
}
},
@@ -957,7 +971,10 @@ export const useConversationStore = defineStore('conversations', {
allowReadReceipt: Boolean(
this.pendingMessageSyncOptions.allowReadReceipt || options.allowReadReceipt
),
- userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction)
+ userAction: Boolean(this.pendingMessageSyncOptions.userAction || options.userAction),
+ includeConversations: Boolean(
+ this.pendingMessageSyncOptions.includeConversations || options.includeConversations
+ )
};
const maxWait = 1200;
const runAt = Math.min(now + Math.max(0, Number(delay) || 0), this.messageSyncQueuedAt + maxWait);
@@ -994,9 +1011,13 @@ export const useConversationStore = defineStore('conversations', {
}
window.clearTimeout(this.realtimeSyncTimer);
this.realtimeSyncTimer = window.setTimeout(() => {
- this.refreshRemoteConversations();
if (this.activeId) {
- this.scheduleActiveMessagesSync({ allowReadReceipt: canMarkReadNow() }, 700);
+ this.scheduleActiveMessagesSync({
+ allowReadReceipt: canMarkReadNow(),
+ includeConversations: true
+ }, 700);
+ } else {
+ this.refreshRemoteConversations();
}
}, 500);
},