From 27cd042df9aca0383a49f3514bc21958dd890912 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 29 六月 2026 15:42:23 +0800
Subject: [PATCH] 银川 1.联调产品维护页面 2.添加IM即时通讯模块
---
src/api/im/message/group/index.ts | 92 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 insertions(+), 0 deletions(-)
diff --git a/src/api/im/message/group/index.ts b/src/api/im/message/group/index.ts
new file mode 100644
index 0000000..200e1c6
--- /dev/null
+++ b/src/api/im/message/group/index.ts
@@ -0,0 +1,92 @@
+import { requestClient } from '#/api/request';
+
+export namespace ImGroupMessageApi {
+ /** 缇よ亰娑堟伅 Response VO */
+ export interface GroupMessageRespVO {
+ id: number; // 娑堟伅缂栧彿
+ clientMessageId: string; // 瀹㈡埛绔秷鎭紪鍙�
+ senderId: number; // 鍙戦�佷汉缂栧彿
+ groupId: number; // 缇ょ紪鍙�
+ type: number; // 鍐呭绫诲瀷
+ content: string; // 娑堟伅鍐呭锛圝SON 鏍煎紡锛�
+ status: number; // 娑堟伅鐘舵��
+ sendTime: string; // 鍙戦�佹椂闂�
+ atUserIds?: number[]; // @ 鐩爣鐢ㄦ埛缂栧彿鍒楄〃
+ receiverUserIds?: number[]; // 瀹氬悜鎺ユ敹鐢ㄦ埛缂栧彿鍒楄〃
+ receiptStatus?: number; // 鍥炴墽鐘舵��
+ readCount?: number; // 宸茶浜烘暟锛堝洖鎵ф秷鎭�佷笖鍙戦�佷汉涓哄綋鍓嶇敤鎴锋椂鏈夊�硷級
+ }
+
+ /** 缇よ亰娑堟伅鍙戦�� Request VO */
+ export interface GroupMessageSendReqVO {
+ clientMessageId: string; // 瀹㈡埛绔秷鎭紪鍙�
+ groupId: number; // 缇ょ紪鍙�
+ type: number; // 鍐呭绫诲瀷
+ content: string; // 娑堟伅鍐呭锛圝SON 鏍煎紡锛�
+ atUserIds?: number[]; // @ 鐩爣鐢ㄦ埛缂栧彿鍒楄〃
+ receipt?: boolean; // 鏄惁闇�瑕佸洖鎵�
+ }
+
+ /** 缇よ亰鍘嗗彶娑堟伅鍒楄〃 Request VO */
+ export interface GroupMessageListReqVO {
+ groupId: number | string; // 缇ょ紪鍙�
+ maxId?: number | string; // 璧峰娑堟伅缂栧彿锛堜笉鍚級锛屼负绌哄垯浠庢渶鏂版秷鎭紑濮�
+ limit: number; // 鎷夊彇鏁伴噺锛�1 ~ 200锛�
+ }
+}
+
+
+/** 鍙戦�佺兢鑱婃秷鎭� */
+export function sendGroupMessage(data: ImGroupMessageApi.GroupMessageSendReqVO) {
+ return requestClient.post<ImGroupMessageApi.GroupMessageRespVO>(
+ '/im/message/group/send',
+ data,
+ );
+}
+
+/** 鎷夊彇缇よ亰娑堟伅锛堝閲忥級 */
+export function pullGroupMessageList(
+ params: { minId: number | string; size: number },
+ signal?: AbortSignal,
+) {
+ return requestClient.get<ImGroupMessageApi.GroupMessageRespVO[]>(
+ '/im/message/group/pull',
+ { params, signal },
+ );
+}
+
+/** 鏌ヨ缇よ亰鍘嗗彶娑堟伅 */
+export function getGroupMessageList(params: ImGroupMessageApi.GroupMessageListReqVO) {
+ return requestClient.get<ImGroupMessageApi.GroupMessageRespVO[]>(
+ '/im/message/group/list',
+ { params },
+ );
+}
+
+/** 鏍囪缇よ亰娑堟伅宸茶 */
+export function readGroupMessages(
+ groupId: number | string,
+ messageId: number | string,
+) {
+ return requestClient.put<boolean>('/im/message/group/read', undefined, {
+ params: { groupId, messageId },
+ });
+}
+
+/** 鎾ゅ洖缇よ亰娑堟伅 */
+export function recallGroupMessage(id: number | string) {
+ return requestClient.delete<ImGroupMessageApi.GroupMessageRespVO>(
+ '/im/message/group/recall',
+ { params: { id } },
+ );
+}
+
+/** 鑾峰彇缇ゆ秷鎭凡璇荤敤鎴峰垪琛� */
+export function getGroupReadUsers(params: {
+ groupId: number | string;
+ messageId: number | string;
+}) {
+ return requestClient.get<number[]>('/im/message/group/get-read-user-ids', {
+ params,
+ });
+}
--
Gitblit v1.9.3