diff --git a/src/api/im/friend/index.ts b/src/api/im/friend/index.ts index 8b3137381..e0730485b 100644 --- a/src/api/im/friend/index.ts +++ b/src/api/im/friend/index.ts @@ -5,6 +5,7 @@ export interface ImFriendRespVO { id: number // 关系记录编号 friendUserId: number // 好友的用户编号 muted?: boolean // 是否免打扰 + displayName?: string // 好友展示备注(仅自己可见) status?: number // 好友状态(0=正常,1=已删除) addTime?: string // 添加好友时间 deleteTime?: string // 删除好友时间 @@ -16,7 +17,8 @@ export interface ImFriendRespVO { // IM 好友更新 Request VO export interface ImFriendUpdateReqVO { friendUserId: number // 好友的用户编号 - muted: boolean // 是否免打扰 + muted?: boolean // 是否免打扰 + displayName?: string // 好友展示备注 } // 获得当前登录用户的好友列表 @@ -39,7 +41,7 @@ export const deleteFriend = (friendUserId: number | string) => { return request.delete({ url: '/im/friend/delete', params: { friendUserId } }) } -// 更新好友信息(当前仅免打扰) +// 更新好友信息 export const updateFriend = (data: ImFriendUpdateReqVO) => { return request.put({ url: '/im/friend/update', data }) } diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index d0d0f5474..2b4b06986 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -763,19 +763,19 @@ const remainingRouter: AppRouteRecordRaw[] = [ children: [ { path: 'conversation', - component: () => import('@/views/im/home/pages/conversation/MessagePage.vue'), + component: () => import('@/views/im/home/pages/conversation/index.vue'), name: 'ImHomeConversation', meta: { hidden: true, title: '消息' } }, { path: 'friend', - component: () => import('@/views/im/home/pages/friend/FriendPage.vue'), + component: () => import('@/views/im/home/pages/friend/index.vue'), name: 'ImHomeFriend', meta: { hidden: true, title: '好友' } }, { path: 'group', - component: () => import('@/views/im/home/pages/group/GroupPage.vue'), + component: () => import('@/views/im/home/pages/group/index.vue'), name: 'ImHomeGroup', meta: { hidden: true, title: '群聊' } } diff --git a/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue b/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue index 8c3726402..0a47396b5 100644 --- a/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue +++ b/src/views/im/home/pages/conversation/components/conversation/ConversationGroupSide.vue @@ -1,94 +1,276 @@ + + + diff --git a/src/views/im/home/pages/conversation/components/conversation/ConversationPrivateSide.vue b/src/views/im/home/pages/conversation/components/conversation/ConversationPrivateSide.vue index 031478cc2..4dab279c7 100644 --- a/src/views/im/home/pages/conversation/components/conversation/ConversationPrivateSide.vue +++ b/src/views/im/home/pages/conversation/components/conversation/ConversationPrivateSide.vue @@ -1,41 +1,107 @@ + + + diff --git a/src/views/im/home/pages/conversation/components/input/MentionPicker.vue b/src/views/im/home/pages/conversation/components/input/MentionPicker.vue index 82c21e965..29b8350fe 100644 --- a/src/views/im/home/pages/conversation/components/input/MentionPicker.vue +++ b/src/views/im/home/pages/conversation/components/input/MentionPicker.vue @@ -114,7 +114,13 @@ const allItem = computed(() => { if (!IM_AT_ALL_NICKNAME.startsWith(props.searchText)) { return null } - return { userId: IM_AT_ALL_USER_ID, showNickName: IM_AT_ALL_NICKNAME } + // @所有人 是个伪成员,nickname 给 IM_AT_ALL_NICKNAME 让头像 :name 行为对齐普通成员 + return { + userId: IM_AT_ALL_USER_ID, + // TODO @AI:改成 displayName 会更好 + showNickName: IM_AT_ALL_NICKNAME, + nickname: IM_AT_ALL_NICKNAME + } }) /** 真成员:过滤自己 / 退群 / 不匹配关键字;不截断数量,浮层 max-height + el-scrollbar 撑滚动 */ diff --git a/src/views/im/home/pages/conversation/MessagePage.vue b/src/views/im/home/pages/conversation/index.vue similarity index 100% rename from src/views/im/home/pages/conversation/MessagePage.vue rename to src/views/im/home/pages/conversation/index.vue