df95a2429f
服务器列表支持跨页全选当前筛选/分类本组;脚本执行详情按错误类型分组(去动态 IP)并复制失败清单,不做 CSV 导出。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.3 KiB
1.3 KiB
Audit — 2026-06-08 服务器全选筛选 + 脚本失败分组
日期: 2026-06-08
范围: 纯前端 · 无后端变更
Changelog: docs/changelog/2026-06-08-servers-select-all-script-failure-groups.md
变更概要
| 模块 | 文件 |
|---|---|
| ServersPage | frontend/src/pages/ServersPage.vue |
| ScriptsPage | frontend/src/pages/ScriptsPage.vue |
| 分组工具 | frontend/src/utils/execDetailGrouping.ts |
| 单测 | tests/test_exec_detail_grouping.py |
| 构建入口 | web/app/index.html(Docker 镜像内 vite build 同步) |
安全
| 项 | 结论 |
|---|---|
| 新 API | 无 |
| 鉴权 | 沿用 JWT;全选仍走既有 /servers/ 与批量端点 |
| 敏感数据 | 复制清单含错误摘要,不含批量完整 stderr 导出;与单行复制等价 |
| XSS | 分组/复制均为已有字段文本,无 v-html |
性能
- 全选 364 台:
fetchPagePerPage多页 GET(200/页),与分页「全部」相同负载。 - 分组为客户端 computed,无额外请求。
回滚
git revert <commit>
cd frontend && npx vite build && bash deploy/deploy-frontend.sh
验收清单
- 分类筛选后全选台数 = Chip 计数
- 改搜索/排序/分类后选择清空
- 失败详情「按错误分组」同类 SSH 超时合并
- 「复制失败清单」剪贴板内容正确