import { apiRequest, ApiResponse } from './api-utils'; export interface ProjectTokensOverview { projectId: number; companyId: number; projectName: string; tokensPerYuan: number; master: { userId: number; account: string; username: string; phone: string; tokens: number; } | null; subAccounts: { userId: number; account: string; username: string; phone: string; isAdmin?: number; roleLabel?: string; tokens: number; }[]; stats: { masterBalance: number; subTotalBalance: number; todayUsed: number; monthUsed: number; aiTodayCount: number; aiMonthCount: number; }; usageBreakdown: { form: number; name: string; group: string; isAi: boolean; useCount: number; tokensUsed: number; }[]; } export async function getProjectTokens( projectId: number ): Promise> { return apiRequest(`/project/tokens/${projectId}`); } export async function adjustProjectTokens( projectId: number, payload: { userId: number; mode: 'add' | 'subtract' | 'set' | 'allocate'; amount: number; remarks?: string; } ): Promise> { return apiRequest(`/project/tokens/adjust/${projectId}`, 'POST', payload); } export function formatTokens(n: number): string { if (n >= 10000) { return (n / 10000).toFixed(1).replace(/\.0$/, '') + 'δΈ‡'; } return n.toLocaleString(); }