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

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

## 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。
