diff --git a/src/api/im/manager/friend/index.ts b/src/api/im/manager/friend/index.ts
index 93bfc4c14..d8c4423b9 100644
--- a/src/api/im/manager/friend/index.ts
+++ b/src/api/im/manager/friend/index.ts
@@ -7,7 +7,10 @@ export interface ImManagerFriendVO {
friendUserId: number
friendNickname?: string
displayName?: string
+ addSource?: number
silent: boolean
+ pinned: boolean
+ blocked: boolean
status: number
addTime?: Date
deleteTime?: Date
diff --git a/src/api/im/manager/friend/request/index.ts b/src/api/im/manager/friend/request/index.ts
new file mode 100644
index 000000000..a6cf7e672
--- /dev/null
+++ b/src/api/im/manager/friend/request/index.ts
@@ -0,0 +1,21 @@
+import request from '@/config/axios'
+
+export interface ImManagerFriendRequestVO {
+ id: number
+ fromUserId: number
+ fromNickname?: string
+ toUserId: number
+ toNickname?: string
+ applyContent?: string
+ displayName?: string
+ addSource?: number
+ handleResult: number
+ handleContent?: string
+ handleTime?: Date
+ createTime: Date
+}
+
+// 获得好友申请分页
+export const getManagerFriendRequestPage = (params: PageParam) => {
+ return request.get({ url: '/im/manager/friend-request/page', params })
+}
diff --git a/src/views/im/manager/friend/index.vue b/src/views/im/manager/friend/index.vue
index e6b626b95..b3a4fbd81 100644
--- a/src/views/im/manager/friend/index.vue
+++ b/src/views/im/manager/friend/index.vue
@@ -9,17 +9,17 @@
label-width="80px"
>
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -103,6 +118,17 @@
width="180"
:formatter="dateFormatter"
/>
+
+
+
+ 查看对话
+
+
+
([]) // 列表的数据
@@ -160,6 +188,14 @@ const resetQuery = () => {
handleQuery()
}
+/** 跳转到私聊消息页面,查看该好友关系的对话 */
+const goConversation = (row: ManagerFriendApi.ImManagerFriendVO) => {
+ push({
+ name: 'ImPrivateMessage',
+ query: { senderId: row.userId, receiverId: row.friendUserId }
+ })
+}
+
/** 初始化 */
onMounted(() => {
getList()
diff --git a/src/views/im/manager/friend/request/index.vue b/src/views/im/manager/friend/request/index.vue
new file mode 100644
index 000000000..425822ba3
--- /dev/null
+++ b/src/views/im/manager/friend/request/index.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+ {{ row.fromNickname || '-' }}
+ ({{ row.fromUserId }})
+
+
+
+
+ {{ row.toNickname || '-' }}
+ ({{ row.toUserId }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/im/manager/group/index.vue b/src/views/im/manager/group/index.vue
index b6951280b..649188982 100644
--- a/src/views/im/manager/group/index.vue
+++ b/src/views/im/manager/group/index.vue
@@ -124,7 +124,7 @@
width="180"
:formatter="dateFormatter"
/>
-
+
详情
+
+ 查看对话
+
{
} catch {}
}
+/** 跳转到群聊消息页面,查看该群的对话 */
+const goConversation = (row: ManagerGroupApi.ImManagerGroupVO) => {
+ push({
+ name: 'ImGroupMessage',
+ query: { groupId: row.id }
+ })
+}
+
/** 初始化 */
onMounted(() => {
getList()
diff --git a/src/views/im/manager/message/group/index.vue b/src/views/im/manager/message/group/index.vue
index 1edf550b2..bb17b3a0f 100644
--- a/src/views/im/manager/message/group/index.vue
+++ b/src/views/im/manager/message/group/index.vue
@@ -160,6 +160,8 @@ import GroupMessageDetail from './GroupMessageDetail.vue'
defineOptions({ name: 'ImGroupMessage' })
+const { currentRoute } = useRouter()
+
const loading = ref(true) // 列表的加载中
const total = ref(0) // 列表的总页数
const list = ref([]) // 列表的数据
@@ -204,8 +206,12 @@ const openDetail = (row: ManagerGroupMessageApi.ImManagerGroupMessageVO) => {
detailRef.value?.open(row)
}
-/** 初始化 */
+/** 初始化:从路由 query 读取搜索参数 */
onMounted(() => {
+ const query = currentRoute.value.query
+ if (query.groupId) {
+ queryParams.groupId = Number(query.groupId)
+ }
getList()
})
diff --git a/src/views/im/manager/message/private/index.vue b/src/views/im/manager/message/private/index.vue
index a9d954b71..8660d40c4 100644
--- a/src/views/im/manager/message/private/index.vue
+++ b/src/views/im/manager/message/private/index.vue
@@ -141,6 +141,8 @@ import PrivateMessageDetail from './PrivateMessageDetail.vue'
defineOptions({ name: 'ImPrivateMessage' })
+const { currentRoute } = useRouter()
+
const loading = ref(true) // 列表的加载中
const total = ref(0) // 列表的总页数
const list = ref([]) // 列表的数据
@@ -185,8 +187,15 @@ const openDetail = (row: ManagerPrivateMessageApi.ImManagerPrivateMessageVO) =>
detailRef.value?.open(row)
}
-/** 初始化 */
+/** 初始化:从路由 query 读取搜索参数 */
onMounted(() => {
+ const query = currentRoute.value.query
+ if (query.senderId) {
+ queryParams.senderId = Number(query.senderId)
+ }
+ if (query.receiverId) {
+ queryParams.receiverId = Number(query.receiverId)
+ }
getList()
})