bindbox-game/.trae/documents/渠道数据分析功能开发计划.md
邹方成 45815bfb7d chore: 清理无用文件与优化代码结构
refactor(utils): 修复密码哈希比较逻辑错误
feat(user): 新增按状态筛选优惠券接口
docs: 添加虚拟发货与任务中心相关文档
fix(wechat): 修正Code2Session上下文传递问题
test: 补充订单折扣与积分转换测试用例
build: 更新配置文件与构建脚本
style: 清理多余的空行与注释
2025-12-18 17:35:55 +08:00

2.1 KiB

渠道数据分析功能开发计划

本计划旨在为渠道管理增加数据分析功能,包括用户增长和付费数据的可视化展示。

1. 需求分析与对齐 (Align)

  • 目标: 在渠道列表页增加“分析”入口,点击后展示该渠道的运营数据。
  • 核心指标:
    • 用户增长: 累计注册用户数、每日新增用户趋势。
    • 付费数据: 累计订单数、累计 GMV (销售额)、每日订单/GMV 趋势。
  • 交互: 列表页操作栏新增“分析”按钮 -> 弹出模态框/抽屉展示仪表盘。

2. 架构设计 (Architect)

2.1 后端设计

  • API 接口: 新增 GET /admin/v1/channels/{id}/stats
  • 数据源:
    • 用户数据: users 表 (字段: created_at, channel_id)
    • 订单数据: orders 表 (需关联 users 表,通过 user_id 关联,筛选 channel_id)
  • Service 层:
    • 扩展 ChannelService,增加 GetStats(ctx, channelID, timeRange) 方法。
    • 使用 GORM 进行聚合查询 (Group by date)。

2.2 前端设计

  • 组件复用: 使用现有的 ArtStatsCard (指标卡片) 和 ArtLineChart (折线图)。
  • 页面改造: web/admin/src/views/operations/channels/index.vue
    • 新增“分析”按钮。
    • 新增弹窗组件,包含数据加载逻辑。

3. 任务拆解 (Atomize)

3.1 后端开发

  1. Service 实现: 在 internal/service/channel/channel.go 中实现数据统计逻辑 (用户数、订单数、GMV)。
  2. Controller 实现: 在 internal/api/admin/channels.go 中添加处理函数。
  3. 路由注册: 注册新的 API 路由。

3.2 前端开发

  1. API 定义: 在 web/admin/src/api/channels.ts 中添加 getChannelStats 方法。
  2. UI 实现: 在 channels/index.vue 中集成分析弹窗,展示指标卡片和趋势图表。

4. 执行步骤 (Automate)

  1. Step 1: 实现后端统计接口 (Service + API)。
  2. Step 2: 定义前端 API 接口。
  3. Step 3: 实现前端分析弹窗 UI 并对接数据。
  4. Step 4: 验证数据准确性和图表展示效果。