diff --git a/src/components/card/GroupCard.vue b/src/components/card/GroupCard.vue index bbf24f6..9c70962 100644 --- a/src/components/card/GroupCard.vue +++ b/src/components/card/GroupCard.vue @@ -7,10 +7,9 @@ import { ArrowRight } from '@element-plus/icons-vue' import AvatarIcon from '@/components/common/AvatarIcon.vue' import AddButton from '@/components/common/AddButton.vue' import DeleteButton from '@/components/common/DeleteButton.vue' -import UserCard from '@/components/card/UserCard.vue' import { combineId } from '@/js/utils/common' import { userQueryService } from '@/api/user' -import { groupStore, userStore, messageStore } from '@/stores' +import { groupStore, userStore, messageStore, userCardStore } from '@/stores' import SelectDialog from '../common/SelectDialog.vue' import { groupAddMembersService, groupDelMembersService } from '@/api/group' @@ -20,6 +19,7 @@ const emit = defineEmits(['close']) const groupData = groupStore() const userData = userStore() const messageData = messageStore() +const userCardData = userCardStore() const showDraw = ref(props.isShow) const isShowSelectDialog = ref(false) const method = ref('') //有加人,减人两中method @@ -83,8 +83,6 @@ const showMembersCount = computed(() => { return totalCount }) -const isShowUserCard = ref(false) -const userInfo = ref() const onShowUserCard = (account) => { const sessionId = combineId(account, myAccount.value) const loadingInstance = ElLoading.service(el_loading_options) @@ -104,11 +102,11 @@ const onShowUserCard = (account) => { } }) } - userInfo.value = res.data.data + userCardData.setUserInfo(res.data.data) }) .finally(() => { loadingInstance.close() - isShowUserCard.value = true + userCardData.setIsShow(true) }) } @@ -272,11 +270,6 @@ const onConfirmSelect = (selected) => { - { - return combineId(userData.user.account, props.userInfo?.account) + return combineId(userData.user.account, userCardData.userInfo?.account) }) const mark = computed(() => { return messageData.sessionList[sessionId.value]?.mark || '' @@ -35,7 +33,7 @@ const partitioEditing = ref(false) const newPartitionId = ref(null) const isSelf = computed(() => { - return userData.user.account === props.userInfo.account + return userData.user.account === userCardData.userInfo.account }) const preventClose = (event) => { @@ -43,7 +41,7 @@ const preventClose = (event) => { } const closeCardIfOutside = (event) => { - if (!props.isShow) return + if (!userCardData.isShow) return if ( !event.target.closest('.user-card') && !event.target.closest('.avatar-session-item') && @@ -63,14 +61,14 @@ const handleEscEvent = (event) => { } const truncatedSignature = computed(() => { - const signature = props.userInfo.signature || 'TA还没有个性签名。' + const signature = userCardData.userInfo.signature || 'TA还没有个性签名。' const lengthLimit = 50 return signature.length > lengthLimit ? signature.slice(0, lengthLimit) + '...' : signature }) // 关闭的时候触发 const onClose = () => { - emit('close') + userCardData.setIsShow(false) markEditing.value = false } @@ -88,7 +86,7 @@ const createSessionIfNotExist = async () => { const res = await msgChatCreateSessionService({ sessionId: sessionId.value, account: userData.user.account, - remoteId: props.userInfo.account, + remoteId: userCardData.userInfo.account, sessionType: MsgType.CHAT }) messageData.addSession(res.data.data) @@ -144,17 +142,21 @@ onUnmounted(() => { - import { ref, onMounted, computed } from 'vue' import { userQueryService } from '@/api/user' -import { messageStore } from '@/stores' +import { messageStore, userCardStore } from '@/stores' import ContactListUserItem from '@/views/contactList/user/components/ContactListUserItem.vue' -import UserCard from '@/components/card/UserCard.vue' import { ElLoading } from 'element-plus' import { el_loading_options } from '@/const/commonConst' import { Search } from '@element-plus/icons-vue' @@ -11,6 +10,7 @@ import HashNoData from '@/components/common/HasNoData.vue' import { MsgType } from '@/proto/msg' const messageData = messageStore() +const userCardData = userCardStore() const totalCount = computed(() => { return Object.keys(allData.value).length @@ -51,8 +51,6 @@ const allData = computed(() => { } }) -const isShowUserCard = ref(false) -const userInfo = ref() const onShowUserCard = ({ sessionId, account }) => { const loadingInstance = ElLoading.service(el_loading_options) userQueryService({ account: account }) @@ -69,11 +67,11 @@ const onShowUserCard = ({ sessionId, account }) => { email: res.data.data.email } }) - userInfo.value = messageData.sessionList[sessionId].objectInfo + userCardData.setUserInfo(messageData.sessionList[sessionId].objectInfo) }) .finally(() => { loadingInstance.close() - isShowUserCard.value = true + userCardData.setIsShow(true) }) } @@ -103,11 +101,6 @@ const onShowUserCard = ({ sessionId, account }) => { -