From 7595af1d33bb4750adfd24619f532b7cdc235232 Mon Sep 17 00:00:00 2001
From: wangyifeng <812766448@qq.com>
Date: Sat, 22 Mar 2025 14:22:09 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=861116=E6=B6=88=E6=81=AF?=
=?UTF-8?q?=E7=B1=BB=E5=9E=8B=EF=BC=9B=E6=96=B0=E5=A2=9E=E6=9F=A5=E7=9C=8B?=
=?UTF-8?q?=E9=83=A8=E9=97=A8=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components.d.ts | 2 +
src/components/talk/message/RevokeMessage.vue | 1 -
.../system/SysGroupInfoChangeMessage.vue | 23 +++++++
src/constant/message.ts | 6 +-
src/event/talk.js | 28 ++++++++-
.../groupManage/manageGroupDeps.vue | 1 +
src/pages/chatSettings/index.vue | 2 +-
src/pages/dialog/components/filePanel.vue | 2 +
src/pages/dialog/index.vue | 48 ++++++++++++--
src/pages/search/components/searchList.vue | 63 +++++++++++++------
10 files changed, 148 insertions(+), 28 deletions(-)
create mode 100644 src/components/talk/message/system/SysGroupInfoChangeMessage.vue
diff --git a/components.d.ts b/components.d.ts
index 5202040..f78adde 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -39,6 +39,8 @@ 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']
diff --git a/src/components/talk/message/RevokeMessage.vue b/src/components/talk/message/RevokeMessage.vue
index 334b40f..01334ca 100644
--- a/src/components/talk/message/RevokeMessage.vue
+++ b/src/components/talk/message/RevokeMessage.vue
@@ -66,7 +66,6 @@ defineProps({
{{revokeInfo.withdraw_name}}撤回了你一条消息 |
{{ formatTime(datetime) }}
- {{extra}}
{{revokeInfo.withdraw_name}}撤回了{{revokeInfo.retracted_name}}一条消息 |
diff --git a/src/components/talk/message/system/SysGroupInfoChangeMessage.vue b/src/components/talk/message/system/SysGroupInfoChangeMessage.vue
new file mode 100644
index 0000000..806e629
--- /dev/null
+++ b/src/components/talk/message/system/SysGroupInfoChangeMessage.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ {{ data.nickname }}
+
+
修改群名为
+
"{{ extra.group_name }}"
+
+
+
diff --git a/src/constant/message.ts b/src/constant/message.ts
index 8f16d04..11e0e2f 100644
--- a/src/constant/message.ts
+++ b/src/constant/message.ts
@@ -28,7 +28,7 @@ export const ChatMsgSysGroupNotice = 1111 // 编辑群公告
export const ChatMsgSysGroupTransfer = 1113 // 变更群主
export const ChatMsgSysGroupAdmin = 1114 // 设置管理员
export const ChatMsgSysGroupMemberRemoved = 1115 // 移出群成员消息(部门群、公司群自动移出)
-export const ChatMsgSysGroupNameChange = 1116 // 修改群名称
+export const ChatMsgSysGroupInfoChange = 1116 // 管理员更新了群信息
export const ChatMsgTypeMapping = {
[ChatMsgTypeText]: '[文本消息]',
@@ -60,7 +60,7 @@ export const ChatMsgTypeMapping = {
[ChatMsgSysGroupTransfer]: '[转让群主]',
[ChatMsgSysGroupAdmin]: '[设置管理员]',
[ChatMsgSysGroupMemberRemoved]: '[移出群成员消息]',
- [ChatMsgSysGroupNameChange]: '[修改群名称]'
+ [ChatMsgSysGroupInfoChange]: '[修改群名称]'
}
// 消息类型 - 消息组件 映射关系
@@ -93,7 +93,7 @@ export const MessageComponents = {
[ChatMsgSysGroupTransfer]: 'sys-group-transfer-message',
[ChatMsgSysGroupAdmin]:'sys-group-admin-message',
[ChatMsgSysGroupMemberRemoved]:'sys-group-member-removed-message',
- [ChatMsgSysGroupNameChange]:'sys-group-name-change-message'
+ [ChatMsgSysGroupInfoChange]:'sys-group-info-change-message'
}
// 可转发的消息类型
diff --git a/src/event/talk.js b/src/event/talk.js
index 11c0cee..5c0dbfd 100644
--- a/src/event/talk.js
+++ b/src/event/talk.js
@@ -6,7 +6,7 @@ import * as message from '@/constant/message'
import { formatTalkItem, palyMusic, formatTalkRecord } from '@/utils/talk'
// import { isElectronMode } from '@/utils/common'
import { ServeClearTalkUnreadNum, ServeCreateTalkList } from '@/api/chat/index.js'
-import { useTalkStore, useDialogueStore,useDialogueListStore } from '@/store'
+import { useTalkStore, useDialogueStore,useDialogueListStore,useGroupStore } from '@/store'
/**
* 好友状态事件
@@ -181,6 +181,24 @@ class Talk extends Base {
if ([1102, 1103, 1104, 1115].includes(record.msg_type)) {
useDialogueStore().updateGroupMembers()
}
+ if ([1116].includes(record.msg_type)) {
+ // 更新会话信息
+ useDialogueStore().setDialogue({
+ name: record.extra.group_name,
+ talk_type: record.talk_type,
+ receiver_id: record.receiver_id,
+ })
+ // 更新群聊信息
+ useGroupStore().updateGroupInfo({
+ group_name: record.extra.group_name,
+ avatar: record.extra.group_avatar,
+ })
+ // 更新会话列表中的会话信息
+ const dialogue = useDialogueListStore().getDialogueList(`${record.talk_type}_${record.receiver_id}`)
+ if (dialogue) {
+ dialogue.talk.username = record.extra.group_name
+ }
+ }
addDialogueRecord([newRecord],'add')
addChatRecord(this.getIndexName(),newRecord)
useDialogueStore().addDialogueRecord(newRecord)
@@ -233,6 +251,14 @@ class Talk extends Base {
msg_text: this.getTalkText(),
updated_at: parseTime(new Date())
})
+ if(this.resource.msg_type == 1116){
+ // 更新会话列表中的会话信息
+ const dialogue = useDialogueListStore().getDialogueList(`${this.resource.talk_type}_${this.resource.receiver_id}`)
+ if (dialogue) {
+ dialogue.talk.username = this.resource.extra.group_name
+ }
+ useTalkStore().loadTalkList()
+ }
}
}
diff --git a/src/pages/chatSettings/groupManage/manageGroupDeps.vue b/src/pages/chatSettings/groupManage/manageGroupDeps.vue
index 5833e6b..66a3370 100644
--- a/src/pages/chatSettings/groupManage/manageGroupDeps.vue
+++ b/src/pages/chatSettings/groupManage/manageGroupDeps.vue
@@ -64,6 +64,7 @@ onMounted(() => {
background-color: #fff;
.group-deps-list-each {
padding: 34rpx 32rpx;
+ border-bottom: 1px solid $theme-border-color;
span {
font-size: 28rpx;
font-weight: 500;
diff --git a/src/pages/chatSettings/index.vue b/src/pages/chatSettings/index.vue
index e242c37..f83f5a7 100644
--- a/src/pages/chatSettings/index.vue
+++ b/src/pages/chatSettings/index.vue
@@ -383,7 +383,7 @@ const updateGroupInfos = () => {
state.chatGroupInfos = [
{
label: t('chat.settings.groupName'),
- hasPointer: true,
+ hasPointer: groupParams?.groupInfo?.is_manager ? true : false,
value: groupName.value,
subValue: '',
customInfo: '',
diff --git a/src/pages/dialog/components/filePanel.vue b/src/pages/dialog/components/filePanel.vue
index 3c9a9ea..b0769fa 100644
--- a/src/pages/dialog/components/filePanel.vue
+++ b/src/pages/dialog/components/filePanel.vue
@@ -108,6 +108,8 @@ const photoActionsSelect = (index) => {
} else {
uni.chooseVideo({
sourceType: ['album'],
+ compressed: true,
+ maxDuration: 60,
success: async (res) => {
console.log(res, 'res')
let data = await onUploadImageVideo(
diff --git a/src/pages/dialog/index.vue b/src/pages/dialog/index.vue
index 8fe4a5e..fb8ff90 100644
--- a/src/pages/dialog/index.vue
+++ b/src/pages/dialog/index.vue
@@ -115,7 +115,12 @@
-