|
|
|
@ -244,7 +244,37 @@ class Api { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
//资源使用请求 |
|
|
|
/// 资源使用上报(`/api/home/user_usages`) |
|
|
|
/// |
|
|
|
/// 用途:在 AI 聊天等场景中,上报本次会话的消耗与功能调用次数,服务端据此统计并更新积分。 |
|
|
|
/// |
|
|
|
/// 请求方式:`POST /api/home/user_usages` |
|
|
|
/// |
|
|
|
/// 认证:已通过全局拦截器自动携带 `Authorization`(见 `AuthInterceptor`)。 |
|
|
|
/// |
|
|
|
/// 参数(`params`)结构: |
|
|
|
/// - `usagetype`:`int` 类型,使用场景类型;Android 端 Agent 使用 `3` 表示 AICHAT。 |
|
|
|
/// - `usages`:`Map<String, int>`,各项指标的键值对,例如: |
|
|
|
/// - `AICHAT_PROMPT_TOKENS`:本次对话的提示词 Token 数 |
|
|
|
/// - `AICHAT_COMPLETION_TOKENS`:本次对话的生成 Token 数 |
|
|
|
/// - `AICHAT_FUNCTION_{函数名}`:被调用的函数次数(按函数名累加) |
|
|
|
/// |
|
|
|
/// 返回:标准封装后 `code == 0` 时返回 `data`。其中 `data.usages` 可能包含键 `"3"`,表示最新的 AI 积分值。 |
|
|
|
/// |
|
|
|
/// 使用示例: |
|
|
|
/// ```dart |
|
|
|
/// final params = { |
|
|
|
/// 'usagetype': 3, // AICHAT |
|
|
|
/// 'usages': { |
|
|
|
/// 'AICHAT_PROMPT_TOKENS': 120, |
|
|
|
/// 'AICHAT_COMPLETION_TOKENS': 256, |
|
|
|
/// 'AICHAT_FUNCTION_toolX': 1, |
|
|
|
/// } |
|
|
|
/// }; |
|
|
|
/// final data = await Api.usagesResPoints(params); |
|
|
|
/// final usages = (data['usages'] as Map?)?.cast<String, dynamic>(); |
|
|
|
/// final aiIntegral = usages?['3']; // 服务端返回的最新 AI 积分(如有) |
|
|
|
/// ``` |
|
|
|
static usagesResPoints([params]) { |
|
|
|
return DioManager().request( |
|
|
|
NWMethod.post, |
|
|
|
|