From 3a15ec6c00593876589255f27ca050156110aecd Mon Sep 17 00:00:00 2001 From: wangyifeng <812766448@qq.com> Date: Mon, 24 Mar 2025 16:37:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=90=9C=E7=B4=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E9=97=AE=E9=A2=98=E3=80=81=E6=90=9C=E7=B4=A2=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E9=97=AE=E9=A2=98=E3=80=81=E4=BC=9A=E8=AF=9D=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C@xxx=E9=97=AE=E9=A2=98=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 2 +- .../system/SysGroupInfoChangeMessage.vue | 3 +- .../system/SysGroupMemberRemovedMessage.vue | 23 ++++++++ src/constant/message.ts | 2 +- src/pages/chatSettings/index.vue | 54 +++++++++++++------ src/pages/creatGroupChat/index.vue | 5 ++ src/pages/dialog/index.vue | 33 ++++++++---- src/pages/search/components/searchList.vue | 2 + src/pages/search/moreResult/moreResult.vue | 6 ++- src/store/modules/dialogue.js | 4 ++ src/store/modules/dialogueList.js | 1 + src/uni_modules/tmui/locale/zh-Hans.json | 3 +- src/utils/talk.js | 1 + 13 files changed, 109 insertions(+), 30 deletions(-) create mode 100644 src/components/talk/message/system/SysGroupMemberRemovedMessage.vue diff --git a/components.d.ts b/components.d.ts index 9de6fc1..2811a17 100644 --- a/components.d.ts +++ b/components.d.ts @@ -37,13 +37,13 @@ declare module 'vue' { SysGroupAdminMessage: typeof import('./src/components/talk/message/system/SysGroupAdminMessage.vue')['default'] SysGroupCancelMutedMessage: typeof import('./src/components/talk/message/system/SysGroupCancelMutedMessage.vue')['default'] SysGroupCreateMessage: typeof import('./src/components/talk/message/system/SysGroupCreateMessage.vue')['default'] - SysGroupInfoChange: typeof import('./src/components/talk/message/system/SysGroupInfoChange.vue')['default'] SysGroupInfoChangeMessage: typeof import('./src/components/talk/message/system/SysGroupInfoChangeMessage.vue')['default'] SysGroupJoinMessage: typeof import('./src/components/talk/message/system/SysGroupJoinMessage.vue')['default'] SysGroupMemberCancelMutedMessage: typeof import('./src/components/talk/message/system/SysGroupMemberCancelMutedMessage.vue')['default'] SysGroupMemberKickedMessage: typeof import('./src/components/talk/message/system/SysGroupMemberKickedMessage.vue')['default'] SysGroupMemberMutedMessage: typeof import('./src/components/talk/message/system/SysGroupMemberMutedMessage.vue')['default'] SysGroupMemberQuitMessage: typeof import('./src/components/talk/message/system/SysGroupMemberQuitMessage.vue')['default'] + SysGroupMemberRemovedMessage: typeof import('./src/components/talk/message/system/SysGroupMemberRemovedMessage.vue')['default'] SysGroupMutedMessage: typeof import('./src/components/talk/message/system/SysGroupMutedMessage.vue')['default'] SysGroupTransferMessage: typeof import('./src/components/talk/message/system/SysGroupTransferMessage.vue')['default'] SysTextMessage: typeof import('./src/components/talk/message/system/SysTextMessage.vue')['default'] diff --git a/src/components/talk/message/system/SysGroupInfoChangeMessage.vue b/src/components/talk/message/system/SysGroupInfoChangeMessage.vue index 806e629..d0cfa0b 100644 --- a/src/components/talk/message/system/SysGroupInfoChangeMessage.vue +++ b/src/components/talk/message/system/SysGroupInfoChangeMessage.vue @@ -14,7 +14,8 @@ defineProps({
- {{ data.nickname }} + + 管理员 修改群名为 "{{ extra.group_name }}" diff --git a/src/components/talk/message/system/SysGroupMemberRemovedMessage.vue b/src/components/talk/message/system/SysGroupMemberRemovedMessage.vue new file mode 100644 index 0000000..f26af8b --- /dev/null +++ b/src/components/talk/message/system/SysGroupMemberRemovedMessage.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/constant/message.ts b/src/constant/message.ts index 11e0e2f..a421418 100644 --- a/src/constant/message.ts +++ b/src/constant/message.ts @@ -60,7 +60,7 @@ export const ChatMsgTypeMapping = { [ChatMsgSysGroupTransfer]: '[转让群主]', [ChatMsgSysGroupAdmin]: '[设置管理员]', [ChatMsgSysGroupMemberRemoved]: '[移出群成员消息]', - [ChatMsgSysGroupInfoChange]: '[修改群名称]' + [ChatMsgSysGroupInfoChange]: '[群信息更新]' } // 消息类型 - 消息组件 映射关系 diff --git a/src/pages/chatSettings/index.vue b/src/pages/chatSettings/index.vue index ae15279..0afb54d 100644 --- a/src/pages/chatSettings/index.vue +++ b/src/pages/chatSettings/index.vue @@ -167,7 +167,6 @@ @click="showConfirmPrompt(3)" class="clear-chat-record-btn-each" v-if=" - groupParams?.groupInfo?.is_manager === false && dialogueParams.type === 2 && (groupParams?.groupInfo?.group_type === 1 || groupParams?.groupInfo?.group_type === 3) @@ -226,6 +225,7 @@ const dialogueParams = reactive({ keyboard: computed(() => dialogueStore.keyboard), num: computed(() => dialogueStore.members.length), memberList: computed(() => dialogueStore.members), + adminList: computed(() => dialogueStore.getAdminList), }) const talkParams = reactive({ topItems: computed(() => talkStore.topItems), @@ -563,14 +563,20 @@ const showConfirmPrompt = (flag) => { confirmContent = t('ok') + t('chat.settings.clearChatRecord') } else if (flag === 2) { //解散群聊 - confirmContent = t('ok') + t('group.quit.btn') - subContent = t('groupManage.disband.hint') - subContentColor = '#CF3050' + confirmContent = t('group.dismiss.confirm') } else if (flag === 3) { - //退出群聊 - confirmContent = t('ok') + t('group.quit.btn') - subContent = t('groupManage.quit.hint') - subContentColor = '#B4B4B4' + //最后一个管理员退群就解散群聊 + if (dialogueParams.adminList.length === 1 && dialogueParams.adminList[0].id === dialogueParams.uid) { + //解散群聊 + confirmContent = t('ok') + t('group.quit.btn') + subContent = t('groupManage.disband.hint') + subContentColor = '#CF3050' + } else { + //退出群聊 + confirmContent = t('ok') + t('group.quit.btn') + subContent = t('groupManage.quit.hint') + subContentColor = '#B4B4B4' + } } showConfirm({ subContent: subContent, @@ -597,14 +603,32 @@ const showConfirmPrompt = (flag) => { }) } } else if (flag === 3) { - ServeSecedeGroup({ - group_id: dialogueParams.receiver_id, - }).then(({ code, message }) => { - if (code == 200) { - // dialogueStore.apiClearRecord() - } else { + //最后一个管理员退群就解散群聊 + if (dialogueParams.adminList.length === 1 && dialogueParams.adminList[0].id === dialogueParams.uid) { + //解散群聊 + let params = { + group_id: dialogueParams.receiver_id, //群id } - }) + console.log(params) + const res = await ServeDismissGroup(params) + if (res.code === 200) { + dialogueStore.updateGroupMembers() + groupStore.ServeGroupDetail() + uni.navigateBack({ + delta: 2, + }) + } + } else { + //退出群聊 + ServeSecedeGroup({ + group_id: dialogueParams.receiver_id, + }).then(({ code, message }) => { + if (code == 200) { + // dialogueStore.apiClearRecord() + } else { + } + }) + } } }, onCancel: () => {}, diff --git a/src/pages/creatGroupChat/index.vue b/src/pages/creatGroupChat/index.vue index e639880..6c42090 100644 --- a/src/pages/creatGroupChat/index.vue +++ b/src/pages/creatGroupChat/index.vue @@ -356,6 +356,11 @@ const confirmBtnStatus = computed(() => { onShow(() => { depsNoExpanded.value = true + + if(groupActiveIndex.value === 0 || groupActiveIndex.value === 2){ + // allChooseMembers.value = [] + console.log(allChooseMembers.value) + } })