# 渠道管理与用户来源统计实施计划 针对您的需求,我将把现有的“小程序二维码生成”功能升级为完整的“渠道管理”系统,并增加用户来源统计。 ## 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_code` 和 `douyin_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。