feat(ops): ECR-007 行为分析与 ECR-008 内容运营后台
落地埋点 ingest/数据看板、首页宫格 CMS 与测评上下架;含账号引导、问答流式与免责声明去重,以及 review P1 审计同事务修复。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# ECR-007
|
||||
|
||||
**Title:** 运营行为分析 Ops-B(自有埋点采集 · 管理端数据看板)
|
||||
**Status:** Approved
|
||||
**Date:** 2026-08-07
|
||||
**Approved:** 2026-08-07(Human)
|
||||
**Change Level:** L2(新能力;栈与分层不变)
|
||||
|
||||
## Change
|
||||
|
||||
1. Active Feature Spec:`.ai/product/feature-spec/ops-analytics.md`(Ops-B)
|
||||
2. 新增表 `analytics_sessions` / `analytics_events`(可选日汇总表)
|
||||
3. User API:`POST /api/v1/analytics/events`(DeviceAuth,批量 ingest)
|
||||
4. Admin API:`GET /api/v1/admin/analytics/*`(overview / pages / exits / clicks / funnel)
|
||||
5. `user-h5`:扩展 `analytics.ts` — 会话、页停留、点击、退出页;可与 GA4 双写
|
||||
6. `admin-h5`:侧栏「数据」看板(传统 App 运营看数)
|
||||
|
||||
## Motivation
|
||||
|
||||
当前埋点仅可选 GA4 + 漏斗事件,管理端无法看停留、退出页、点击排行;运维只能改库或外挂。需按传统 App 运营模式自有采集并在后台展示。
|
||||
|
||||
## Scope
|
||||
|
||||
### Allowed
|
||||
|
||||
- 上列 Spec / 表 / API / H5 SDK / admin「数据」页
|
||||
- 修订 `ops-admin.md` / `feature-map.md` §7 写入 Ops-B
|
||||
- OpenAPI 增补 analytics 路径
|
||||
|
||||
### Forbidden(Non-goals)
|
||||
|
||||
- Ops-C 内容 CMS · Ops-D 优惠券/退款工单 · Ops-E RBAC/封禁/推送(另开 ECR)
|
||||
- UGC / 达人 / 真支付网关
|
||||
- 热力图坐标、会话录像、实时毫秒大屏
|
||||
- 新基础设施(Kafka/ClickHouse 等)— 首期 Postgres;量级不够不升级 L3
|
||||
- 采集生日、问答正文、手机号等 PII
|
||||
|
||||
## Risk
|
||||
|
||||
| Risk | Mitigation |
|
||||
|------|------------|
|
||||
| 事件量表膨胀 | 批量 ingest + 日汇总表;索引按日;后续再议 OLAP(新 ECR/ADR) |
|
||||
| 客户端丢数 | sendBeacon 退出冲刷;失败静默不挡 UX |
|
||||
| 与 GA 双写不一致 | Spec 声明自有管道为运营真相源;GA 可选 |
|
||||
| Admin 鉴权绕过 | 聚合 API 仅挂 AdminAuth |
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [x] Spec `ops-analytics.md` §验收用例通过
|
||||
- [x] Integration:H5 形态上报 → DB → admin analytics GET 非空且量级一致
|
||||
- [x] `go test` 相关包绿;`npm run build:h5` · `build:admin` 绿
|
||||
- [x] OpenAPI / TRACEABILITY / STATE / TEST_REPORT / CODE_REVIEW
|
||||
- [ ] `python scripts/ess-validate.py --phase review --ecr ECR-007`(Reviewer 门禁)
|
||||
- [x] Docs + CHANGELOG
|
||||
|
||||
## Rollback
|
||||
|
||||
- 去掉 analytics 路由注册;H5 关闭自有上报开关
|
||||
- down migration 删 analytics 表(开发/可接受环境)
|
||||
|
||||
## Risk Review
|
||||
|
||||
- Path: N/A(非交易策略变更)
|
||||
|
||||
## Linked
|
||||
|
||||
- Feature Spec: `.ai/product/feature-spec/ops-analytics.md`
|
||||
- PRODUCT_SPEC: `docs/PRODUCT_SPEC/ECR-007-ops-analytics.md`
|
||||
- ENGINEERING_SPEC: `docs/ENGINEERING_SPEC/ECR-007-ops-analytics.md`
|
||||
- BACKEND_DESIGN: `docs/BACKEND_DESIGN/ECR-007-ops-analytics.md`(BD-2026-007)
|
||||
- HANDOFF / TASK / STATE:见同号前缀
|
||||
- EXPERIMENT: N/A
|
||||
- TRACEABILITY row: updated Yes(Approved)
|
||||
- 后续分期:Ops-C/D/E 各开独立 ECR(见 PRODUCT_SPEC 附录)
|
||||
@@ -0,0 +1,67 @@
|
||||
# ECR-008
|
||||
|
||||
**Title:** 运营内容配置 Ops-C(首页宫格 CRUD · 测评上下架)
|
||||
**Status:** Approved
|
||||
**Date:** 2026-08-07
|
||||
**Approved:** 2026-08-07(Human)
|
||||
**Change Level:** L2(新能力;栈与分层不变)
|
||||
|
||||
## Change
|
||||
|
||||
1. Active Feature Spec:`.ai/product/feature-spec/ops-content.md`(Ops-C)
|
||||
2. 表 `home_tools` + migration `000014_ops_content`(种子=现网宫格)
|
||||
3. User:`GET /api/v1/home/tools`(DeviceAuth,仅 enabled)
|
||||
4. Admin:`GET|PUT /api/v1/admin/home/tools`;`GET /api/v1/admin/scales`;`PATCH /api/v1/admin/scales/:id`
|
||||
5. `user-h5`:首页宫格改为 API 优先 + 静态回退
|
||||
6. `admin-h5`:侧栏「内容」页(宫格 + 测评)
|
||||
7. 变更写 `admin_audit_logs`
|
||||
|
||||
## Motivation
|
||||
|
||||
首页 12 宫格与测评可见性写死/仅靠库改;运营无法自助调入口与上下架。
|
||||
|
||||
## Scope
|
||||
|
||||
### Allowed
|
||||
|
||||
- 上列 Spec / 表 / API / H5 / admin「内容」
|
||||
- path/icon 白名单;审计
|
||||
- OpenAPI · ERD · feature-map §7
|
||||
|
||||
### Forbidden(Non-goals)
|
||||
|
||||
- 首页 Feeds CMS · 探索目录全量 CMS · 量表题目编辑器
|
||||
- 外链/上传图标 · Ops-D/E · UGC
|
||||
|
||||
## Risk
|
||||
|
||||
| Risk | Mitigation |
|
||||
|------|------------|
|
||||
| 错误 path 打穿站外 | 仅允许以 `/` 开头的站内相对路径,长度上限 |
|
||||
| 空宫格 | PUT 校验至少 1 个 enabled;或允许空但 H5 回退静态 |
|
||||
| icon 非法 | 服务端白名单对齐 `HomeToolIconName` |
|
||||
| 误下架全量表 | PATCH 单条;审计可追溯 |
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [x] Spec `ops-content.md` §验收通过
|
||||
- [x] Integration:PUT tools → GET home/tools;PATCH scale draft → ListPublished 不含
|
||||
- [x] `go test` · `build:h5` · `build:admin` 绿
|
||||
- [x] OpenAPI / TRACEABILITY / STATE / TEST_REPORT / CODE_REVIEW
|
||||
- [x] `ess-validate --phase review`
|
||||
- [x] Docs + CHANGELOG
|
||||
|
||||
## Rollback
|
||||
|
||||
- 关 admin 路由;H5 回退静态 catalog
|
||||
- down migration(非生产可)
|
||||
|
||||
## Risk Review
|
||||
|
||||
- Path: N/A
|
||||
|
||||
## Linked
|
||||
|
||||
- Feature Spec: `.ai/product/feature-spec/ops-content.md`
|
||||
- PRODUCT / ENGINEERING / BACKEND_DESIGN / HANDOFF / TASK / STATE:同号前缀
|
||||
- 前序:ECR-006 Ops-A · ECR-007 Ops-B
|
||||
Reference in New Issue
Block a user