diff --git a/src/assets/image/bofang1.png b/src/assets/image/bofang1.png new file mode 100644 index 0000000..f4954f8 Binary files /dev/null and b/src/assets/image/bofang1.png differ diff --git a/src/assets/image/yuyin1.png b/src/assets/image/yuyin1.png new file mode 100644 index 0000000..821a8fe Binary files /dev/null and b/src/assets/image/yuyin1.png differ diff --git a/src/components/talk/message/AudioMessage.vue b/src/components/talk/message/AudioMessage.vue index 25466cb..17ae7de 100644 --- a/src/components/talk/message/AudioMessage.vue +++ b/src/components/talk/message/AudioMessage.vue @@ -2,6 +2,13 @@ import { ref, reactive } from 'vue' import { PlayOne, PauseOne } from '@icon-park/vue-next' import { ITalkRecordExtraAudio, ITalkRecord } from '@/types/chat' +import { onClickOutside } from '@vueuse/core' +import { useTemplateRef } from 'vue' +import yuyin from "@/assets/image/yuyin.png" +import yuyin1 from "@/assets/image/yuyin1.png" +import bofang from "@/assets/image/bofang.png" +import bofang1 from "@/assets/image/bofang1.png" + const props = defineProps<{ extra: ITalkRecordExtraAudio @@ -22,16 +29,23 @@ const state = reactive({ showText: false }) +const target = useTemplateRef('target') const onPlay = () => { if (state.isAudioPlay) { audioRef.value.pause() + state.isAudioPlay = false } else { audioRef.value.play() + state.isAudioPlay = true + onClickOutside(target, () => { + console.log('点击了外部区域') + audioRef.value.pause() // 关闭当前语音播放 + state.isAudioPlay = false + }) } - - state.isAudioPlay = !state.isAudioPlay } + const onPlayEnd = () => { state.isAudioPlay = false state.progress = 0 @@ -70,10 +84,18 @@ const formatTime = (value: number = 0) => { return `${Math.floor(value)}"` } +const right = props.data.float === 'right' @@ -217,9 +218,10 @@ if(newVal){ :groupType="item.group_type" :customStyle="{width:'42px',height:'42px'}"> -
+
{{ item.name }} - + + {{ `(${item.group_member_num})` }}
diff --git a/src/event/talk.js b/src/event/talk.js index 191f017..e7e7330 100644 --- a/src/event/talk.js +++ b/src/event/talk.js @@ -250,6 +250,12 @@ class Talk extends Base { ServeClearTalkUnreadNum({ talk_type: this.talk_type, receiver_id: this.talk_type == 1 ? this.sender_id : this.receiver_id + }).then(() => { + useTalkStore().updateItem({ + index_name: item.index_name, + unread_num: 0, + atsign_num: 0 + }) }) } } diff --git a/src/views/message/inner/panel/PanelContent.vue b/src/views/message/inner/panel/PanelContent.vue index 98c6b04..ebc797a 100644 --- a/src/views/message/inner/panel/PanelContent.vue +++ b/src/views/message/inner/panel/PanelContent.vue @@ -847,7 +847,7 @@ const onCustomSkipBottomEvent = () => { diff --git a/src/views/message/inner/panel/PanelFooter.vue b/src/views/message/inner/panel/PanelFooter.vue index 6ba23fa..e76a51f 100644 --- a/src/views/message/inner/panel/PanelFooter.vue +++ b/src/views/message/inner/panel/PanelFooter.vue @@ -65,7 +65,7 @@ const onSendMessage = (data = {}, callBack: any) => { if (code == 200) { callBack(true) } else { - window['$message'].warning(message || msg) + // window['$message'].warning(message || msg) } }) .catch(() => {