| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import type { PageParam, PageResult } from '..\..\..\..\packages\effects\request\src'; |
| | | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | | export namespace ImManagerGroupApi { |
| | | /** 群 */ |
| | | export interface Group { |
| | | id: number; |
| | | name: string; |
| | | avatar?: string; |
| | | notice?: string; |
| | | ownerUserId: number; |
| | | ownerNickname?: string; |
| | | memberCount?: number; |
| | | status: number; |
| | | banned: boolean; |
| | | mutedAll?: boolean; // æ¯å¦å
¨ç¾¤ç¦è¨ |
| | | bannedReason?: string; |
| | | bannedTime?: Date; |
| | | dissolvedTime?: Date; |
| | | createTime: Date; |
| | | } |
| | | |
| | | /** 群æå */ |
| | | export interface GroupMember { |
| | | userId: number; |
| | | nickname?: string; |
| | | avatar?: string; |
| | | displayUserName?: string; |
| | | groupRemark?: string; |
| | | silent?: boolean; |
| | | status: number; |
| | | role?: number; // æåè§è²ï¼åè§ ImGroupMemberRole æä¸¾ |
| | | joinTime?: Date; |
| | | quitTime?: Date; |
| | | muteEndTime?: Date; // ç¦è¨å°ææ¶é´ |
| | | } |
| | | |
| | | /** 群å°ç¦è¯·æ± */ |
| | | export interface GroupBanReqVO { |
| | | id: number; |
| | | reason: string; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** è·å¾ç¾¤å页 */ |
| | | export function getManagerGroupPage(params: PageParam) { |
| | | return requestClient.get<PageResult<ImManagerGroupApi.Group>>( |
| | | '/im/manager/group/page', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** è·å¾ç¾¤è¯¦æ
*/ |
| | | export function getManagerGroup(id: number) { |
| | | return requestClient.get<ImManagerGroupApi.Group>('/im/manager/group/get', { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** å°ç¦ç¾¤ */ |
| | | export function banManagerGroup(data: ImManagerGroupApi.GroupBanReqVO) { |
| | | return requestClient.put<boolean>('/im/manager/group/ban', data); |
| | | } |
| | | |
| | | /** è§£å°ç¾¤ */ |
| | | export function unbanManagerGroup(id: number) { |
| | | return requestClient.put<boolean>('/im/manager/group/unban', undefined, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** è§£æ£ç¾¤ */ |
| | | export function dissolveManagerGroup(id: number) { |
| | | return requestClient.delete<boolean>('/im/manager/group/dissolve', { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** è·å¾ç¾¤æåå表ï¼å«å·²é群æåï¼ç±å端æéè¿æ»¤ï¼ */ |
| | | export function getManagerGroupMemberList(groupId: number) { |
| | | return requestClient.get<ImManagerGroupApi.GroupMember[]>( |
| | | '/im/manager/group/member/list', |
| | | { params: { groupId } }, |
| | | ); |
| | | } |