import { request } from '@/utils/request' /** 群组信息 */ export interface Group { id: number name: string invite_code: string created_by: number created_at: string role: 'owner' | 'member' my_nickname: string member_count: number } /** 群组详情(含成员) */ export interface GroupDetail extends Group { members: GroupMember[] } /** 群组成员 */ export interface GroupMember { user_id: number role: 'owner' | 'member' nickname: string user_nickname: string avatar_url: string joined_at: string } /** 创建群组 */ export function createGroup(data: { name: string }) { return request<{ id: number; invite_code: string }>({ url: '/groups', method: 'POST', data }) } /** 获取群组列表 */ export function getGroups() { return request({ url: '/groups' }) } /** 获取群组详情 */ export function getGroupDetail(id: number) { return request({ url: `/groups/${id}` }) } /** 加入群组 */ export function joinGroup(invite_code: string) { return request<{ group_id: number; name: string }>({ url: '/groups/join', method: 'POST', data: { invite_code } }) } /** 退出群组 */ export function leaveGroup(id: number) { return request({ url: `/groups/${id}/leave`, method: 'POST' }) } /** 解散群组 */ export function deleteGroup(id: number) { return request({ url: `/groups/${id}`, method: 'DELETE' }) }