Files
Xboard/.helloagents/archive/2026-04/202604242245_admin-frontend-node-pagination-batch-edit/requirements.md
T
yinjianm d4168720ac feat(admin-frontend): 补齐用户节点与订单运营工作台
新增用户高级筛选、批量操作与更多行级动作,支持邮件、
CSV、封禁恢复、订单分配、邀请查看、流量记录与重置流量

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

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

补充 admin-frontend 独立 Dockerfile、Caddy 配置与 GHCR
发布工作流,支持通过独立镜像部署管理前端
2026-04-24 23:15:48 +08:00

2.8 KiB

admin-frontend 节点管理分页、置顶与批量修改 — 需求

确认后冻结,执行阶段不可修改。如需变更必须回到设计阶段重新确认。

核心目标

  • admin-frontend#/nodes 页面内补齐分页能力,避免节点列表持续增长后整页难以浏览。
  • 为节点列表增加“置顶”单行操作,让运营者可以把某个节点快速移动到列表顶部。
  • 为节点管理补齐批量修改工作流,并按本轮确认仅对已勾选节点生效。
  • 为节点搜索补齐“子节点 / 父节点”筛选选项,帮助运营者快速区分主节点与子节点。

功能边界

  • 必须保留现有节点管理能力:搜索、类型筛选、权限组筛选、显隐切换、复制、删除、添加节点、编辑节点、编辑排序。
  • 分页必须作用于当前筛选结果,并允许切换每页数量。
  • “置顶节点”必须真实生效到后台排序,不能只在前端临时重排。
  • 批量修改本轮只支持以下字段:
    • 节点地址(仅 host,不含端口)
    • 权限组
    • 倍率
  • 批量修改只作用于已勾选节点;未勾选节点时不能误操作全部节点或筛选结果。
  • “子节点 / 父节点”筛选必须基于 parent_id 真实区分:
    • 父节点:parent_id 为空
    • 子节点:parent_id 有值

非目标

  • 本轮不引入后端列表分页接口,节点列表继续沿用 server/manage/getNodes 全量拉取 + 前端分页。
  • 本轮不接入批量删除、批量重置流量、批量显隐、批量启停等其他批量动作。
  • 本轮不修改节点编辑弹窗字段结构,也不扩展批量端口修改。

技术约束

  • 技术栈固定为 Vue 3 + TypeScript + Vite + Element Plus,主目录限定在 admin-frontend/,后端仅做最小必要的 Laravel 管理接口补丁。
  • 节点真相源仍以 App\Http\Controllers\V2\Admin\Server\ManageControllerApp\Http\Requests\Admin\ServerSaveApp\Models\Server 为准。
  • 置顶动作继续复用 POST /server/manage/sort
  • 批量修改优先复用现有 POST /server/manage/batchUpdate,只补齐本轮所需字段支持。
  • 视觉继续遵循 apple/DESIGN.md.helloagents/DESIGN.md 的 Apple 化后台约束:黑色首屏 + 白色工作台 + 蓝色单一强调。

质量要求

  • 分页、勾选和筛选不能互相打架:切页后已勾选节点状态应保持稳定,不得让用户误以为选择丢失。
  • 批量修改入口需要明确显示“当前已选 N 个节点”,降低误操作风险。
  • 批量修改弹窗需清楚说明“节点地址只改 host,不改端口”,避免概念歧义。
  • 父/子节点筛选应作为节点搜索工作流的一部分清晰可见,而不是埋进深层菜单。
  • 最终至少完成一次 admin-frontend 构建验证,并留下视觉验收与交付证据。