feat(admin-frontend): 补齐用户节点与订单运营工作台

新增用户高级筛选、批量操作与更多行级动作,支持邮件、
CSV、封禁恢复、订单分配、邀请查看、流量记录与重置流量

增强节点管理页的分页、父子筛选、跨页勾选、批量修改与
单节点置顶,并补齐后端批量更新 host、group_ids、rate

修复订单佣金状态误判问题,新增真实佣金筛选与行级确认,
同时优化仪表盘排行悬浮详情展示

补充 admin-frontend 独立 Dockerfile、Caddy 配置与 GHCR
发布工作流,支持通过独立镜像部署管理前端
This commit is contained in:
yinjianm
2026-04-24 23:15:48 +08:00
parent e393b11b61
commit d4168720ac
65 changed files with 4114 additions and 438 deletions
@@ -0,0 +1,11 @@
{
"status": "completed",
"completed": 4,
"failed": 0,
"pending": 0,
"total": 4,
"done": 4,
"percent": 100,
"current": "用户更多操作复刻已完成,等待后续需求",
"updated_at": "2026-04-24 22:45:00"
}
@@ -0,0 +1,51 @@
{
"updatedAt": "2026-04-24T14:36:00.000Z",
"version": 1,
"source": "manual",
"originCommand": "generic-r2",
"verifyMode": "test-first",
"reviewerFocus": [
"用户更多操作菜单是否按截图顺序与交互意图完成复刻",
"跨页筛选联动是否对用户可见且能明确清除"
],
"testerFocus": [
"分配订单是否可直接预填邮箱打开抽屉",
"TA的订单是否跳转订单页并按 user_id 生效",
"TA的邀请是否形成可用的用户结果视图",
"TA的流量记录与重置流量是否都走真实链路"
],
"ui": {
"required": true,
"designContract": true,
"sourcePriority": [
"requirements.md",
".helloagents/DESIGN.md",
"hello-ui"
],
"styleAdvisor": {
"required": false,
"reason": "",
"focus": []
},
"visualValidation": {
"required": true,
"reason": "本轮要补齐用户更多操作菜单与多个复用弹层/跳转联动,需要确认用户页菜单密度、订单页筛选提示和弹窗挂载都符合既有后台设计契约。",
"screens": [
"#/users desktop",
"#/subscriptions/orders desktop"
],
"states": [
"用户更多操作菜单展开态",
"用户页分配订单抽屉展开态",
"用户页流量记录弹窗展开态",
"订单页按指定用户过滤态"
]
}
},
"advisor": {
"required": false,
"reason": "",
"focus": [],
"preferredSources": []
}
}
@@ -0,0 +1,40 @@
# admin-frontend 用户管理更多操作复刻 — 实施规划
## 目标与范围
- 把用户管理行级“更多操作”从当前的基础维护菜单升级为更完整的运营工作台菜单。
- 以“复用现有抽屉 / 弹窗 / 页面”为主,不重复造轮子。
## 架构与实现策略
- 用户页继续以 `UsersView.vue + useUsersManagement.ts` 为主入口。
- 新增 `useUserScopedActions.ts` 负责:
- 用户页作用域跳转
- 订单分配抽屉预填
- 流量记录弹窗状态
- 邀请结果视图的路由筛选
- 用户流量重置调用
- 复用组件策略:
- `OrderAssignDrawer.vue`:支持预填邮箱
- `TrafficLogDialog.vue`:直接挂到用户页
- `OrdersView.vue`:读取路由 query 并自动追加用户过滤
- 后端优先复用现有 `traffic-reset/reset-user`,避免再开新接口。
## 完成定义
- 用户页“更多操作”菜单补齐目标操作项,并按截图相近顺序展示。
- `分配订单` 可直接打开抽屉,邮箱已回填。
- `TA的订单` 可跳转到 `#/subscriptions/orders`,并自动按 `user_id` 过滤。
- `TA的邀请` 可在用户页自动切换到“当前用户邀请结果”视图,并允许一键清除。
- `TA的流量记录` 可打开流量日志弹窗。
- `重置流量` 可调用真实后端接口并在成功后刷新用户列表。
## 风险与验证
- 风险 1:用户页与订单页的跨页筛选若无可见提示,容易造成理解偏差,因此需要补齐筛选提示与清除入口。
- 风险 2:用户更多操作继续堆进 `useUsersManagement.ts` 容易过大,因此拆分 `useUserScopedActions.ts`
- 风险 3:重置流量若重新发明接口会增加回归面,因此优先复用 `traffic-reset/reset-user`
- 验证方式:
- `npm run build`
- 代码自检:用户菜单完整性、订单页 query 过滤、流量重置调用链、邀请筛选可清除
## 决策记录
- [2026-04-24] `分配订单` 直接复用现有订单分配抽屉,并通过 prop 预填用户邮箱。
- [2026-04-24] `TA的订单` 采用跳页 + 自动过滤,而不是在用户页内塞第二套订单列表。
- [2026-04-24] `TA的邀请` 在当前用户页复用筛选结果视图,不额外新建邀请独立页面。
@@ -0,0 +1,41 @@
# admin-frontend 用户管理更多操作复刻 — 需求
确认后冻结,执行阶段不可修改。如需变更必须回到设计阶段重新确认。
## 核心目标
-`admin-frontend` 的用户管理“更多操作”菜单中,继续复刻旧后台的用户级操作项。
- 本轮目标菜单项包括:
- 编辑
- 分配订单
- 复制订阅 URL
- 重置 UUID 及订阅 URL
- TA 的订单
- TA 的邀请
- TA 的流量记录
- 重置流量
- 删除
## 功能边界
- `分配订单` 必须直接在用户页打开可用的订单分配抽屉,并预填当前用户邮箱。
- `TA的订单` 必须跳转到订单管理页,并自动按当前用户过滤订单。
- `TA的邀请` 必须进入“邀请了哪些用户”的结果视图,不接受只弹提示。
- `TA的流量记录` 必须直接打开现有流量记录弹窗。
- `重置流量` 必须调用真实后端链路,不接受只在前端重置显示值。
- 保留本轮上一阶段已交付的高级筛选与批量操作能力,不得回退。
## 非目标
- 本轮不重做用户管理整体布局。
- 本轮不新增完整“邀请管理”独立页面,只需要让“TA的邀请”形成可用结果视图。
- 本轮不重构订单管理与流量日志页面主体结构,只做最小必要联动。
## 技术约束
- 技术栈固定为 `Vue 3 + TypeScript + Vite + Element Plus`
- 前端改动集中在 `admin-frontend/src/views/users/*`、必要的订单页联动与 API 封装。
- 流量重置优先复用现有后端 `traffic-reset/reset-user` 能力,不重复发明新接口。
- 视觉继续遵循 `apple/DESIGN.md``.helloagents/DESIGN.md`
## 质量要求
- “更多操作”菜单的文案顺序与操作节奏尽量贴近用户截图。
- 用户点击某项操作后,必须形成明确结果:打开抽屉 / 打开弹窗 / 跳转并带筛选 / 成功提示。
- 订单页与用户页的联动筛选必须可见、可清除,不能让用户陷入“看不出为什么被过滤”的状态。
- 最终至少完成一次 `admin-frontend` 构建验证,并同步知识库与验收证据。
@@ -0,0 +1,12 @@
# admin-frontend 用户管理更多操作复刻 — 任务分解
## 任务列表
- [x] 任务1:补齐本轮方案与合同产物(涉及文件:`.helloagents/plans/202604242236_admin-frontend-user-more-actions/*`;完成标准:存在需求、方案、任务、合同与状态文件;验证方式:文件检查)
- [x] 任务2:扩展用户页更多操作状态与复用链路(涉及文件:`admin-frontend/src/views/users/*`;完成标准:菜单补齐并接通订单/邀请/流量/重置流量动作;验证方式:`npm run build`
- [x] 任务3:补齐订单页路由筛选联动与预填订单分配抽屉(涉及文件:`admin-frontend/src/views/subscriptions/OrdersView.vue``admin-frontend/src/views/subscriptions/OrderAssignDrawer.vue`;完成标准:用户订单跳转可见且可清除;验证方式:`npm run build`
- [x] 任务4:完成验证与知识库同步(涉及文件:`.helloagents/CHANGELOG.md``.helloagents/context.md``.helloagents/modules/admin-frontend.md``.helloagents/.ralph-visual.json``.helloagents/.ralph-closeout.json``.helloagents/sessions/master/default/STATE.md`;完成标准:构建通过、知识库更新、证据落盘;验证方式:命令输出 + 证据文件)
## 进度
- [x] 已确认按完整复刻方案推进更多操作。
- [x] 已完成用户页菜单、跳页筛选联动与真实流量重置。
- [x] 已完成 `npm run build` 构建验证,待输出最终交付摘要。