diff --git a/src/components/card/GroupCard.vue b/src/components/card/GroupCard.vue index 1714dcc..a11ba11 100644 --- a/src/components/card/GroupCard.vue +++ b/src/components/card/GroupCard.vue @@ -27,6 +27,7 @@ import { groupUpdateMuteService } from '@/api/group' import { MsgType } from '@/proto/msg' +import router from '@/router' const groupData = groupStore() const userData = userStore() @@ -70,6 +71,17 @@ watch( } ) +const goToSessionTab = () => { + router.push({ + path: '/message', + query: { + sessionId: sessionInfo.value.sessionId + } + }) + groupCardData.setIsShow(false) + groupCardData.setGroupId('') +} + const groupInfo = computed(() => { return groupData.groupInfoList[groupCardData.groupId] || {} }) @@ -910,7 +922,13 @@ const onConfirmSingleSelect = (selected) => {
- + 发送消息
diff --git a/src/views/contactList/group/components/ContactListGroupItem.vue b/src/views/contactList/group/components/ContactListGroupItem.vue index 708b031..9afabda 100644 --- a/src/views/contactList/group/components/ContactListGroupItem.vue +++ b/src/views/contactList/group/components/ContactListGroupItem.vue @@ -1,10 +1,7 @@ diff --git a/src/views/message/MessageLayout.vue b/src/views/message/MessageLayout.vue index af52ca7..e34a9a0 100644 --- a/src/views/message/MessageLayout.vue +++ b/src/views/message/MessageLayout.vue @@ -356,6 +356,12 @@ const pullMsg = async (mode = 0, ref = -1) => { const handleSelectedSession = async (sessionId) => { if (selectedSessionId.value !== sessionId) { selectedSessionId.value = sessionId + router.push({ + path: '/message', + query: { + sessionId: sessionId + } + }) initSession(sessionId) locateSession(sessionId) @@ -600,6 +606,15 @@ watch( } ) +watch( + () => router.currentRoute.value.query.sessionId, + (newValue) => { + if (newValue) { + handleSelectedSession(newValue) + } + } +) + const sessionItemRefCollection = ref({}) const setSessionItemRef = (sessionId, el) => { sessionItemRefCollection.value[sessionId] = el