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/group/index.ts | 146 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 146 insertions(+), 0 deletions(-)
diff --git a/src/api/im/group/index.ts b/src/api/im/group/index.ts
new file mode 100644
index 0000000..ca5e78d
--- /dev/null
+++ b/src/api/im/group/index.ts
@@ -0,0 +1,146 @@
+import type { ImGroupMessageApi } from '#/api/im/message/group';
+
+import { requestClient } from '#/api/request';
+
+export namespace ImGroupApi {
+ /** 缇� Response VO */
+ export interface GroupRespVO {
+ id: number; // 缂栧彿
+ name: string; // 缇ゅ悕绉�
+ ownerUserId: number; // 缇や富鐢ㄦ埛缂栧彿
+ avatar?: string; // 缇ゅご鍍�
+ notice?: string; // 缇ゅ叕鍛�
+ banned?: boolean; // 鏄惁灏佺
+ mutedAll?: boolean; // 鏄惁鍏ㄧ兢绂佽█
+ joinApproval?: boolean; // 杩涚兢鏄惁闇�缇や富 / 绠$悊鍛樺鎵�
+ bannedTime?: string; // 灏佺鏃堕棿
+ status: number; // 缇ょ姸鎬侊紙0=姝e父锛�1=宸茶В鏁o級
+ dissolvedTime?: string; // 瑙f暎鏃堕棿
+ createTime?: string; // 鍒涘缓鏃堕棿
+ pinnedMessages?: ImGroupMessageApi.GroupMessageRespVO[]; // 缇ょ疆椤舵秷鎭垪琛紙鍚庣鍏宠仈鍥炲~锛屼粎褰撶櫥褰曠敤鎴锋槸缇ゆ垚鍛樻椂闈炵┖锛�
+ joinStatus?: number; // 褰撳墠鐧诲綍鐢ㄦ埛鍦ㄨ缇ょ殑鎴愬憳鐘舵�侊紙鍙傝 CommonStatusEnum锛�0 鍦ㄧ兢 / 1 宸查��缇わ級锛涘巻鍙查��缇ょ兢浠嶈繑鍥烇紝渚涘睍绀虹绾挎秷鎭殑缇ゅ悕 / 澶村儚
+ groupRemark?: string; // 褰撳墠鐧诲綍鐢ㄦ埛瀵硅缇ょ殑澶囨敞
+ silent?: boolean; // 褰撳墠鐧诲綍鐢ㄦ埛鏄惁鍏嶆墦鎵�
+ }
+
+ /** 缇ゆ秷鎭疆椤� / 鍙栨秷缃《 Request VO */
+ export interface GroupMessagePinReqVO {
+ id: number; // 缇ょ紪鍙�
+ messageId: number; // 娑堟伅缂栧彿
+ }
+
+ /** 缇ゅ垱寤� Request VO */
+ export interface GroupCreateReqVO {
+ name: string; // 缇ゅ悕绉�
+ memberUserIds?: number[]; // 鍒濆鎴愬憳鐢ㄦ埛缂栧彿鍒楄〃锛堝缓缇ゅ悓鏃堕個璇风殑濂藉弸锛屼笉鍚垱寤鸿�呰嚜宸憋級
+ joinApproval?: boolean; // 杩涚兢鏄惁闇�瀹℃壒锛涗笉浼犻粯璁� false 鑷敱杩涚兢
+ }
+
+ /** 缇ゆ洿鏂� Request VO */
+ export interface GroupUpdateReqVO {
+ id: number; // 缇ょ紪鍙�
+ name?: string; // 缇ゅ悕绉�
+ avatar?: string; // 缇ゅご鍍�
+ notice?: string; // 缇ゅ叕鍛�
+ joinApproval?: boolean; // 杩涚兢鏄惁闇�瀹℃壒
+ }
+
+ /** 娣诲姞 / 鎾ら攢缇ょ鐞嗗憳 Request VO */
+ export interface GroupAdminReqVO {
+ id: number; // 缇ょ紪鍙�
+ userIds: number[]; // 鐩爣鐢ㄦ埛缂栧彿鍒楄〃
+ }
+
+ /** 缇や富杞 Request VO */
+ export interface GroupTransferOwnerReqVO {
+ id: number; // 缇ょ紪鍙�
+ newOwnerUserId: number; // 鏂扮兢涓荤敤鎴风紪鍙�
+ }
+
+ /** 鍏ㄧ兢绂佽█ / 鍙栨秷 Request VO */
+ export interface GroupMuteAllReqVO {
+ id: number; // 缇ょ紪鍙�
+ mutedAll: boolean; // 鏄惁鍏ㄧ兢绂佽█
+ }
+
+ /** 鎴愬憳绂佽█ Request VO */
+ export interface GroupMuteMemberReqVO {
+ id: number; // 缇ょ紪鍙�
+ userId: number; // 琚瑷�鐨勭敤鎴风紪鍙�
+ mutedSeconds: number; // 绂佽█鏃堕暱锛堢锛夛紝0 琛ㄧず姘镐箙绂佽█
+ }
+
+ /** 鍙栨秷鎴愬憳绂佽█ Request VO */
+ export interface GroupCancelMuteMemberReqVO {
+ id: number; // 缇ょ紪鍙�
+ userId: number; // 琚彇娑堢瑷�鐨勭敤鎴风紪鍙�
+ }
+}
+
+
+/** 鑾峰緱褰撳墠鐧诲綍鐢ㄦ埛鐨勭兢鍒楄〃 */
+export function getMyGroupList() {
+ return requestClient.get<ImGroupApi.GroupRespVO[]>('/im/group/list');
+}
+
+/** 鑾峰緱缇よ鎯� */
+export function getGroup(id: number | string) {
+ return requestClient.get<ImGroupApi.GroupRespVO>('/im/group/get', { params: { id } });
+}
+
+/** 鍒涘缓缇� */
+export function createGroup(data: ImGroupApi.GroupCreateReqVO) {
+ return requestClient.post<ImGroupApi.GroupRespVO>('/im/group/create', data);
+}
+
+/** 鏇存柊缇� */
+export function updateGroup(data: ImGroupApi.GroupUpdateReqVO) {
+ return requestClient.put<ImGroupApi.GroupRespVO>('/im/group/update', data);
+}
+
+/** 瑙f暎缇� */
+export function dissolveGroup(id: number | string) {
+ return requestClient.delete<boolean>('/im/group/dissolve', {
+ params: { id },
+ });
+}
+
+/** 娣诲姞缇ょ鐞嗗憳锛堜粎缇や富鍙皟锛� */
+export function addGroupAdmin(data: ImGroupApi.GroupAdminReqVO) {
+ return requestClient.put<boolean>('/im/group/add-admin', data);
+}
+
+/** 鎾ら攢缇ょ鐞嗗憳锛堜粎缇や富鍙皟锛� */
+export function removeGroupAdmin(data: ImGroupApi.GroupAdminReqVO) {
+ return requestClient.put<boolean>('/im/group/remove-admin', data);
+}
+
+/** 杞缇や富锛堜粎鑰佺兢涓诲彲璋冿紱鏃х兢涓昏浆璁╁悗闄嶄负鏅�氭垚鍛橈級 */
+export function transferGroupOwner(data: ImGroupApi.GroupTransferOwnerReqVO) {
+ return requestClient.put<boolean>('/im/group/transfer-owner', data);
+}
+
+/** 缃《缇ゆ秷鎭紙浠呯兢涓� / 绠$悊鍛樺彲璋冿級 */
+export function pinGroupMessage(data: ImGroupApi.GroupMessagePinReqVO) {
+ return requestClient.put<boolean>('/im/group/pin-message', data);
+}
+
+/** 鍙栨秷缃《缇ゆ秷鎭紙浠呯兢涓� / 绠$悊鍛樺彲璋冿級 */
+export function unpinGroupMessage(data: ImGroupApi.GroupMessagePinReqVO) {
+ return requestClient.put<boolean>('/im/group/unpin-message', data);
+}
+
+/** 鍏ㄧ兢绂佽█ / 鍙栨秷锛堜粎缇や富 / 绠$悊鍛樺彲璋冿級 */
+export function muteAll(data: ImGroupApi.GroupMuteAllReqVO) {
+ return requestClient.put<boolean>('/im/group/mute-all', data);
+}
+
+/** 绂佽█鎴愬憳 */
+export function muteMember(data: ImGroupApi.GroupMuteMemberReqVO) {
+ return requestClient.put<boolean>('/im/group/mute-member', data);
+}
+
+/** 鍙栨秷鎴愬憳绂佽█ */
+export function cancelMuteMember(data: ImGroupApi.GroupCancelMuteMemberReqVO) {
+ return requestClient.put<boolean>('/im/group/cancel-mute-member', data);
+}
--
Gitblit v1.9.3