SuperAPI AI 工具集

bootstrap-posthog

数据与分析

查看项目

更新于 10-15 19:52

技能介绍

用途:在 Phoenix 1.8 应用中引导接入 PostHog 分析,覆盖服务端事件追踪、自动页面浏览 Plug、LiveView 助手和带用户识别的客户端 JS。

主要能力: 添加 mix.exs 依赖 {:posthog, "~> 0.2"};在 config/config.exs 与 config/runtime.exs(生产环境)写入 :posthog 配置,生产使用 System.fetch_env!("POSTHOG_API_KEY");生成服务端封装模块 lib/<app>/analytics/posthog.ex、Analytics 上下文 lib/<app>/analytics.ex、页面浏览 Plug、LiveView 助手;在 root.html.heex 注入客户端 PostHog JS 片段与用户识别,并在 assets/js/app.js 添加 phx:track-analytics 监听与 TrackView hook;补充 .env.sample 的 POSTHOG_API_KEY / POSTHOG_API_URL 条目。

使用方式(按资料步骤): 先做发现审计:定位 root.html.heex,若缺失则停止并告知用户;检查是否已有 PostHog 配置;识别用户 schema 字段与模板 assign 名;确定 browser pipeline 与 app.js 现状。 随后依次:添加依赖并运行 mix deps.get;写 config;创建上述服务端模块与 Plug;将 Plug 加入 router 的 browser pipeline(放在标准 Phoenix Plug 之后、认证 Plug 之前);修改 root 布局与 app.js;最后运行 mix compile --warnings-as-errors 与 mix test 验证,并提示设置 POSTHOG_API_KEY(生产必需)、可选 POSTHOG_API_URL。

适配点:get_distinct_id/1 中的 conn.assigns 模式匹配、客户端识别块需按应用实际认证结构(如 current_scope.user 或 current_user)调整;若已有 Hooks 对象,需并入现有结构。

限制:服务端追踪通过 Task.start/1 异步执行,不阻塞请求;Analytics 上下文初始仅含注册与登录追踪,需自行补充领域事件。