| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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=æ£å¸¸ï¼1=已解æ£ï¼ |
| | | dissolvedTime?: string; // è§£æ£æ¶é´ |
| | | 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); |
| | | } |
| | | |
| | | /** è§£æ£ç¾¤ */ |
| | | 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); |
| | | } |