/** * Metrics API * * 数据看板/上报相关接口 * 原始 Dart: lib/data/services/api/metrics_api_client.dart */ import { httpClient } from "./http_client"; import { ApiPath } from "./api_path"; import { ApiEnvelope, unwrapOptional } from "./response_helper"; import { AppEvent } from "@/data/dto/metrics/app_event"; import { PwaEvent } from "@/data/dto/metrics/pwa_event"; export class MetricsApi { /** * 上报 PWA 事件 */ async reportPwaEvent(body: PwaEvent): Promise { const env = await httpClient>( ApiPath.metricsPwaEvent, { method: "POST", body: body.toJson() } ); unwrapOptional(env); } /** * 上报用户信息 */ async reportUserInfo(body: AppEvent): Promise { const env = await httpClient>( ApiPath.reportUserInfo, { method: "POST", body: body.toJson() } ); unwrapOptional(env); } } /** * 全局单例 */ export const metricsApi = new MetricsApi();