diff --git a/dist/index.html b/dist/index.html index 5349678..85dfc87 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.76828956.js.map b/dist/js/app.76828956.js.map deleted file mode 100644 index 82673a1..0000000 --- a/dist/js/app.76828956.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/app.76828956.js","mappings":"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","sources":["webpack://jc-web-im/./src/components/ChatShell.vue?4f5d","webpack://jc-web-im/./src/App.vue?c8ff","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?a882","webpack://jc-web-im/./src/components/ChatShell.vue?22c0","webpack://jc-web-im/./src/stores/navigation.js","webpack://jc-web-im/./src/components/favorites/FavoritePanel.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/sidebar/NavigationRail.vue?b0a9","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?b67e","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?4ff6","webpack://jc-web-im/./src/App.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?0735","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?3fb9","webpack://jc-web-im/./src/services/httpImClient.js","webpack://jc-web-im/./src/components/sidebar/ContactList.vue","webpack://jc-web-im/./src/stores/conversations.js","webpack://jc-web-im/./src/stores/contacts.js","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?b854","webpack://jc-web-im/./src/stores/session.js","webpack://jc-web-im/./src/services/longConnectionImClient.js","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?f077","webpack://jc-web-im/./src/components/chat/MessageList.vue?9afc","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?97c1","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?7de6","webpack://jc-web-im/./src/App.vue?7685","webpack://jc-web-im/./src/services/imClient.js","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?b114","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?9b5f","webpack://jc-web-im/./src/components/LoginView.vue?3868","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?5317","webpack://jc-web-im/./src/main.js","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?f3c5","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?fc3d","webpack://jc-web-im/./src/components/ChatShell.vue","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?9902","webpack://jc-web-im/./src/components/LoginView.vue?68d6","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue?35d4","webpack://jc-web-im/./src/config.js","webpack://jc-web-im/./src/components/LoginView.vue","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/jsonp chunk loading","webpack://jc-web-im/webpack/before-startup","webpack://jc-web-im/webpack/startup","webpack://jc-web-im/webpack/after-startup"],"sourcesContent":["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__","export { default } from \"-!../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","\n\n\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"","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","\n\n\n","\n\n\n","\n\n\n","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 \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"","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__","\n\n\n","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__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"","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 return this.normalizeConversation(response.data?.result?.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 return this.normalizeConversation(response.data?.result?.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","\n\n\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\nimport { useSessionStore } from '@/stores/session';\n\nconst LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2';\nconst LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1';\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 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 messagePreviewText(message) {\n if (isRecalledMessage(message)) {\n return `[${message?.recallStatus || '已撤回'}]`;\n }\n const text = String(message?.text || '').replace(/\\s+/g, ' ').trim();\n return text || attachmentLabel(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 mergeVisibleMessages(currentMessages, syncedMessages) {\n const merged = [...syncedMessages];\n currentMessages.forEach(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 syncAfterSendTimer: null,\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 }),\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 },\n loadScopedLocalState() {\n this.conversations = readLocalConversations();\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.syncAfterSendTimer);\n window.clearTimeout(this.attentionMessageTimer);\n this.syncTimer = null;\n this.conversationSyncTimer = null;\n this.syncAfterSendTimer = null;\n this.attentionMessageTimer = null;\n this.syncInFlight = false;\n this.conversationSyncInFlight = false;\n this.pendingReadReceiptConversationId = '';\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.syncActiveMessages({ allowReadReceipt: true });\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 value = `引用:${quotePrefix(this.quotedMessage)}\\n${value}`;\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 window.clearTimeout(this.syncAfterSendTimer);\n this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 250);\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 value = `引用:${quotePrefix(this.quotedMessage)}\\n${value}`.trim();\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 window.clearTimeout(this.syncAfterSendTimer);\n this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 350);\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 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 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 ...conversation,\n unread\n });\n });\n\n this.conversations = Array.from(merged.values())\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0))\n .slice(0, 100);\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 writeLocalConversations(this.conversations);\n this.loadActiveMessages();\n },\n appendMessage(conversationId, 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 = message.text || conversation.subtitle || '';\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 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 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 this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: mergeVisibleMessages(\n this.optimisticMessagesByConversation[conversationId] || [],\n this.messagesByConversation[conversationId] || []\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 this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversation.id]: mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages)\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 const wantsReadReceipt = Boolean(options.allowReadReceipt);\n const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ userAction: Boolean(options.userAction) });\n const pollingReadReceipt = canMarkReadNow();\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 const editedIncomingMessages = incomingEditedMessages(previousMessages, messages);\n this.pruneOptimisticMessages(syncedConversationId, messages);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [syncedConversationId]: mergeVisibleMessages(this.messagesByConversation[syncedConversationId] || [], messages)\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 conversation.subtitle = messagePreviewText(latest);\n conversation.updatedAt = messageActivityTimestamp(latest);\n writeLocalConversations(this.conversations);\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 window.setTimeout(() => this.syncActiveMessages({ allowReadReceipt: true }), 0);\n }\n }\n },\n startMessageSync() {\n this.bindReadPresenceEvents();\n if (!this.syncTimer) {\n this.syncTimer = window.setInterval(() => {\n this.syncActiveMessages();\n }, Math.max(250, appConfig.syncIntervalMs));\n }\n if (!this.conversationSyncTimer) {\n this.conversationSyncTimer = window.setInterval(() => {\n this.refreshRemoteConversations();\n }, 2000);\n this.refreshRemoteConversations();\n }\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.syncActiveMessages({ allowReadReceipt: true });\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 = editedMessage.text;\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 this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建');\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 this.setActionNotice('已加入群组');\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';\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 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 { 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 { 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","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"","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 { 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 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__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"","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 \"./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 { 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 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__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","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__","export { default } from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","\n\n\n","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__","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 || 300),\n platform: 5,\n clientIdStorageKey: 'qmt-web-im-client-id',\n authTokenStoragePrefix: 'qmt-web-im-auth-token-'\n};\n","\n\n\n","// 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 functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\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};","// 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__(8218); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["computed","ref","watch","useContactStore","contacts","contact","activeContact","remarkName","value","alias","username","rawUser","displayName","name","uid","mobile","address","editingAlias","aliasDraft","aliasSaving","aliasError","openAliasEditor","closeAliasEditor","submitAlias","ok","updateContactAlias","actionError","nextTick","onBeforeUnmount","onMounted","reactive","IMAGE_MIN_SCALE","IMAGE_MAX_SCALE","props","__props","emit","__emit","listEl","viewerStage","contextMenu","visible","x","y","message","imageViewer","url","scale","rotation","offsetX","offsetY","dragging","dragStartX","dragStartY","dragOffsetX","dragOffsetY","senderProfile","rawName","portrait","avatarText","role","roleLabel","contactAlias","groupAlias","isContact","saving","adding","notice","error","imageViewerStyle","transform","menuItems","isOwnMessage","direction","isRecalledMessage","action","label","favoriteLabel","isFavorite","items","unshift","push","canRecallOthers","scrollToBottom","scrollTop","scrollHeight","scrollToMessage","messageId","row","Array","from","querySelectorAll","find","element","dataset","messageKey","scrollIntoView","block","behavior","messages","map","id","status","deliveryStatus","messageUid","recalled","join","immediate","attentionMessageId","document","addEventListener","closeMenu","closeMenuOnEscape","moveImageDrag","stopImageDrag","removeEventListener","messageIdentity","String","canOpenMessageMenu","isSelected","selectedMessageIds","includes","favoriteMessageIds","isAttention","isRecallNotice","isImageMessage","type","attachment","isFileMessage","isGroupMessage","conversationType","showGroupSender","senderRoleLabel","senderRole","groupSenderName","senderName","groupSenderAvatarText","slice","toUpperCase","openSenderProfile","profile","cachedContact","cachedAlias","trim","remarkAlias","title","senderPortrait","Boolean","closeSenderProfile","addSenderAsContact","addContact","aliasSaved","refreshContacts","force","catch","userId","saveSenderAlias","roleBubbleClass","formatFileSize","size","bytes","Number","toFixed","handleMessageClick","selectionMode","handleImageClick","openImageViewer","resetImageViewer","closeImageViewer","clampImageScale","Math","min","max","setImageScale","originX","originY","previousScale","nextScale","rect","getBoundingClientRect","centerX","left","width","centerY","top","height","ratio","zoomImage","delta","rotateImage","handleImageWheel","event","factor","deltaY","clientX","clientY","startImageDrag","saveViewerImage","downloadUrl","URL","window","location","origin","searchParams","set","link","createElement","href","toString","download","body","appendChild","click","remove","openMenu","innerWidth","innerHeight","key","chooseMenuAction","formatTime","timestamp","Intl","DateTimeFormat","hour","minute","hour12","timeZone","resolvedOptions","format","deliveryState","state","deliveryTitle","failureText","errorCode","defineStore","useNavigationStore","section","actions","showMessages","showContacts","showFavorites","useConversationStore","conversations","navigation","favorite","activeFavorite","clearFeedback","favoriteTitle","item","conversationTitle","conversation","entry","conversationId","favoriteText","text","isImageFavorite","isFileFavorite","favoriteCopyText","recallStatus","preview","formatFavoriteTime","year","month","day","copyFavorite","writeClipboard","copyError","navigator","clipboard","writeText","setAttribute","style","position","select","execCommand","removeChild","openConversation","refreshRemoteConversations","setActiveConversation","setTimeout","focusMessage","removeFavorite","MessageList","MessageComposer","imClient","useSessionStore","session","activeConversation","groupMenuOpen","singleProfileOpen","singleAliasDraft","singleProfileSaving","singleProfileNotice","singleProfileError","groupPanel","groupBusy","groupDetail","groupMembers","groupAliasDraft","manageSection","selectedAdminIds","selectedKickIds","transferTargetId","profileDraft","announcement","welcomeText","muteDraft","mode","scheduleType","startsAtLocal","endsAtLocal","dailyStart","dailyEnd","muteSaveNotice","muteSaveError","singlePeerId","isGroupConversation","target","raw","replace","singleContact","peerId","singleProfile","currentGroupRole","myRole","isGroupOwner","canManageGroup","adminCandidateMembers","filter","member","transferableMembers","messageDetail","messageDetailGroup","group","isMessageDetailGroup","messageDetailCounts","counts","read","unread","undelivered","total","kickCandidateMembers","statusText","canSendActiveConversation","connectionStatusText","connected","formatDetailTime","second","detailMemberName","detailMemberAvatar","detailRoleLabel","closeGroupMenu","toggleGroupMenu","openSingleProfile","then","closeSingleProfile","saveSingleAlias","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","toggleKick","saveGroupAdmins","setGroupAdmins","saveGroupProfile","result","updateGroupProfile","updatedAt","now","kickSelectedMembers","length","confirm","kickGroupMembers","removed","removedIds","saveMuteSetting","updateGroupMuteSetting","leaveCurrentGroup","leaveGroup","dismissCurrentGroup","dismissGroup","transferCurrentGroup","transferGroup","memberAvatar","emojiOpen","dropActive","textareaEl","imageInput","fileInput","dragDepth","emojiList","submit","toggleEmojiPicker","insertEmoji","emoji","start","selectionStart","end","selectionEnd","requestAnimationFrame","focus","cursor","setSelectionRange","chooseImage","chooseFile","attachmentTypeForFile","file","fallbackType","startsWith","emitFiles","files","disabled","validFiles","File","caption","forEach","index","selectAttachment","input","hasDraggedFiles","types","dataTransfer","handleDragEnter","dropEffect","handleDragOver","handleDragLeave","filesFromDataTransfer","kind","webkitGetAsEntry","isDirectory","getAsFile","handleDrop","imageFilesFromClipboard","clipboardData","handlePaste","imageFiles","preventDefault","LoginView","ChatShell","restore","isAuthenticated","bootstrapDemoData","clearUserState","axios","appConfig","LOCAL_MESSAGE_STORAGE_KEY","LOCAL_HIDDEN_MESSAGE_STORAGE_KEY","LOCAL_RECALLED_MESSAGE_STORAGE_KEY","scopedStorageKey","baseKey","scope","appServer","encodeURIComponent","randomId","crypto","randomUUID","replaceAll","random","readLocalMessages","JSON","parse","localStorage","getItem","readMessageSet","storageKey","writeMessageSet","messagesByConversation","setItem","stringify","messageKeys","hasStoredMessage","stored","ids","some","storeMessageKeys","withRecalledState","applyLocalMessageState","isRecalled","writeLocalMessages","saveLocalMessage","findIndex","splice","mergeSyncedMessages","localMessages","remoteMessages","visibleLocalMessages","localByKey","Map","visibleRemoteMessages","remoteMessage","localMessage","get","remoteKeys","hasRemoteMatch","abs","pendingLocalMessages","sort","a","b","displayTimestamp","getTitle","fallback","getUniqueEquipment","allowedDevices","canUseLocalLoginFallback","response","data","process","env","NODE_ENV","HttpImClient","constructor","listeners","currentUser","getClientId","clientId","clientIdStorageKey","restoreClientId","getSdkVersion","ensureSdk","loginWithPassword","password","deviceId","post","platform","uniqueEquipment","withCredentials","persistAppToken","code","token","localOnly","Error","requestAuthCode","loginWithCode","createPcSession","flag","device_name","loginWithPcSession","registerWithPhone","connect","refreshConversationList","disconnect","getConversationList","fetchRemoteConversations","remoteConversations","limit","messagesApi","line","getMessages","fetchRemoteMessages","options","markRead","hideMessages","isArray","markMessagesRecalled","recallMessage","test","messageActionApi","editMessage","nextText","editedMessage","editedAt","activityTimestamp","getMessageDetail","messageDetailApi","sendTextMessage","initialMessage","sendMessageApi","sender","sentMessage","serverTimestamp","failedMessage","sendAttachmentMessage","mime","createObjectURL","formData","FormData","append","getContactList","getServerContactList","contactsApi","headers","getAppAuthHeaders","mapContact","friendAlias","localeCompare","keyword","reason","addContactApi","normalizeConversation","subtitle","createGroup","memberIds","channel","conversationActionsApi","joinGroup","groupKey","broadcastMessage","targetIds","groupId","members","targetUserId","adminIds","targetId","updateAliasApi","getProfile","profileApi","updateProfile","portraitFile","changePassword","oldPassword","newPassword","changePasswordApi","msg","resetPasswordWithCode","resetCode","resetPasswordApi","refreshContactList","createSingleConversation","userInfo","friend","rawFriend","on","eventName","handler","off","payload","appToken","authtoken","authToken","authTokenStoragePrefix","getUrlHost","host","addingContact","addKeyword","filteredContacts","toLowerCase","openAddContact","actionInfo","closeAddContact","submitAddContact","added","LOCAL_CONVERSATION_STORAGE_KEY","LOCAL_FAVORITE_MESSAGES_KEY","readFavoriteMessages","writeFavoriteMessages","readLocalConversations","writeLocalConversations","messageStableKey","messageActivityTimestamp","attachmentLabel","messagePreviewText","quotePrefix","isSameMessage","right","hasExactMessage","shouldUseMessagePolling","canMarkReadNow","visibilityState","userAction","mergeVisibleMessages","currentMessages","syncedMessages","merged","currentMessage","exists","shouldKeepLocal","incomingEditedMessages","previousMessages","nextMessages","previousByKey","previous","notificationAudioContext","playNotificationSound","AudioContext","webkitAudioContext","resume","oscillator","createOscillator","gain","createGain","startAt","currentTime","frequency","setValueAtTime","exponentialRampToValueAtTime","destination","stop","activeId","visibleMessagesByConversation","eventsBound","usingDemoData","loading","syncTimer","conversationSyncTimer","readPresenceEventsBound","syncInFlight","pendingReadReceiptConversationId","conversationSyncInFlight","syncAfterSendTimer","optimisticMessagesByConversation","quotedMessage","forwardingMessages","editingMessage","editingText","editingMode","messageDetailOpen","messageDetailLoading","messageDetailError","attentionMessageTimer","favoriteMessages","activeFavoriteKey","actionNotice","getters","activeMessages","totalUnread","reduce","sum","selectedMessages","selectedIds","bindImEvents","loadScopedLocalState","startMessageSync","loadActiveMessages","clearInterval","clearTimeout","appendMessage","replaceMessage","applyRemoteConversations","sendText","appendVisibleMessage","sendAttachment","sendTextToConversation","removeConversation","removedMessages","removedVisibleMessages","removedOptimisticMessages","remote","values","keepOptimisticMessage","updateConversationFromMessage","syncVisibleMessages","removeMessages","flatMap","filterMessages","list","replaceLocalMessage","targetMessage","nextMessage","keys","replaceInList","matched","pruneOptimisticMessages","remoteMatched","syncedMessage","syncOptions","wantsReadReceipt","explicitReadReceipt","pollingReadReceipt","syncedConversationId","editedIncomingMessages","latest","latestMessage","bindReadPresenceEvents","setInterval","syncIntervalMs","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","CONTACT_CACHE_MS","normalizeContacts","unique","normalized","refreshSerial","refreshPromise","loadedForUserId","loadedAt","requestUserId","clearContacts","serial","serverContacts","contactId","nextAlias","savedAlias","setActiveContact","openChat","STORAGE_KEY","normalizeStoredPortrait","nextProfilePortrait","profilePortrait","currentPortrait","connecting","sdkVersion","removeItem","refreshProfile","applyLoginResult","completePcSessionLogin","imToken","userName","persistSession","applyProfile","saveProfile","logout","$reset","HEARTBEAT_INTERVAL_MS","RECONNECT_MIN_MS","RECONNECT_MAX_MS","buildWsUrl","wsUrl","protocol","useWss","imServerHost","hostname","port","imRoutePort","path","wsPath","normalizeConversationId","to","receiver","conversationTarget","normalizeIncomingMessage","currentUserId","fromUser","content","searchableContent","LongConnectionImClient","socket","heartbeatTimer","reconnectTimer","reconnectAttempts","manualClose","WebSocket","openSocket","clearReconnectTimer","clearHeartbeatTimer","close","readyState","OPEN","sendAuthFrame","CONNECTING","binaryType","scheduleReconnect","onopen","startHeartbeat","onmessage","handleFrame","onerror","onclose","sendFrame","frame","send","rawData","ArrayBuffer","cmd","delay","activeKey","favoritePreview","UnsupportedWildfireImClient","sdkMode","WildfireImClient","createApp","createPinia","App","use","mount","NavigationRail","ConversationList","ContactList","ChatPanel","ContactPanel","FavoriteList","FavoritePanel","CROP_OUTPUT_SIZE","settingsItems","initials","settingsOpen","settingsSection","passwordSaving","settingsNotice","settingsError","profileOpen","profileSaving","profileNotice","profileError","profileFile","profilePreview","portraitInput","cropperCanvas","cropperPreviewCanvas","passwordDraft","confirmPassword","currentAvatarUrl","activeSettingsItem","avatarPreviewViewer","open","avatarCropper","loaded","busy","objectUrl","fileName","image","baseScale","avatarPreviewStyle","drawAvatarCropper","revokeProfilePreview","closeAvatarCropper","clearProfileFeedback","clearSettingsFeedback","resetPasswordDraft","openSettings","closeSettings","selectSettingsSection","revokeObjectURL","revokeCropperObjectUrl","openProfileEditor","closeProfileEditor","closeAvatarPreview","selectPortrait","openAvatarCropper","choosePortraitFile","openAvatarPreview","resetAvatarPreview","zoomAvatarPreview","handleAvatarPreviewWheel","startAvatarPreviewDrag","currentTarget","setPointerCapture","pointerId","moveAvatarPreviewDrag","stopAvatarPreviewDrag","dropPortrait","cropperStageSize","canvas","round","cropperBoxSize","rotatedImageSize","quarterTurn","naturalHeight","naturalWidth","clampCropperOffset","cropSize","rotated","scaledWidth","scaledHeight","maxX","maxY","updateCropperBaseScale","drawCanvasImage","outputScale","cropOnly","dpr","devicePixelRatio","context","getContext","setTransform","clearRect","fillStyle","fillRect","save","translate","rotate","PI","drawImage","beginPath","fill","previewCanvas","resetCropperTransform","Image","onload","src","zoomCropper","rotateCropper","degrees","handleCropperWheel","startCropperDrag","moveCropperDrag","stopCropperDrag","canvasToBlob","quality","Promise","resolve","reject","toBlob","blob","confirmAvatarCrop","outputCanvas","croppedFile","savePassword","defineComponent","h","actionMenuOpen","activeAction","actionBusy","searchKeyword","groupName","groupAnnouncement","groupWelcomeText","joinGroupKey","broadcastText","channelName","channelAnnouncement","contactKeyword","selectedContactIds","actionTitles","broadcast","createChannel","submitLabels","actionTitle","submitLabel","modalError","modalInfo","normalizedSearchKeyword","contactsByUid","filteredConversationItems","conversationResult","conversationResults","matchesConversation","contactForConversation","conversationTargets","contactResults","matchesContact","contactResult","submitDisabled","ContactPicker","default","emptyText","emits","setup","class","placeholder","onInput","onClick","alt","searchableValues","Object","matchesKeyword","compactKeyword","group_id","owner_uid","resultKind","resultKey","isListItemActive","selectListItem","clearStoreMessages","resetActionFields","toggleActionMenu","closeActionMenu","openAction","closeActionModal","toggleContact","submitAction","formatUnread","count","currentHost","runtimeConfig","JC_WEB_IM_CONFIG","appServerOrigin","adminServerOrigin","appName","adminServer","VUE_APP_ADMIN_SERVER","VUE_APP_APP_SERVER","platformConfigApi","VUE_APP_PLATFORM_CONFIG_API","registerConfigApi","VUE_APP_REGISTER_CONFIG_API","registerPhoneExistsApi","VUE_APP_REGISTER_PHONE_EXISTS_API","VUE_APP_CONTACTS_API","VUE_APP_UPDATE_ALIAS_API","VUE_APP_ADD_CONTACT_API","VUE_APP_CONVERSATION_ACTIONS_API","VUE_APP_SEND_MESSAGE_API","VUE_APP_MESSAGE_ACTION_API","VUE_APP_MESSAGE_DETAIL_API","VUE_APP_MESSAGES_API","VUE_APP_PROFILE_API","VUE_APP_CHANGE_PASSWORD_API","VUE_APP_RESET_PASSWORD_API","VUE_APP_IM_SERVER_HOST","VUE_APP_IM_ROUTE_PORT","VUE_APP_USE_WSS","VUE_APP_WS_PATH","VUE_APP_WS_URL","VUE_APP_IM_MODE","VUE_APP_SYNC_INTERVAL_MS","jrQRCode","QR_CODE_PREFIX_PC_SESSION","pendingRegistrationStorageKey","defaultPlatformLogo","emailRegisterEnabled","view","sendingCode","info","qrStatus","qrCodeImage","qrSessionToken","qrUserName","qrUserPortrait","qrPolling","qrGeneration","qrExpireTimer","defaultPlatformName","platformName","platformLogo","registerType","registerMethods","phone","email","mobileRealVerify","registerPhoneError","phoneCaptcha","phoneCaptchaImage","usernameCaptcha","usernameCaptchaImage","settingRegisterPassword","pendingRegistration","registerForm","phoneCountryCode","emailCode","usernamePhoneCountryCode","usernamePhone","usernameCode","registerPasswordForm","countryCodeOptions","registerMethodOptions","canSubmit","visibleRegisterMethods","enabled","canRegisterSubmit","phoneCaptchaMatched","usernameCaptchaMatched","canSetRegisterPassword","phoneCaptchaStatus","getCaptchaStatus","phoneCaptchaClass","getCaptchaClass","usernameCaptchaStatus","usernameCaptchaClass","qrUserInitial","qrStatusTitle","qrStatusText","qrRefreshText","methods","loadPlatformConfig","loadRegisterConfig","restorePendingRegistration","stopQrLogin","requestCode","requestRegisterCode","formatPhoneForApi","setLoginMode","nextMode","startQrLogin","resetQrState","clearQrExpireTimer","refreshQrLogin","generation","pcSession","getQrBase64","expireMs","expired","pollQrLogin","codeValue","ms","normalizeUsernameCaptchaInput","normalizePhoneCaptchaInput","normalizeRegisterCountryCode","showPhoneCaptcha","randomDigits","renderCaptchaImage","showUsernameCaptcha","inputValue","captchaValue","floor","moveTo","lineTo","strokeStyle","lineWidth","stroke","font","textBaseline","textAlign","fillText","toDataURL","submitRegister","clearRegisterPhoneError","formattedPhone","phoneExists","isRegisterPhoneExists","loginCode","setPendingRegistration","submitRegisterPassword","clearPendingRegistration","countryCode","digits","normalizedCode","normalizedPhone","mobile_real_verify","config","logo","logoUrl","version","resolveBrandLogo","applyDocumentBrand","appendBrandVersion","base","parsed","icon","querySelector","head","handleBrandLogoError","sessionStorage","pending","openRegister","backToLogin"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/app.76828956.js b/dist/js/app.baf00492.js similarity index 99% rename from dist/js/app.76828956.js rename to dist/js/app.baf00492.js index 0a71b27..7752f97 100644 --- a/dist/js/app.76828956.js +++ b/dist/js/app.baf00492.js @@ -8195,7 +8195,7 @@ const emailRegisterEnabled = false; setup(__props) { const session = (0,_stores_session__WEBPACK_IMPORTED_MODULE_7__/* .useSessionStore */ .B)(); const view = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('login'); - const mode = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('code'); + const mode = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('qr'); const mobile = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); const password = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)(''); const code = (0,vue__WEBPACK_IMPORTED_MODULE_9__/* .ref */ .KR)('66666'); @@ -8381,6 +8381,9 @@ const emailRegisterEnabled = false; loadPlatformConfig(); loadRegisterConfig(); restorePendingRegistration(); + if (view.value === 'login' && mode.value === 'qr') { + startQrLogin(); + } }); (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .onBeforeUnmount */ .xo)(() => { stopQrLogin(); @@ -8849,7 +8852,9 @@ const emailRegisterEnabled = false; info.value = ''; clearRegisterPhoneError(); clearPendingRegistration(); + mode.value = 'qr'; view.value = 'login'; + startQrLogin(); } return (_ctx, _cache) => { return (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)("main", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("section", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("img", { @@ -8868,18 +8873,18 @@ const emailRegisterEnabled = false; }), onClick: _cache[0] || (_cache[0] = $event => setLoginMode('qr')) }, "扫码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { - type: "button", - class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ - active: mode.value === 'code' - }), - onClick: _cache[1] || (_cache[1] = $event => setLoginMode('code')) - }, "验证码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { type: "button", class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ active: mode.value === 'password' }), - onClick: _cache[2] || (_cache[2] = $event => setLoginMode('password')) - }, "密码登录", 2)]), mode.value === 'qr' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_10__/* .Fragment */ .FK, { + onClick: _cache[1] || (_cache[1] = $event => setLoginMode('password')) + }, "密码登录", 2), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("button", { + type: "button", + class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)({ + active: mode.value === 'code' + }), + onClick: _cache[2] || (_cache[2] = $event => setLoginMode('code')) + }, "验证码登录", 2)]), mode.value === 'qr' ? ((0,vue__WEBPACK_IMPORTED_MODULE_10__/* .openBlock */ .uX)(), (0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementBlock */ .CE)(vue__WEBPACK_IMPORTED_MODULE_10__/* .Fragment */ .FK, { key: 0 }, [(0,vue__WEBPACK_IMPORTED_MODULE_10__/* .createElementVNode */ .Lk)("div", { class: (0,vue__WEBPACK_IMPORTED_MODULE_12__/* .normalizeClass */ .C4)(["qr-login-card", { @@ -9303,4 +9308,4 @@ const emailRegisterEnabled = false; /******/ /******/ })() ; -//# sourceMappingURL=app.76828956.js.map \ No newline at end of file +//# sourceMappingURL=app.baf00492.js.map \ No newline at end of file diff --git a/dist/js/app.baf00492.js.map b/dist/js/app.baf00492.js.map new file mode 100644 index 0000000..e3b9f75 --- /dev/null +++ b/dist/js/app.baf00492.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/app.baf00492.js","mappings":"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","sources":["webpack://jc-web-im/./src/components/ChatShell.vue?4f5d","webpack://jc-web-im/./src/App.vue?c8ff","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?a882","webpack://jc-web-im/./src/components/ChatShell.vue?22c0","webpack://jc-web-im/./src/stores/navigation.js","webpack://jc-web-im/./src/components/favorites/FavoritePanel.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/sidebar/NavigationRail.vue?b0a9","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?b67e","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?4ff6","webpack://jc-web-im/./src/App.vue","webpack://jc-web-im/./src/components/sidebar/ContactList.vue?0735","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?3fb9","webpack://jc-web-im/./src/services/httpImClient.js","webpack://jc-web-im/./src/components/sidebar/ContactList.vue","webpack://jc-web-im/./src/stores/conversations.js","webpack://jc-web-im/./src/stores/contacts.js","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?b854","webpack://jc-web-im/./src/stores/session.js","webpack://jc-web-im/./src/services/longConnectionImClient.js","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?f077","webpack://jc-web-im/./src/components/chat/MessageList.vue?9afc","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue?97c1","webpack://jc-web-im/./src/components/favorites/FavoritePanel.vue?7de6","webpack://jc-web-im/./src/App.vue?7685","webpack://jc-web-im/./src/services/imClient.js","webpack://jc-web-im/./src/components/chat/ChatPanel.vue?b114","webpack://jc-web-im/./src/components/chat/MessageComposer.vue?9b5f","webpack://jc-web-im/./src/components/LoginView.vue?3868","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue?5317","webpack://jc-web-im/./src/main.js","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?f3c5","webpack://jc-web-im/./src/components/contacts/ContactPanel.vue?fc3d","webpack://jc-web-im/./src/components/ChatShell.vue","webpack://jc-web-im/./src/components/favorites/FavoriteList.vue?9902","webpack://jc-web-im/./src/components/LoginView.vue?68d6","webpack://jc-web-im/./src/components/sidebar/NavigationRail.vue","webpack://jc-web-im/./src/components/sidebar/ConversationList.vue","webpack://jc-web-im/./src/components/chat/MessageList.vue?35d4","webpack://jc-web-im/./src/config.js","webpack://jc-web-im/./src/components/LoginView.vue","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/jsonp chunk loading","webpack://jc-web-im/webpack/before-startup","webpack://jc-web-im/webpack/startup","webpack://jc-web-im/webpack/after-startup"],"sourcesContent":["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__","export { default } from \"-!../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","\n\n\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatShell.vue?vue&type=script&setup=true&lang=js\"","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","\n\n\n","\n\n\n","\n\n\n","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 \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoriteList.vue?vue&type=script&setup=true&lang=js\"","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__","\n\n\n","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__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ChatPanel.vue?vue&type=script&setup=true&lang=js\"","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 return this.normalizeConversation(response.data?.result?.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 return this.normalizeConversation(response.data?.result?.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","\n\n\n","import { defineStore } from 'pinia';\nimport { imClient } from '@/services/imClient';\nimport { appConfig } from '@/config';\nimport { useSessionStore } from '@/stores/session';\n\nconst LOCAL_CONVERSATION_STORAGE_KEY = 'qmt-web-im-local-conversations-v2';\nconst LOCAL_FAVORITE_MESSAGES_KEY = 'qmt-web-im-favorite-messages-v1';\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 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 messagePreviewText(message) {\n if (isRecalledMessage(message)) {\n return `[${message?.recallStatus || '已撤回'}]`;\n }\n const text = String(message?.text || '').replace(/\\s+/g, ' ').trim();\n return text || attachmentLabel(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 mergeVisibleMessages(currentMessages, syncedMessages) {\n const merged = [...syncedMessages];\n currentMessages.forEach(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 syncAfterSendTimer: null,\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 }),\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 },\n loadScopedLocalState() {\n this.conversations = readLocalConversations();\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.syncAfterSendTimer);\n window.clearTimeout(this.attentionMessageTimer);\n this.syncTimer = null;\n this.conversationSyncTimer = null;\n this.syncAfterSendTimer = null;\n this.attentionMessageTimer = null;\n this.syncInFlight = false;\n this.conversationSyncInFlight = false;\n this.pendingReadReceiptConversationId = '';\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.syncActiveMessages({ allowReadReceipt: true });\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 value = `引用:${quotePrefix(this.quotedMessage)}\\n${value}`;\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 window.clearTimeout(this.syncAfterSendTimer);\n this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 250);\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 value = `引用:${quotePrefix(this.quotedMessage)}\\n${value}`.trim();\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 window.clearTimeout(this.syncAfterSendTimer);\n this.syncAfterSendTimer = window.setTimeout(() => this.syncActiveMessages(), 350);\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 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 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 ...conversation,\n unread\n });\n });\n\n this.conversations = Array.from(merged.values())\n .sort((a, b) => Number(b.updatedAt || 0) - Number(a.updatedAt || 0))\n .slice(0, 100);\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 writeLocalConversations(this.conversations);\n this.loadActiveMessages();\n },\n appendMessage(conversationId, 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 = message.text || conversation.subtitle || '';\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 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 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 this.visibleMessagesByConversation = {\n ...this.visibleMessagesByConversation,\n [conversationId]: mergeVisibleMessages(\n this.optimisticMessagesByConversation[conversationId] || [],\n this.messagesByConversation[conversationId] || []\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 this.messagesByConversation = {\n ...this.messagesByConversation,\n [conversation.id]: mergeVisibleMessages(this.messagesByConversation[conversation.id] || [], messages)\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 const wantsReadReceipt = Boolean(options.allowReadReceipt);\n const explicitReadReceipt = wantsReadReceipt && canMarkReadNow({ userAction: Boolean(options.userAction) });\n const pollingReadReceipt = canMarkReadNow();\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 const editedIncomingMessages = incomingEditedMessages(previousMessages, messages);\n this.pruneOptimisticMessages(syncedConversationId, messages);\n this.messagesByConversation = {\n ...this.messagesByConversation,\n [syncedConversationId]: mergeVisibleMessages(this.messagesByConversation[syncedConversationId] || [], messages)\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 conversation.subtitle = messagePreviewText(latest);\n conversation.updatedAt = messageActivityTimestamp(latest);\n writeLocalConversations(this.conversations);\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 window.setTimeout(() => this.syncActiveMessages({ allowReadReceipt: true }), 0);\n }\n }\n },\n startMessageSync() {\n this.bindReadPresenceEvents();\n if (!this.syncTimer) {\n this.syncTimer = window.setInterval(() => {\n this.syncActiveMessages();\n }, Math.max(250, appConfig.syncIntervalMs));\n }\n if (!this.conversationSyncTimer) {\n this.conversationSyncTimer = window.setInterval(() => {\n this.refreshRemoteConversations();\n }, 2000);\n this.refreshRemoteConversations();\n }\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.syncActiveMessages({ allowReadReceipt: true });\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 = editedMessage.text;\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 this.setActionNotice(options.channel ? '公告群已创建' : '群组已创建');\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 this.setActionNotice('已加入群组');\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';\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 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 { 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 { 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","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ConversationList.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./NavigationRail.vue?vue&type=script&setup=true&lang=js\"","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FavoritePanel.vue?vue&type=script&setup=true&lang=js\"","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 { 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 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__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./MessageComposer.vue?vue&type=script&setup=true&lang=js\"","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 \"./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 { 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 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__","export { default } from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./ContactPanel.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","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__","export { default } from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"; export * from \"-!../../../../im-web/node_modules/thread-loader/dist/cjs.js!../../../../im-web/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../im-web/node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./LoginView.vue?vue&type=script&setup=true&lang=js\"","\n\n\n","\n\n\n","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__","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 || 300),\n platform: 5,\n clientIdStorageKey: 'qmt-web-im-client-id',\n authTokenStoragePrefix: 'qmt-web-im-auth-token-'\n};\n","\n\n\n","// 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 functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\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};","// 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__(8218); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["computed","ref","watch","useContactStore","contacts","contact","activeContact","remarkName","value","alias","username","rawUser","displayName","name","uid","mobile","address","editingAlias","aliasDraft","aliasSaving","aliasError","openAliasEditor","closeAliasEditor","submitAlias","ok","updateContactAlias","actionError","nextTick","onBeforeUnmount","onMounted","reactive","IMAGE_MIN_SCALE","IMAGE_MAX_SCALE","props","__props","emit","__emit","listEl","viewerStage","contextMenu","visible","x","y","message","imageViewer","url","scale","rotation","offsetX","offsetY","dragging","dragStartX","dragStartY","dragOffsetX","dragOffsetY","senderProfile","rawName","portrait","avatarText","role","roleLabel","contactAlias","groupAlias","isContact","saving","adding","notice","error","imageViewerStyle","transform","menuItems","isOwnMessage","direction","isRecalledMessage","action","label","favoriteLabel","isFavorite","items","unshift","push","canRecallOthers","scrollToBottom","scrollTop","scrollHeight","scrollToMessage","messageId","row","Array","from","querySelectorAll","find","element","dataset","messageKey","scrollIntoView","block","behavior","messages","map","id","status","deliveryStatus","messageUid","recalled","join","immediate","attentionMessageId","document","addEventListener","closeMenu","closeMenuOnEscape","moveImageDrag","stopImageDrag","removeEventListener","messageIdentity","String","canOpenMessageMenu","isSelected","selectedMessageIds","includes","favoriteMessageIds","isAttention","isRecallNotice","isImageMessage","type","attachment","isFileMessage","isGroupMessage","conversationType","showGroupSender","senderRoleLabel","senderRole","groupSenderName","senderName","groupSenderAvatarText","slice","toUpperCase","openSenderProfile","profile","cachedContact","cachedAlias","trim","remarkAlias","title","senderPortrait","Boolean","closeSenderProfile","addSenderAsContact","addContact","aliasSaved","refreshContacts","force","catch","userId","saveSenderAlias","roleBubbleClass","formatFileSize","size","bytes","Number","toFixed","handleMessageClick","selectionMode","handleImageClick","openImageViewer","resetImageViewer","closeImageViewer","clampImageScale","Math","min","max","setImageScale","originX","originY","previousScale","nextScale","rect","getBoundingClientRect","centerX","left","width","centerY","top","height","ratio","zoomImage","delta","rotateImage","handleImageWheel","event","factor","deltaY","clientX","clientY","startImageDrag","saveViewerImage","downloadUrl","URL","window","location","origin","searchParams","set","link","createElement","href","toString","download","body","appendChild","click","remove","openMenu","innerWidth","innerHeight","key","chooseMenuAction","formatTime","timestamp","Intl","DateTimeFormat","hour","minute","hour12","timeZone","resolvedOptions","format","deliveryState","state","deliveryTitle","failureText","errorCode","defineStore","useNavigationStore","section","actions","showMessages","showContacts","showFavorites","useConversationStore","conversations","navigation","favorite","activeFavorite","clearFeedback","favoriteTitle","item","conversationTitle","conversation","entry","conversationId","favoriteText","text","isImageFavorite","isFileFavorite","favoriteCopyText","recallStatus","preview","formatFavoriteTime","year","month","day","copyFavorite","writeClipboard","copyError","navigator","clipboard","writeText","setAttribute","style","position","select","execCommand","removeChild","openConversation","refreshRemoteConversations","setActiveConversation","setTimeout","focusMessage","removeFavorite","MessageList","MessageComposer","imClient","useSessionStore","session","activeConversation","groupMenuOpen","singleProfileOpen","singleAliasDraft","singleProfileSaving","singleProfileNotice","singleProfileError","groupPanel","groupBusy","groupDetail","groupMembers","groupAliasDraft","manageSection","selectedAdminIds","selectedKickIds","transferTargetId","profileDraft","announcement","welcomeText","muteDraft","mode","scheduleType","startsAtLocal","endsAtLocal","dailyStart","dailyEnd","muteSaveNotice","muteSaveError","singlePeerId","isGroupConversation","target","raw","replace","singleContact","peerId","singleProfile","currentGroupRole","myRole","isGroupOwner","canManageGroup","adminCandidateMembers","filter","member","transferableMembers","messageDetail","messageDetailGroup","group","isMessageDetailGroup","messageDetailCounts","counts","read","unread","undelivered","total","kickCandidateMembers","statusText","canSendActiveConversation","connectionStatusText","connected","formatDetailTime","second","detailMemberName","detailMemberAvatar","detailRoleLabel","closeGroupMenu","toggleGroupMenu","openSingleProfile","then","closeSingleProfile","saveSingleAlias","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","toggleKick","saveGroupAdmins","setGroupAdmins","saveGroupProfile","result","updateGroupProfile","updatedAt","now","kickSelectedMembers","length","confirm","kickGroupMembers","removed","removedIds","saveMuteSetting","updateGroupMuteSetting","leaveCurrentGroup","leaveGroup","dismissCurrentGroup","dismissGroup","transferCurrentGroup","transferGroup","memberAvatar","emojiOpen","dropActive","textareaEl","imageInput","fileInput","dragDepth","emojiList","submit","toggleEmojiPicker","insertEmoji","emoji","start","selectionStart","end","selectionEnd","requestAnimationFrame","focus","cursor","setSelectionRange","chooseImage","chooseFile","attachmentTypeForFile","file","fallbackType","startsWith","emitFiles","files","disabled","validFiles","File","caption","forEach","index","selectAttachment","input","hasDraggedFiles","types","dataTransfer","handleDragEnter","dropEffect","handleDragOver","handleDragLeave","filesFromDataTransfer","kind","webkitGetAsEntry","isDirectory","getAsFile","handleDrop","imageFilesFromClipboard","clipboardData","handlePaste","imageFiles","preventDefault","LoginView","ChatShell","restore","isAuthenticated","bootstrapDemoData","clearUserState","axios","appConfig","LOCAL_MESSAGE_STORAGE_KEY","LOCAL_HIDDEN_MESSAGE_STORAGE_KEY","LOCAL_RECALLED_MESSAGE_STORAGE_KEY","scopedStorageKey","baseKey","scope","appServer","encodeURIComponent","randomId","crypto","randomUUID","replaceAll","random","readLocalMessages","JSON","parse","localStorage","getItem","readMessageSet","storageKey","writeMessageSet","messagesByConversation","setItem","stringify","messageKeys","hasStoredMessage","stored","ids","some","storeMessageKeys","withRecalledState","applyLocalMessageState","isRecalled","writeLocalMessages","saveLocalMessage","findIndex","splice","mergeSyncedMessages","localMessages","remoteMessages","visibleLocalMessages","localByKey","Map","visibleRemoteMessages","remoteMessage","localMessage","get","remoteKeys","hasRemoteMatch","abs","pendingLocalMessages","sort","a","b","displayTimestamp","getTitle","fallback","getUniqueEquipment","allowedDevices","canUseLocalLoginFallback","response","data","process","env","NODE_ENV","HttpImClient","constructor","listeners","currentUser","getClientId","clientId","clientIdStorageKey","restoreClientId","getSdkVersion","ensureSdk","loginWithPassword","password","deviceId","post","platform","uniqueEquipment","withCredentials","persistAppToken","code","token","localOnly","Error","requestAuthCode","loginWithCode","createPcSession","flag","device_name","loginWithPcSession","registerWithPhone","connect","refreshConversationList","disconnect","getConversationList","fetchRemoteConversations","remoteConversations","limit","messagesApi","line","getMessages","fetchRemoteMessages","options","markRead","hideMessages","isArray","markMessagesRecalled","recallMessage","test","messageActionApi","editMessage","nextText","editedMessage","editedAt","activityTimestamp","getMessageDetail","messageDetailApi","sendTextMessage","initialMessage","sendMessageApi","sender","sentMessage","serverTimestamp","failedMessage","sendAttachmentMessage","mime","createObjectURL","formData","FormData","append","getContactList","getServerContactList","contactsApi","headers","getAppAuthHeaders","mapContact","friendAlias","localeCompare","keyword","reason","addContactApi","normalizeConversation","subtitle","createGroup","memberIds","channel","conversationActionsApi","joinGroup","groupKey","broadcastMessage","targetIds","groupId","members","targetUserId","adminIds","targetId","updateAliasApi","getProfile","profileApi","updateProfile","portraitFile","changePassword","oldPassword","newPassword","changePasswordApi","msg","resetPasswordWithCode","resetCode","resetPasswordApi","refreshContactList","createSingleConversation","userInfo","friend","rawFriend","on","eventName","handler","off","payload","appToken","authtoken","authToken","authTokenStoragePrefix","getUrlHost","host","addingContact","addKeyword","filteredContacts","toLowerCase","openAddContact","actionInfo","closeAddContact","submitAddContact","added","LOCAL_CONVERSATION_STORAGE_KEY","LOCAL_FAVORITE_MESSAGES_KEY","readFavoriteMessages","writeFavoriteMessages","readLocalConversations","writeLocalConversations","messageStableKey","messageActivityTimestamp","attachmentLabel","messagePreviewText","quotePrefix","isSameMessage","right","hasExactMessage","shouldUseMessagePolling","canMarkReadNow","visibilityState","userAction","mergeVisibleMessages","currentMessages","syncedMessages","merged","currentMessage","exists","shouldKeepLocal","incomingEditedMessages","previousMessages","nextMessages","previousByKey","previous","notificationAudioContext","playNotificationSound","AudioContext","webkitAudioContext","resume","oscillator","createOscillator","gain","createGain","startAt","currentTime","frequency","setValueAtTime","exponentialRampToValueAtTime","destination","stop","activeId","visibleMessagesByConversation","eventsBound","usingDemoData","loading","syncTimer","conversationSyncTimer","readPresenceEventsBound","syncInFlight","pendingReadReceiptConversationId","conversationSyncInFlight","syncAfterSendTimer","optimisticMessagesByConversation","quotedMessage","forwardingMessages","editingMessage","editingText","editingMode","messageDetailOpen","messageDetailLoading","messageDetailError","attentionMessageTimer","favoriteMessages","activeFavoriteKey","actionNotice","getters","activeMessages","totalUnread","reduce","sum","selectedMessages","selectedIds","bindImEvents","loadScopedLocalState","startMessageSync","loadActiveMessages","clearInterval","clearTimeout","appendMessage","replaceMessage","applyRemoteConversations","sendText","appendVisibleMessage","sendAttachment","sendTextToConversation","removeConversation","removedMessages","removedVisibleMessages","removedOptimisticMessages","remote","values","keepOptimisticMessage","updateConversationFromMessage","syncVisibleMessages","removeMessages","flatMap","filterMessages","list","replaceLocalMessage","targetMessage","nextMessage","keys","replaceInList","matched","pruneOptimisticMessages","remoteMatched","syncedMessage","syncOptions","wantsReadReceipt","explicitReadReceipt","pollingReadReceipt","syncedConversationId","editedIncomingMessages","latest","latestMessage","bindReadPresenceEvents","setInterval","syncIntervalMs","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","CONTACT_CACHE_MS","normalizeContacts","unique","normalized","refreshSerial","refreshPromise","loadedForUserId","loadedAt","requestUserId","clearContacts","serial","serverContacts","contactId","nextAlias","savedAlias","setActiveContact","openChat","STORAGE_KEY","normalizeStoredPortrait","nextProfilePortrait","profilePortrait","currentPortrait","connecting","sdkVersion","removeItem","refreshProfile","applyLoginResult","completePcSessionLogin","imToken","userName","persistSession","applyProfile","saveProfile","logout","$reset","HEARTBEAT_INTERVAL_MS","RECONNECT_MIN_MS","RECONNECT_MAX_MS","buildWsUrl","wsUrl","protocol","useWss","imServerHost","hostname","port","imRoutePort","path","wsPath","normalizeConversationId","to","receiver","conversationTarget","normalizeIncomingMessage","currentUserId","fromUser","content","searchableContent","LongConnectionImClient","socket","heartbeatTimer","reconnectTimer","reconnectAttempts","manualClose","WebSocket","openSocket","clearReconnectTimer","clearHeartbeatTimer","close","readyState","OPEN","sendAuthFrame","CONNECTING","binaryType","scheduleReconnect","onopen","startHeartbeat","onmessage","handleFrame","onerror","onclose","sendFrame","frame","send","rawData","ArrayBuffer","cmd","delay","activeKey","favoritePreview","UnsupportedWildfireImClient","sdkMode","WildfireImClient","createApp","createPinia","App","use","mount","NavigationRail","ConversationList","ContactList","ChatPanel","ContactPanel","FavoriteList","FavoritePanel","CROP_OUTPUT_SIZE","settingsItems","initials","settingsOpen","settingsSection","passwordSaving","settingsNotice","settingsError","profileOpen","profileSaving","profileNotice","profileError","profileFile","profilePreview","portraitInput","cropperCanvas","cropperPreviewCanvas","passwordDraft","confirmPassword","currentAvatarUrl","activeSettingsItem","avatarPreviewViewer","open","avatarCropper","loaded","busy","objectUrl","fileName","image","baseScale","avatarPreviewStyle","drawAvatarCropper","revokeProfilePreview","closeAvatarCropper","clearProfileFeedback","clearSettingsFeedback","resetPasswordDraft","openSettings","closeSettings","selectSettingsSection","revokeObjectURL","revokeCropperObjectUrl","openProfileEditor","closeProfileEditor","closeAvatarPreview","selectPortrait","openAvatarCropper","choosePortraitFile","openAvatarPreview","resetAvatarPreview","zoomAvatarPreview","handleAvatarPreviewWheel","startAvatarPreviewDrag","currentTarget","setPointerCapture","pointerId","moveAvatarPreviewDrag","stopAvatarPreviewDrag","dropPortrait","cropperStageSize","canvas","round","cropperBoxSize","rotatedImageSize","quarterTurn","naturalHeight","naturalWidth","clampCropperOffset","cropSize","rotated","scaledWidth","scaledHeight","maxX","maxY","updateCropperBaseScale","drawCanvasImage","outputScale","cropOnly","dpr","devicePixelRatio","context","getContext","setTransform","clearRect","fillStyle","fillRect","save","translate","rotate","PI","drawImage","beginPath","fill","previewCanvas","resetCropperTransform","Image","onload","src","zoomCropper","rotateCropper","degrees","handleCropperWheel","startCropperDrag","moveCropperDrag","stopCropperDrag","canvasToBlob","quality","Promise","resolve","reject","toBlob","blob","confirmAvatarCrop","outputCanvas","croppedFile","savePassword","defineComponent","h","actionMenuOpen","activeAction","actionBusy","searchKeyword","groupName","groupAnnouncement","groupWelcomeText","joinGroupKey","broadcastText","channelName","channelAnnouncement","contactKeyword","selectedContactIds","actionTitles","broadcast","createChannel","submitLabels","actionTitle","submitLabel","modalError","modalInfo","normalizedSearchKeyword","contactsByUid","filteredConversationItems","conversationResult","conversationResults","matchesConversation","contactForConversation","conversationTargets","contactResults","matchesContact","contactResult","submitDisabled","ContactPicker","default","emptyText","emits","setup","class","placeholder","onInput","onClick","alt","searchableValues","Object","matchesKeyword","compactKeyword","group_id","owner_uid","resultKind","resultKey","isListItemActive","selectListItem","clearStoreMessages","resetActionFields","toggleActionMenu","closeActionMenu","openAction","closeActionModal","toggleContact","submitAction","formatUnread","count","currentHost","runtimeConfig","JC_WEB_IM_CONFIG","appServerOrigin","adminServerOrigin","appName","adminServer","VUE_APP_ADMIN_SERVER","VUE_APP_APP_SERVER","platformConfigApi","VUE_APP_PLATFORM_CONFIG_API","registerConfigApi","VUE_APP_REGISTER_CONFIG_API","registerPhoneExistsApi","VUE_APP_REGISTER_PHONE_EXISTS_API","VUE_APP_CONTACTS_API","VUE_APP_UPDATE_ALIAS_API","VUE_APP_ADD_CONTACT_API","VUE_APP_CONVERSATION_ACTIONS_API","VUE_APP_SEND_MESSAGE_API","VUE_APP_MESSAGE_ACTION_API","VUE_APP_MESSAGE_DETAIL_API","VUE_APP_MESSAGES_API","VUE_APP_PROFILE_API","VUE_APP_CHANGE_PASSWORD_API","VUE_APP_RESET_PASSWORD_API","VUE_APP_IM_SERVER_HOST","VUE_APP_IM_ROUTE_PORT","VUE_APP_USE_WSS","VUE_APP_WS_PATH","VUE_APP_WS_URL","VUE_APP_IM_MODE","VUE_APP_SYNC_INTERVAL_MS","jrQRCode","QR_CODE_PREFIX_PC_SESSION","pendingRegistrationStorageKey","defaultPlatformLogo","emailRegisterEnabled","view","sendingCode","info","qrStatus","qrCodeImage","qrSessionToken","qrUserName","qrUserPortrait","qrPolling","qrGeneration","qrExpireTimer","defaultPlatformName","platformName","platformLogo","registerType","registerMethods","phone","email","mobileRealVerify","registerPhoneError","phoneCaptcha","phoneCaptchaImage","usernameCaptcha","usernameCaptchaImage","settingRegisterPassword","pendingRegistration","registerForm","phoneCountryCode","emailCode","usernamePhoneCountryCode","usernamePhone","usernameCode","registerPasswordForm","countryCodeOptions","registerMethodOptions","canSubmit","visibleRegisterMethods","enabled","canRegisterSubmit","phoneCaptchaMatched","usernameCaptchaMatched","canSetRegisterPassword","phoneCaptchaStatus","getCaptchaStatus","phoneCaptchaClass","getCaptchaClass","usernameCaptchaStatus","usernameCaptchaClass","qrUserInitial","qrStatusTitle","qrStatusText","qrRefreshText","methods","loadPlatformConfig","loadRegisterConfig","restorePendingRegistration","startQrLogin","stopQrLogin","requestCode","requestRegisterCode","formatPhoneForApi","setLoginMode","nextMode","resetQrState","clearQrExpireTimer","refreshQrLogin","generation","pcSession","getQrBase64","expireMs","expired","pollQrLogin","codeValue","ms","normalizeUsernameCaptchaInput","normalizePhoneCaptchaInput","normalizeRegisterCountryCode","showPhoneCaptcha","randomDigits","renderCaptchaImage","showUsernameCaptcha","inputValue","captchaValue","floor","moveTo","lineTo","strokeStyle","lineWidth","stroke","font","textBaseline","textAlign","fillText","toDataURL","submitRegister","clearRegisterPhoneError","formattedPhone","phoneExists","isRegisterPhoneExists","loginCode","setPendingRegistration","submitRegisterPassword","clearPendingRegistration","countryCode","digits","normalizedCode","normalizedPhone","mobile_real_verify","config","logo","logoUrl","version","resolveBrandLogo","applyDocumentBrand","appendBrandVersion","base","parsed","icon","querySelector","head","handleBrandLogoError","sessionStorage","pending","openRegister","backToLogin"],"sourceRoot":""} \ No newline at end of file diff --git a/src/components/LoginView.vue b/src/components/LoginView.vue index 2b163ac..a079ab9 100644 --- a/src/components/LoginView.vue +++ b/src/components/LoginView.vue @@ -12,8 +12,8 @@
- +