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

2.3 KiB

渠道管理与用户来源统计实施计划

针对您的需求,我将把现有的“小程序二维码生成”功能升级为完整的“渠道管理”系统,并增加用户来源统计。

1. 数据库变更 (Schema Changes)

  • 新增 channels:
    • 用于定义推广渠道。
    • 字段: id (主键), name (渠道名称), code (唯一标识, 用于二维码参数), type (类型: 如抖音/微信/线下), remarks (备注), created_at, updated_at
  • 修改 users:
    • 新增 channel_id (BIGINT) 字段,建立与 channels 表的关联。
    • (注意:现有 douyin_id 字段保留,用于业务逻辑,但统计归因将统一使用 channel_id)。

2. 后端开发 (Backend)

  • API 开发 (internal/api/admin):
    • 实现渠道管理的 CRUD 接口:List, Create, Update, Delete
    • 统计逻辑: 在 List 接口中,同步查询 users 表,统计每个 channel_id 下的用户数量。
  • 登录/注册逻辑优化 (internal/service/user):
    • 修改 LoginWeixin (微信登录) 逻辑。
    • 除了现有的 invite_codedouyin_id,新增支持 channel_code 参数。
    • 逻辑: 当用户注册时,如果检测到 channel_code,查找对应的 Channel 记录,并将 channel.ID 写入用户表的 channel_id 字段。

3. 前端开发 (Frontend)

  • 新增页面: 运营管理 -> 渠道管理 (web/admin/src/views/operations/channels/index.vue)。
    • 列表页: 展示渠道名称、唯一标识(Code)、累计注册用户数、创建时间。
    • 操作栏: 提供“编辑”、“删除”以及 “查看二维码” 功能。
  • 二维码生成优化:
    • 点击“查看二维码”时,自动调用生成接口,参数中自动带上当前渠道的 code
    • (替代原有的纯手动输入二维码生成页面,或将其保留为“自定义工具”)。

4. 验证计划

  1. 功能验证: 在后台创建一个测试渠道,生成二维码。
  2. 流程验证: 模拟新用户携带该渠道参数登录。
  3. 数据验证: 检查数据库 users 表中新用户的 channel_id 是否正确。
  4. 统计验证: 刷新渠道管理页面,确认“注册用户数”是否+1。