import { request } from '../api/request'; export enum GroupPanelType { TEXT = 0, GROUP = 1, PLUGIN = 2, } export interface GroupMember { role: string; // 角色 userId: string; } export interface GroupPanel { id: string; // 在群组中唯一 name: string; parentId?: string; type: GroupPanelType; } export interface GroupInfo { _id: string; name: string; avatar?: string; creator: string; members: GroupMember[]; panels: GroupPanel[]; } export interface GroupInvite { code: string; groupId: string; expiredAt?: Date; } /** * 创建群组 * @param name 群组名 * @param panels 初始面板 */ export async function createGroup( name: string, panels: GroupPanel[] ): Promise { const { data } = await request.post('/api/group/createGroup', { name, panels, }); return data; } /** * 创建群组邀请码 * 邀请码默认 7天有效期 * @param groupId 群组id */ export async function createGroupInviteCode( groupId: string ): Promise { const { data } = await request.post('/api/group/invite/createGroupInvite', { groupId, }); return data; }