d4168720ac
新增用户高级筛选、批量操作与更多行级动作,支持邮件、 CSV、封禁恢复、订单分配、邀请查看、流量记录与重置流量 增强节点管理页的分页、父子筛选、跨页勾选、批量修改与 单节点置顶,并补齐后端批量更新 host、group_ids、rate 修复订单佣金状态误判问题,新增真实佣金筛选与行级确认, 同时优化仪表盘排行悬浮详情展示 补充 admin-frontend 独立 Dockerfile、Caddy 配置与 GHCR 发布工作流,支持通过独立镜像部署管理前端
42 lines
2.8 KiB
Markdown
42 lines
2.8 KiB
Markdown
# 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` 构建验证,并留下视觉验收与交付证据。
|