refactor(utils): 修复密码哈希比较逻辑错误 feat(user): 新增按状态筛选优惠券接口 docs: 添加虚拟发货与任务中心相关文档 fix(wechat): 修正Code2Session上下文传递问题 test: 补充订单折扣与积分转换测试用例 build: 更新配置文件与构建脚本 style: 清理多余的空行与注释
39 lines
2.3 KiB
Markdown
39 lines
2.3 KiB
Markdown
# 渠道管理与用户来源统计实施计划
|
|
|
|
针对您的需求,我将把现有的“小程序二维码生成”功能升级为完整的“渠道管理”系统,并增加用户来源统计。
|
|
|
|
## 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。
|