浏览代码

bug修复和代码优化

jackson 11 月之前
父节点
当前提交
e82e5e611d
共有 3 个文件被更改,包括 17 次插入11 次删除
  1. 1 0
      index.html
  2. 5 1
      src/components/V3Emoji.vue
  3. 11 10
      src/views/home/right/components/Chat.vue

+ 1 - 0
index.html

@@ -3,6 +3,7 @@
   <head>
     <meta charset="UTF-8" />
     <link rel="icon" href="/favicon.ico" />
+    <meta name="format-detection" content="telephone=no">
     <meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,initial-scale=1,viewport-fit=cover">
     <title>Vite App</title>
   </head>

+ 5 - 1
src/components/V3Emoji.vue

@@ -34,6 +34,8 @@
           placeholder="请输入留言"
           id="textarea"
           @keydown="handleKeydown"
+          @compositionstart="textareaLock=true"
+          @compositionend="textareaLock=false"
       />
       <!--      <textarea-->
       <!--          v-model="textValue"-->
@@ -124,6 +126,7 @@ const props = withDefaults(
       }
     }
 );
+const textareaLock = ref(false);
 const textValue = ref(props.modelValue);
 const EmojiEl = ref();
 let textarea: any;
@@ -152,6 +155,7 @@ const clickEmoji = (emoji: Emoji.EmojiItem) => {
       textValue.value = front + emoji.emoji + rear;
       start.value = front.length + emoji.emoji.length;
       end.value = front.length + emoji.emoji.length;
+      textarea.focus();
     }
   }
   emit('clickEmoji', props.fulldata ? emoji : emoji.emoji);
@@ -166,7 +170,7 @@ const recordCursor = (focus: boolean) => {
 const handleKeydown = async (e: any) => {
   if (e.target.value.trim() && !e.shiftKey && e.key === 'Enter') {
     e.preventDefault();
-    props.sendMsg();
+    !textareaLock.value && props.sendMsg();
   }
 }
 watchEffect(() => {

+ 11 - 10
src/views/home/right/components/Chat.vue

@@ -344,7 +344,6 @@ export default defineComponent({
           title: '温馨提示',
           message: '确定要删除所有聊天记录吗?',
         }).then(async () => {
-          Toast('删除中...')
           await deleteMessage({
             toId: chatUserInfo.friendId,
             messageType: chatUserInfo.isGroup,
@@ -352,7 +351,6 @@ export default defineComponent({
             isClearUp: true,
           })
           state.messageList = []
-          Toast.success('删除成功')
         })
       }
       if (action.value === 'deleteFriend') {
@@ -395,7 +393,7 @@ export default defineComponent({
         left: event.clientX + 'px',
         top: event.clientY + 'px'
       }
-      messageHtml = event.target.innerHTML
+      messageHtml = event.target.innerText
       messageIndex = index
     };
 
@@ -410,13 +408,16 @@ export default defineComponent({
       const total = state.messageList.length - messageIndex
       const page = Math.ceil(total / pageSize)
       let chatUserInfo = store.state.chatUserInfo
-      let {data} = await messageList({
-        fromId: store.state.userInfo.id,
-        toId: store.state.chatUserInfo.friendId,
-        messageType: store.state.chatUserInfo.isGroup,
-        page,
-      })
-      const id = data.find((item: Obj) => item.content === state.messageList[messageIndex].content)?.id
+      let id = state.messageList[messageIndex].id
+      if (id === 0) {
+        let {data} = await messageList({
+          fromId: store.state.userInfo.id,
+          toId: store.state.chatUserInfo.friendId,
+          messageType: store.state.chatUserInfo.isGroup,
+          page,
+        })
+        id = data.find((item: Obj) => item.content === state.messageList[messageIndex].content)?.id
+      }
       await deleteMessage({
         toId: chatUserInfo.friendId,
         messageType: chatUserInfo.isGroup,