feat(avatar): add user token accounting

This commit is contained in:
stefanfeng
2026-08-25 13:24:02 +08:00
parent 7a0199e685
commit 699bbbde57
15 changed files with 798 additions and 52 deletions
+20 -1
View File
@@ -131,9 +131,24 @@ export const deleteAvatar = (id: string) =>
// ==================== Token 管理 API ====================
export interface TokenBalance {
balance: number
totalGranted: number
totalConsumed: number
}
export interface TokenUsageSummary {
avatarId: string
source: string
promptTokens: number
completionTokens: number
totalTokens: number
requestCount: number
}
// 获取 Token 余额
export const getTokenBalance = () =>
request.get<{ balance: number }>('/token/balance')
request.get<TokenBalance>('/token/balance')
// 获取充值套餐
export const getRechargePlans = () =>
@@ -143,6 +158,10 @@ export const getRechargePlans = () =>
export const chargeToken = (planId: string) =>
request.post<{ balance: number; charged: number }>('/token/charge', { planId })
// 按分身和使用场景汇总 Token 消耗
export const getTokenUsage = () =>
request.get<TokenUsageSummary[]>('/token/usage')
// ==================== 授权管理 API ====================
export type AvatarPermission = 'friend' | 'chat' | 'publish' | 'browse' | 'interact' | 'takeover'