From d781a94a8927ebcdb4481b19c47c2a66ab3423c2 Mon Sep 17 00:00:00 2001 From: wangyifeng <812766448@qq.com> Date: Fri, 21 Mar 2025 17:01:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?A-Z=E6=8E=92=E5=BA=8F=E7=9A=84=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=88=97=E8=A1=A8=E6=96=B0=E5=A2=9E#=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=A6=96=E5=AD=97=E6=AF=8D=E4=B8=8D=E5=9C=A8=E5=85=B6?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=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=EF=BC=9B=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=81=8A=E5=A4=A9=E8=AE=B0=E5=BD=95=E6=9C=AC=E5=9C=B0=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=97=B6=E5=8D=A1=E6=AD=BB=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constant/message.ts | 12 ++- src/event/talk.js | 2 +- src/pages.json | 8 ++ .../components/selectMemberByAlphabet.vue | 60 +++++++++++---- .../components/settingFormItem.vue | 3 +- .../groupManage/manageGroupDeps.vue | 75 +++++++++++++++++++ src/pages/chatSettings/index.vue | 6 +- src/pages/dialog/index.vue | 4 +- src/store/modules/dialogueList.js | 58 +++++++++----- src/uni_modules/tmui/locale/zh-Hans.json | 3 +- src/utils/talk.js | 8 +- 11 files changed, 192 insertions(+), 47 deletions(-) create mode 100644 src/pages/chatSettings/groupManage/manageGroupDeps.vue diff --git a/src/constant/message.ts b/src/constant/message.ts index 7f3a46f..8f16d04 100644 --- a/src/constant/message.ts +++ b/src/constant/message.ts @@ -17,7 +17,7 @@ export const ChatMsgSysText = 1000 // 系统文本消息 export const ChatMsgSysGroupCreate = 1101 // 创建群聊消息 export const ChatMsgSysGroupMemberJoin = 1102 // 加入群聊消息 export const ChatMsgSysGroupMemberQuit = 1103 // 群成员退出群消息 -export const ChatMsgSysGroupMemberKicked = 1104 // 移出群成员消息 +export const ChatMsgSysGroupMemberKicked = 1104 // 移出群成员消息(普通群、项目群被踢) export const ChatMsgSysGroupMessageRevoke = 1105 // 管理员撤回成员消息 export const ChatMsgSysGroupDismissed = 1106 // 群解散 export const ChatMsgSysGroupMuted = 1107 // 群禁言 @@ -27,6 +27,8 @@ export const ChatMsgSysGroupMemberCancelMuted = 1110 // 群成员解除禁言 export const ChatMsgSysGroupNotice = 1111 // 编辑群公告 export const ChatMsgSysGroupTransfer = 1113 // 变更群主 export const ChatMsgSysGroupAdmin = 1114 // 设置管理员 +export const ChatMsgSysGroupMemberRemoved = 1115 // 移出群成员消息(部门群、公司群自动移出) +export const ChatMsgSysGroupNameChange = 1116 // 修改群名称 export const ChatMsgTypeMapping = { [ChatMsgTypeText]: '[文本消息]', @@ -56,7 +58,9 @@ export const ChatMsgTypeMapping = { [ChatMsgSysGroupMemberCancelMuted]: '[群成员解除禁言消息]', [ChatMsgSysGroupNotice]: '[群公告]', [ChatMsgSysGroupTransfer]: '[转让群主]', - [ChatMsgSysGroupAdmin]: '[设置管理员]' + [ChatMsgSysGroupAdmin]: '[设置管理员]', + [ChatMsgSysGroupMemberRemoved]: '[移出群成员消息]', + [ChatMsgSysGroupNameChange]: '[修改群名称]' } // 消息类型 - 消息组件 映射关系 @@ -87,7 +91,9 @@ export const MessageComponents = { [ChatMsgSysGroupMemberMuted]: 'sys-group-member-muted-message', [ChatMsgSysGroupMemberCancelMuted]: 'sys-group-member-cancel-muted-message', [ChatMsgSysGroupTransfer]: 'sys-group-transfer-message', - [ChatMsgSysGroupAdmin]:'sys-group-admin-message' + [ChatMsgSysGroupAdmin]:'sys-group-admin-message', + [ChatMsgSysGroupMemberRemoved]:'sys-group-member-removed-message', + [ChatMsgSysGroupNameChange]:'sys-group-name-change-message' } // 可转发的消息类型 diff --git a/src/event/talk.js b/src/event/talk.js index aaf7488..11c0cee 100644 --- a/src/event/talk.js +++ b/src/event/talk.js @@ -178,7 +178,7 @@ class Talk extends Base { let newRecord = formatTalkRecord(this.getAccountId(), this.resource); const {addDialogueRecord,addChatRecord} = useDialogueListStore() // 群成员变化的消息,需要更新群成员列表 - if ([1102, 1103, 1104].includes(record.msg_type)) { + if ([1102, 1103, 1104, 1115].includes(record.msg_type)) { useDialogueStore().updateGroupMembers() } addDialogueRecord([newRecord],'add') diff --git a/src/pages.json b/src/pages.json index 8e516c8..a7ab3b9 100644 --- a/src/pages.json +++ b/src/pages.json @@ -178,6 +178,14 @@ "navigationStyle": "custom", "enablePullDownRefresh": false } + }, + { + "path": "pages/chatSettings/groupManage/manageGroupDeps", + "type": "page", + "style": { + "navigationStyle": "custom", + "enablePullDownRefresh": false + } } ], "globalStyle": { diff --git a/src/pages/chatSettings/components/selectMemberByAlphabet.vue b/src/pages/chatSettings/components/selectMemberByAlphabet.vue index 6c8780f..b266373 100644 --- a/src/pages/chatSettings/components/selectMemberByAlphabet.vue +++ b/src/pages/chatSettings/components/selectMemberByAlphabet.vue @@ -69,7 +69,7 @@ alphabetItem?.memberList?.length > 0 && alphabetItem?.key !== '0' " - :id="alphabetItem.key" + :id="alphabetItem.key === '#' ? 'special-hash' : alphabetItem.key" :ref=" (el) => { if (el) alphabetElementRefs[alphabetIndex] = el @@ -418,16 +418,47 @@ const assembleAlphabetMemberList = async (newMemberList) => { String.fromCharCode(i + 65), ) let tempAlphabet = [] + + // 创建一个对象来存储所有分组的数据 + let groupedData = { + '#': [] + } + alphabet.forEach(letter => { + groupedData[letter] = [] + }) + + // 对数据进行分组 + if (newMemberList) { + newMemberList.forEach(item => { + const key = item.key?.toUpperCase() + if (alphabet.includes(key)) { + groupedData[key].push(item) + } else { + groupedData['#'].push(item) + } + }) + } + + // 将分组数据转换为最终格式 alphabet.forEach((letter) => { - const matchedItems = newMemberList.filter((item) => item.key === letter) - if (matchedItems.length > 0) { + if (groupedData[letter].length > 0) { tempAlphabet.push(letter) } resultMemberList.value.push({ key: letter, - memberList: matchedItems.length ? matchedItems : [], + memberList: groupedData[letter], }) }) + + // 添加#分组(如果有数据) + if (groupedData['#'].length > 0) { + tempAlphabet.push('#') + resultMemberList.value.push({ + key: '#', + memberList: groupedData['#'], + }) + } + state.alphabet = tempAlphabet if (props?.manageType === 'mention' && !props?.isMulSelect) { resultMemberList.value.unshift({ @@ -544,15 +575,17 @@ const getPosiByDep = async (departmentIdsArr) => { const scrollToView = (alphabet) => { state.currentAlphabet = alphabet state.isAssign = true - console.log() - zPaging.value?.scrollIntoViewById( - alphabet, - document.getElementById('topArea')?.clientHeight - ? document.getElementById('topArea').clientHeight - 1 - : props?.manageType === 'mention' - ? 140 - : 80, - ) + + // 计算偏移高度 + const offsetHeight = document.getElementById('topArea')?.clientHeight + ? document.getElementById('topArea').clientHeight - 1 + : props?.manageType === 'mention' + ? 140 + : 80 + + // 使用scrollIntoViewById处理所有情况 + const targetId = alphabet === '#' ? 'special-hash' : alphabet + zPaging.value?.scrollIntoViewById(targetId, offsetHeight) } //监听列表滚动 @@ -754,3 +787,4 @@ defineExpose({ } } + diff --git a/src/pages/chatSettings/components/settingFormItem.vue b/src/pages/chatSettings/components/settingFormItem.vue index 94b0384..2742782 100644 --- a/src/pages/chatSettings/components/settingFormItem.vue +++ b/src/pages/chatSettings/components/settingFormItem.vue @@ -16,7 +16,8 @@ props?.item?.hasPointer && (props?.isManager || (!props?.isManager && - props?.item?.label !== $t('chat.settings.groupName'))) + (props?.item?.label !== $t('chat.settings.groupName') || + props?.item?.label !== $t('chat.settings.groupType')))) " src="/src/static/image/chatSettings/pointer.png" /> diff --git a/src/pages/chatSettings/groupManage/manageGroupDeps.vue b/src/pages/chatSettings/groupManage/manageGroupDeps.vue new file mode 100644 index 0000000..5833e6b --- /dev/null +++ b/src/pages/chatSettings/groupManage/manageGroupDeps.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/pages/chatSettings/index.vue b/src/pages/chatSettings/index.vue index 370556f..e242c37 100644 --- a/src/pages/chatSettings/index.vue +++ b/src/pages/chatSettings/index.vue @@ -397,7 +397,7 @@ const updateGroupInfos = () => { }, { label: t('chat.settings.groupType'), - hasPointer: false, + hasPointer: groupParams?.groupInfo?.group_type === 2 ? true : false, value: groupType.value + '群', subValue: '', customInfo: '', @@ -463,6 +463,10 @@ const toManagePage = (label) => { uni.navigateTo({ url: `/pages/chatSettings/groupManage/manageNotice?is_manager=${groupParams?.groupInfo?.is_manager}`, }) + } else if (label === t('chat.settings.groupType')) { + uni.navigateTo({ + url: `/pages/chatSettings/groupManage/manageGroupDeps`, + }) } else if (label === t('chat.settings.groupMember')) { uni.navigateTo({ url: diff --git a/src/pages/dialog/index.vue b/src/pages/dialog/index.vue index 398a2b1..8fe4a5e 100644 --- a/src/pages/dialog/index.vue +++ b/src/pages/dialog/index.vue @@ -94,7 +94,7 @@ v-else class="message-box record-box" :class="{ - 'direction-rt': item.float == 'right', + 'direction-rt': item.user_id === talkParams.uid, 'multi-select': dialogueStore.isOpenMultiSelect, 'multi-select-check': item.isCheck, }" @@ -130,7 +130,7 @@
@ {{ item.nickname }} diff --git a/src/store/modules/dialogueList.js b/src/store/modules/dialogueList.js index 2f57660..1114290 100644 --- a/src/store/modules/dialogueList.js +++ b/src/store/modules/dialogueList.js @@ -7,8 +7,8 @@ import { createGlobalState, useStorage } from '@vueuse/core' import { uniStorage } from '@/utils/uniStorage.js' export const useDialogueListStore = createGlobalState(() => { - // const dialogueList = useStorage('dialogueList', [], uniStorage) - const dialogueList = ref([]) + const dialogueList = useStorage('dialogueList', [], uniStorage) + // const dialogueList = ref([]) const zpagingRef = ref() const virtualList = ref([]) @@ -19,18 +19,47 @@ export const useDialogueListStore = createGlobalState(() => { const addDialogueRecord = (newRecords, type = 'add') => { console.log(newRecords) - const dialogue = lodash.cloneDeep(useDialogueStore()) + const dialogue = useDialogueStore() if (!dialogue || typeof dialogue !== 'object') return // 检查是否已存在相同 index_name 的对话 const existingIndex = dialogueList.value.findIndex( (item) => item.index_name === dialogue.index_name, ) if (existingIndex === -1) { - // 如果不存在,直接添加 - dialogueList.value.push(dialogue) + // 如果不存在,创建新对话,只保存需要的属性 + const newDialogue = { + index_name: dialogue.index_name, + talk: { + username: dialogue.talk.username, + talk_type: dialogue.talk.talk_type, + receiver_id: dialogue.talk.receiver_id + }, + online: dialogue.online, + records: dialogue.records || [], + unreadBubble: dialogue.unreadBubble, + isOpenMultiSelect: dialogue.isOpenMultiSelect, + isShowEditor: dialogue.isShowEditor, + isShowSessionList: dialogue.isShowSessionList, + isDismiss: dialogue.isDismiss, + members: dialogue.members.map(member => ({ + id: member.id, + nickname: member.nickname, + avatar: member.avatar, + gender: member.gender, + leader: member.leader, + remark: member.remark, + online: member.online, + value: member.value, + key: member.key, + erp_user_id: member.erp_user_id, + is_mute: member.is_mute, + is_mine: member.is_mine + })), + forwardType: dialogue.forwardType + } + dialogueList.value.push(newDialogue) } else { // 如果对话存在,处理 records 数组 - const { records = [] } = dialogue newRecords.forEach((newRecord) => { const recordIndex = dialogueList.value[existingIndex].records.findIndex( (record) => record.msg_id === newRecord.msg_id, @@ -45,18 +74,11 @@ export const useDialogueListStore = createGlobalState(() => { } } }) - - // 更新除 records 和 index_name 外的其他属性 - const { index_name, records: _, ...updateProps } = dialogue - dialogueList.value[existingIndex] = { - ...dialogueList.value[existingIndex], - ...updateProps, - } } } const updateDialogueRecord = (record) => { - const dialogue = lodash.cloneDeep(useDialogueStore()) + const dialogue = useDialogueStore() const item = getDialogueList(dialogue.index_name) const recordIndex = item.records.findIndex( (item) => item.msg_id === record.msg_id, @@ -79,7 +101,7 @@ export const useDialogueListStore = createGlobalState(() => { } const deleteDialogueRecord = (record) => { - const dialogue = lodash.cloneDeep(useDialogueStore()) + const dialogue = useDialogueStore() const item = getDialogueList(dialogue.index_name) const recordIndex = item.records.findIndex( (item) => item.msg_id === record.msg_id, @@ -105,7 +127,7 @@ export const useDialogueListStore = createGlobalState(() => { } const addChatRecord = (indexName, item) => { - const dialogue = lodash.cloneDeep(useDialogueStore()) + const dialogue = useDialogueStore() if (dialogue?.index_name === indexName) { if (item?.file_num) { const index = virtualList.value.findIndex( @@ -125,7 +147,7 @@ export const useDialogueListStore = createGlobalState(() => { } const batchDelDialogueRecord = (msgIds) => { - const dialogue = lodash.cloneDeep(useDialogueStore()) + const dialogue = useDialogueStore() const item = getDialogueList(dialogue.index_name) item.records = item.records.filter((item) => !msgIds.includes(item.msg_id)) } @@ -143,7 +165,7 @@ export const useDialogueListStore = createGlobalState(() => { //清空聊天记录时,同时清空本地保存的聊天记录 const clearDialogueRecord = () => { - const dialogue = lodash.cloneDeep(useDialogueStore()) + const dialogue = useDialogueStore() const item = getDialogueList(dialogue.index_name) item.records = [] virtualList.value = [] diff --git a/src/uni_modules/tmui/locale/zh-Hans.json b/src/uni_modules/tmui/locale/zh-Hans.json index 601a494..53be61f 100644 --- a/src/uni_modules/tmui/locale/zh-Hans.json +++ b/src/uni_modules/tmui/locale/zh-Hans.json @@ -153,5 +153,6 @@ "choose.deps.current": "当前", "chat.mention.select": "选择提醒的人", "do.phone.call": "拨打", - "popup.title.phone": "电话" + "popup.title.phone": "电话", + "pageTitle.view.deps": "查看部门" } diff --git a/src/utils/talk.js b/src/utils/talk.js index a99a244..83557bd 100644 --- a/src/utils/talk.js +++ b/src/utils/talk.js @@ -3,14 +3,8 @@ import { parseTime } from './datetime' export const KEY_INDEX_NAME = 'send_message_index_name' export function formatTalkRecord(uid, data) { - data.float = 'center' - - if (data.user_id > 0) { - data.float = data.user_id == uid ? 'right' : 'left' - } - + // 不再设置float值,改为在模板中动态判断 data.isCheck = false - return data } 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 2/2] =?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 @@ + + + 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 @@ -