feat(weibo): 拆分账号管理与个人工作台
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
---
|
||||
type: 设计
|
||||
description: 微博外部 CK 账号池与客服个人工作台的拆分设计,覆盖数据归属、权限、接口和 UI。
|
||||
tags: [微博, CK, 账号池, 工作台, 权限, 协作]
|
||||
generated:
|
||||
by: ai/codex
|
||||
at: 2026-11-08T16:20:00+08:00
|
||||
status: implemented
|
||||
---
|
||||
|
||||
# 微博账号池与个人工作台
|
||||
|
||||
## 1. 目标
|
||||
|
||||
把原来的「账号与绑定」拆成两个入口:
|
||||
|
||||
- **账号管理**:全局微博账号池,负责 CK 导入、生命周期、标签、批量操作和资料维护。
|
||||
- **微博工作台**:每个用户自己的账号子集,只展示自己导入的账号,用于绑定、充值、兑换和日常操作。
|
||||
|
||||
工作台采用斗鱼模式:**账号实体仍然全局唯一,工作台只保存用户与账号的映射**。同一个账号可以被多人分别加入自己的工作台,工作台增删互不影响;底层 CK 刷新后,所有引用该账号的工作台看到同一份最新资料。
|
||||
|
||||
## 2. 数据模型
|
||||
|
||||
`weibo_accounts` 继续作为全局账号池,不允许因为工作台拆出第二份 CK。
|
||||
|
||||
新增:
|
||||
|
||||
```text
|
||||
weibo_workbench_accounts
|
||||
id
|
||||
user_id -> users.id
|
||||
account_id -> weibo_accounts.id
|
||||
created_at
|
||||
|
||||
UNIQUE(user_id, account_id)
|
||||
```
|
||||
|
||||
删除账号或用户时,对应工作台映射级联删除,不保留孤儿记录。
|
||||
|
||||
## 3. 权限
|
||||
|
||||
- `weibo:view`:查看全局账号管理。
|
||||
- `weibo:workbench`:访问个人微博工作台。
|
||||
- `weibo:import`:导入外部 CK。
|
||||
- `weibo:manage`:编辑账号标签/备注、启停账号、批量标签。
|
||||
- `weibo:account:ck_export`:复制账号 CK。
|
||||
- `weibo:bind`:生成绑定二维码。
|
||||
- `weibo:recharge`:创建充值订单。
|
||||
- `weibo:exchange`:执行兑换。
|
||||
|
||||
客服和运营默认拥有个人工作台及日常操作权限;删除账号仍由 `weibo:delete` 控制,客服默认没有。
|
||||
|
||||
## 4. 接口
|
||||
|
||||
| 方法 | 路径 | 权限 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| GET | `/api/weibo/accounts` | `weibo:view` | 全局账号池分页列表 |
|
||||
| GET | `/api/weibo/workbench/accounts` | `weibo:workbench` | 当前用户工作台账号分页列表 |
|
||||
| GET | `/api/weibo/workbench/pool` | `weibo:workbench` | 可加入当前工作台且尚未加入的账号 |
|
||||
| POST | `/api/weibo/workbench/accounts` | `weibo:workbench` | 批量加入工作台,幂等 |
|
||||
| POST | `/api/weibo/workbench/accounts/remove` | `weibo:workbench` | 批量移出工作台,不影响账号池和其他用户 |
|
||||
| POST | `/api/weibo/accounts/batch-tag` | `weibo:manage` | 账号管理页批量设置标签 |
|
||||
|
||||
工作台接口始终按 `current.id` 过滤,不接受客户端传入用户 ID。
|
||||
|
||||
## 5. UI
|
||||
|
||||
菜单:
|
||||
|
||||
```text
|
||||
微博
|
||||
-> 账号管理
|
||||
-> 微博工作台
|
||||
-> 外部单协作
|
||||
```
|
||||
|
||||
账号管理页:
|
||||
|
||||
- 标题「微博账号管理」。
|
||||
- 保留全量账号列表、生命周期、批量刷新、批量标签、启停和删除。
|
||||
- 用于维护账号池,不作为客服的日常入口。
|
||||
|
||||
工作台页:
|
||||
|
||||
- 标题「微博工作台」。
|
||||
- 复用账号能力,但列表只显示当前用户工作台映射。
|
||||
- 「导入账号」从账号池选择账号加入。
|
||||
- 「导入外部 CK」会先写入全局账号池,再自动加入当前工作台。
|
||||
- 支持单个/批量移出工作台,不删除账号池数据。
|
||||
- 绑定二维码、充值、兑换、功能查询继续复用现有账号接口。
|
||||
|
||||
## 6. 数据隔离边界
|
||||
|
||||
- 工作台列表、账号池候选和增删接口都按当前登录用户过滤。
|
||||
- 加入/移出只操作 `weibo_workbench_accounts`,不修改账号归属或 CK。
|
||||
- 账号池仍由全局权限控制;客服可以看到账号管理入口,但不能删除账号。
|
||||
- 外部单协作继续引用全局账号 ID,不受个人工作台选择影响。
|
||||
Reference in New Issue
Block a user