这个项目能做什么

The @vskstudio/takt-angular 包提供了对 Takt 分析平台的原生 Angular 集成,侧重于隐私优先的数据收集。它面向 Angular 17 及以上版本,可通过单条包管理器命令加入项目。 Installation 运行:pnpm add @vskstudio/takt-angular @vskstudio/takt-core Bootstrap Integration 在根 bootstrap 调用中,使用 provideTakt 注册提供者。该提供者仅在浏览器环境下初始化核心分析库,发送首次 pageview,激活可选的自动捕获功能(外链点击、文件下载、SPA 导航等),并在 Angular 应用销毁时进行清理。服务器端该提供者保持惰性,使库对服务器端渲染安全。 Injectable Service TaktService 可以在应用的任何位置注入。它公开了 track(eventName, options)、pageview()、optOut()、optIn() 等方法。所有方法在库未初始化或运行于服务器时均为 no‑op,确保不会抛异常。 Declarative Click Tracking TaktEventDirective 允许开发者通过 taktEvent 属性将追踪绑定到任意可点击元素,可选的 taktProps 与 taktRevenue 输入也可使用。指令在点击时解析实时的分析实例,保持模板代码整洁。 UI Widgets 提供两个独立组件: - TaktBadgeComponent 为指定域名渲染服务器生成的 SVG 徽章。 - TaktEmbedComponent 渲染一个沙箱 iframe,展示公开的分析仪表盘。 这两个组件均可在任意 Angular 模板中使用,支持 domain、theme、size、language、variant 等输入属性。 Public Stats API createStats 辅助函数创建一个面向公开 Takt API 的客户端,提供 async 方法 summary、timeseries、realtime、breakdown,方便开发者以编程方式获取聚合分析数据。 Framework‑Agnostic Custom Element 针对非 Angular 页面,导出一个自包含的自定义元素 takt-analytics。调用 defineTaktElement(或直接导入会自动注册的模块)后,可在普通 HTML 中放置该元素,它会自动遵守隐私设置,如外链追踪和文件下载追踪。亦提供 CDN 包,可快速引入,无需构建步骤。 Configuration Options TaktConfig 支持丰富的配置选项,包括 domain、endpoint、outbound link tracking、file download tracking、SPA navigation、Do Not Track 尊重、localhost 排除、sample rate、query string 处理、path exclusions、URL scrubbing、tagged element tracking 等。默认值对大多数站点已足够合理,配置可通过 provideTakt 在 bootstrap 时传入。 License 该库采用 MIT 许可证发布。