diff --git a/components.d.ts b/components.d.ts index f568422..34fd884 100644 --- a/components.d.ts +++ b/components.d.ts @@ -41,6 +41,7 @@ declare module 'vue' { ElSelect: typeof import('element-plus/es')['ElSelect'] ElSelectV2: typeof import('element-plus/es')['ElSelectV2'] ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] + ElSpace: typeof import('element-plus/es')['ElSpace'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] diff --git a/src/api/miniProgram/index.ts b/src/api/miniProgram/index.ts index 1ba85e4..5d626f9 100644 --- a/src/api/miniProgram/index.ts +++ b/src/api/miniProgram/index.ts @@ -19,10 +19,11 @@ export const addApp = (data) => { }) } -export const deleteRobot = (id) => { +export const deleteRobot = (data) => { return request({ - url: `admin/app/${id}`, - method: 'delete', + url: `admin/app/delete`, + method: 'post', + data }) } export const editRobot = (id, data) => { diff --git a/src/components/ChatRecord/index.vue b/src/components/ChatRecord/index.vue index 255cc86..374fc7b 100644 --- a/src/components/ChatRecord/index.vue +++ b/src/components/ChatRecord/index.vue @@ -12,11 +12,11 @@
-
{{ element.content.messages }}
+
{{ element.content.message }}
- + diff --git a/src/components/UserCard/index.vue b/src/components/UserCard/index.vue index 8356c5c..cf77267 100644 --- a/src/components/UserCard/index.vue +++ b/src/components/UserCard/index.vue @@ -104,11 +104,13 @@ const formatLastMessage = (user) => { try { // 尝试解析JSON格式的content - const contentObj = JSON.parse(user.content) + const contentObj = { + message: JSON.parse(user.content).message || JSON.parse(user.content).messages + } // 优先返回messages字段 - if (contentObj.messages) { - const content = String(contentObj.messages).slice(0, 30) + if (contentObj.message) { + const content = String(contentObj.message).slice(0, 30) return content.length > 30 ? content + '...' : content } diff --git a/src/views/chat/index.vue b/src/views/chat/index.vue index ef20887..c34f14b 100644 --- a/src/views/chat/index.vue +++ b/src/views/chat/index.vue @@ -209,7 +209,7 @@ const sortMessagesByTime = (messages) => { id: m.id || m._id || m.message_id, send_time: m.send_time, content: typeof m.content === 'object' ? - (m.content.messages || JSON.stringify(m.content)) : + (m.content.message || JSON.stringify(m.content)) : String(m.content).slice(0, 20) + '...' }))) @@ -248,10 +248,13 @@ const getMessages = async (isHistory = true, pageOverride = null) => { const newMessages = list.map(item => { // 处理消息内容,确保与ChatRecord组件兼容 try { - item.content = JSON.parse(item.content) + const text = JSON.parse(item.content) + item.content = { + message: text.message || text.messages + } } catch (e) { // 如果解析失败,说明是纯字符串,包装为对象格式 - item.content = { messages: item.content } + item.content = { message: item.content } } return item }) @@ -301,13 +304,13 @@ const getMessages = async (isHistory = true, pageOverride = null) => { if (existingMsg.msg_type === 1) { // 文本消息:比较文本内容 const existingContent = existingMsg._tempContent || - (typeof existingMsg.content === 'object' ? existingMsg.content.messages : existingMsg.content) - const newContent = typeof newMsg.content === 'object' ? newMsg.content.messages : newMsg.content + (typeof existingMsg.content === 'object' ? existingMsg.content.message : existingMsg.content) + const newContent = typeof newMsg.content === 'object' ? newMsg.content.message : newMsg.content contentMatch = existingContent === newContent } else if (existingMsg.msg_type === 2) { // 图片消息:比较文件信息(文件名和大小) if (existingMsg._tempImageFile) { - const newContent = typeof newMsg.content === 'object' ? newMsg.content.messages : newMsg.content + const newContent = typeof newMsg.content === 'object' ? newMsg.content.message : newMsg.content // 如果新消息包含文件名,尝试匹配 if (typeof newContent === 'string' && newContent.includes(existingMsg._tempImageFile.name.split('.')[0])) { contentMatch = true @@ -345,10 +348,10 @@ const getMessages = async (isHistory = true, pageOverride = null) => { // 如果没有ID,使用多字段组合进行匹配 const existingContentStr = typeof existingMsg.content === 'object' ? - (existingMsg.content.messages || JSON.stringify(existingMsg.content)) : + (existingMsg.content.message || JSON.stringify(existingMsg.content)) : String(existingMsg.content) const newContentStr = typeof newMsg.content === 'object' ? - (newMsg.content.messages || JSON.stringify(newMsg.content)) : + (newMsg.content.message || JSON.stringify(newMsg.content)) : String(newMsg.content) const compositeMatch = existingMsg.sender_id === newMsg.sender_id && @@ -363,7 +366,7 @@ const getMessages = async (isHistory = true, pageOverride = null) => { // 3. 真正的新消息,添加到列表 console.log('发现新消息:', { id: newMsg.id || newMsg._id || newMsg.message_id, - content: typeof newMsg.content === 'object' ? newMsg.content.messages : newMsg.content + content: typeof newMsg.content === 'object' ? newMsg.content.message : newMsg.content }) currentMessages.push(newMsg) hasUpdates = true @@ -481,7 +484,7 @@ const send = async () => { msg.sender_id === '888888' && msg.msg_type === 1 && typeof msg.content === 'object' && - msg.content.messages === content && + msg.content.message === content && (now - (msg._timestamp || 0)) < 5000 ) @@ -503,7 +506,7 @@ const send = async () => { sender_id: '888888', sender_name: '平台', msg_type: 1, - content: { messages: content }, + content: { message: content }, send_time: '刚刚', _timestamp: now, _tempContent: content // 保存原始内容用于匹配 @@ -520,7 +523,7 @@ const send = async () => { send_message({ app_id: route.query.app_id, content: JSON.stringify({ - messages: content + message: content }), msg_type: 1, to_user_id: activeUser.value.sender_id @@ -590,7 +593,7 @@ const handleImageChange = (e) => { sender_id: '888888', sender_name: '平台', msg_type: 2, - content: { messages: url }, + content: { message: url }, send_time: '刚刚', _timestamp: now, _tempImageFile: file // 保存文件信息用于匹配 @@ -615,7 +618,7 @@ const handleImageChange = (e) => { send_message({ app_id: route.query.app_id, msg_type: 2, - content: JSON.stringify({ messages: imageUrl }), + content: JSON.stringify({ message: imageUrl }), to_user_id: activeUser.value.sender_id }).then(() => { // 发送成功,移除临时消息 diff --git a/src/views/customerService/index.vue b/src/views/customerService/index.vue index bafab4b..321adb6 100644 --- a/src/views/customerService/index.vue +++ b/src/views/customerService/index.vue @@ -11,10 +11,9 @@ @selection-change="handleSelectionChange" row-key="id"> - +