用途:该技能用于 OneKey 应用的用户行为埋点与分析,事件经装饰器路由到分析服务器(Mixpanel),并支持本地日志与业务指标记录。
主要能力:提供基于装饰器的日志系统,包含 @LogToServer()(上报 Mixpanel,用于用户行为追踪与业务指标)、@LogToLocal()(设备本地日志,用于调试与设备端诊断)、@LogToConsole()(仅控制台,用于开发调试);可叠加装饰器实现双重日志。事件方法名采用 camelCase,并直接作为发送到 Mixpanel 的事件名。
使用方式:在 packages/shared/src/logger/scopes/{scope}/scenes/{scene}.ts 中创建或更新 Scene 类,继承 BaseScene 并使用 @LogToServer() 装饰方法;在 scope 的 index.ts 中注册 scene;业务代码通过 defaultLogger.myScope.myScene.myEventName({ key: 'foo', value: 'bar' }) 调用。
关键规则:必须使用 @LogToServer() 装饰器,禁止直接调用 analytics.trackEvent();方法必须同步返回参数,不得返回 Promise;高频事件需去重(如用内存 Set 做会话级去重)以防 Mixpanel 用量激增;优先在已有 scope 中添加事件,仅全新功能域才新建 scope。
适用场景:OneKey 应用内埋点、analytics 与事件追踪。
限制:资料未提供具体收费、价格、平台支持范围或效果数据;相关架构与编码约定可参考 /1k-architecture 与 /1k-coding-patterns。