d4168720ac
新增用户高级筛选、批量操作与更多行级动作,支持邮件、 CSV、封禁恢复、订单分配、邀请查看、流量记录与重置流量 增强节点管理页的分页、父子筛选、跨页勾选、批量修改与 单节点置顶,并补齐后端批量更新 host、group_ids、rate 修复订单佣金状态误判问题,新增真实佣金筛选与行级确认, 同时优化仪表盘排行悬浮详情展示 补充 admin-frontend 独立 Dockerfile、Caddy 配置与 GHCR 发布工作流,支持通过独立镜像部署管理前端
2.8 KiB
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\ManageController、App\Http\Requests\Admin\ServerSave与App\Models\Server为准。 - 置顶动作继续复用
POST /server/manage/sort。 - 批量修改优先复用现有
POST /server/manage/batchUpdate,只补齐本轮所需字段支持。 - 视觉继续遵循
apple/DESIGN.md与.helloagents/DESIGN.md的 Apple 化后台约束:黑色首屏 + 白色工作台 + 蓝色单一强调。
质量要求
- 分页、勾选和筛选不能互相打架:切页后已勾选节点状态应保持稳定,不得让用户误以为选择丢失。
- 批量修改入口需要明确显示“当前已选 N 个节点”,降低误操作风险。
- 批量修改弹窗需清楚说明“节点地址只改 host,不改端口”,避免概念歧义。
- 父/子节点筛选应作为节点搜索工作流的一部分清晰可见,而不是埋进深层菜单。
- 最终至少完成一次
admin-frontend构建验证,并留下视觉验收与交付证据。