feat(admin-frontend): 新增系统与订阅管理后台页面

扩展管理端侧边栏与路由,新增系统配置真实页面、订阅套餐
管理页、节点管理页及多个结构化占位页

补齐前端 API、类型与工具层,并增强仪表盘刷新、趋势切换、
失败作业详情与流量排行 limit 联动能力

同步后端 traffic rank limit 支持与知识库归档、设计约束、
验证配置及视觉验收产物
This commit is contained in:
yinjianm
2026-04-24 15:32:09 +08:00
parent 9ce345eb76
commit 16203b14f6
74 changed files with 6737 additions and 119 deletions
@@ -0,0 +1,11 @@
{
"status": "completed",
"completed": 4,
"failed": 0,
"pending": 0,
"total": 4,
"done": 4,
"percent": 100,
"current": "Dashboard 全量刷新按钮实现、验证与知识库同步完成,待归档",
"updated_at": "2026-04-23 15:43:00"
}
@@ -0,0 +1,44 @@
{
"version": 1,
"source": "~auto",
"originCommand": "auto",
"verifyMode": "test-first",
"reviewerFocus": [],
"testerFocus": [
"Hero 区刷新按钮是否触发整页数据刷新",
"刷新中是否有明确状态反馈并阻止重复点击",
"Dashboard 页面构建后是否保持现有 Apple 风格层级"
],
"ui": {
"required": true,
"designContract": true,
"sourcePriority": [
"proposal.md",
".helloagents/DESIGN.md",
"hello-ui"
],
"styleAdvisor": {
"required": false,
"reason": "",
"focus": []
},
"visualValidation": {
"required": true,
"reason": "本轮为 Dashboard 顶部新增显式操作按钮,需要确认视觉风格与交互状态一致。",
"screens": [
"dashboard desktop",
"dashboard mobile"
],
"states": [
"refresh idle",
"refresh loading"
]
}
},
"advisor": {
"required": false,
"reason": "",
"focus": [],
"preferredSources": []
}
}
@@ -0,0 +1,92 @@
# 变更提案: admin-frontend-dashboard-refresh-button
## 元信息
```yaml
类型: 增强
方案类型: implementation
优先级: P2
状态: 已完成
创建: 2026-04-23
```
---
## 1. 需求
### 背景
当前 `admin-frontend` 仪表盘已经具备总览、趋势、排行与系统状态的数据拉取能力,但缺少一个显式、统一的“全量刷新”入口。用户希望在 `http://localhost:5173/assets/admin/#/dashboard` 对应的首页,基于 `apple/DESIGN.md` 的 Apple 风格,为整页数据增加刷新按钮。
### 目标
-`admin-frontend/src/views/dashboard/DashboardView.vue` 中增加一个整页全量刷新按钮。
- 刷新动作需要覆盖统计卡、收入趋势、节点/用户排行、系统与队列状态。
- 刷新按钮的视觉语言需延续当前 Apple 风格,不引入额外的重装饰。
### 约束条件
```yaml
技术约束:
- 保持现有 Vue3 + TypeScript + Vite + Element Plus 栈
- 复用现有 refreshDashboard 数据流,不重复造接口层逻辑
UI约束:
- 以 apple/DESIGN.md 为设计基线
- 使用单一蓝色强调与黑色 Hero 区的克制表达
行为约束:
- 刷新时需有明确加载反馈
- 刷新中避免重复点击触发并发请求
```
### 验收标准
- [√] Hero 区新增“刷新全部数据”入口,桌面和移动端都可正常使用。
- [√] 点击后会统一刷新总览、趋势、排行和系统状态。
- [√] 刷新中有可见状态反馈,并阻止重复触发。
- [√] `admin-frontend` 构建通过。
- [√] 本地页面完成一次视觉验收,确认按钮与 Apple 风格一致。
---
## 2. 方案
### 技术方案
1. 在仪表盘 Hero 右侧状态区加入全量刷新按钮,作为当前页面最直接的系统操作入口。
2. 复用现有 `refreshDashboard()` 逻辑,对其补充成功提示、最后刷新时间记录与手动触发入口。
3. 为按钮增加刷新中状态、旋转图标、禁用交互和辅助文案,保证状态完整。
4. 保持当前卡片、趋势图与系统面板的数据结构不变,只增强顶部操作层。
### 影响范围
```yaml
涉及模块:
- admin-frontend/src/views/dashboard/DashboardView.vue
- .helloagents/CHANGELOG.md
- .helloagents/modules/admin-frontend.md
预计变更文件: 3
```
### 风险评估
| 风险 | 等级 | 应对 |
|------|------|------|
| Hero 区新增操作后破坏原有视觉平衡 | 中 | 采用胶囊按钮、弱对比边框和状态副文案,保持 Apple 风格节奏 |
| 刷新逻辑重复触发导致请求堆叠 | 中 | 刷新中禁用按钮,并复用现有 loading 状态 |
| 用户中途要求停止 playwright-cli,运行态截图验收受限 | 中 | 改为构建验证 + 结构化代码视觉自检,并记录为本轮视觉验收证据 |
---
## 3. 核心场景
### 场景: 管理员手动刷新仪表盘
**模块**: DashboardView
**条件**: 管理员已进入 `/dashboard`
**行为**: 点击 Hero 区“刷新全部数据”按钮
**结果**: 页面统一刷新统计卡、趋势、排行和系统状态,并反馈最新同步状态
---
## 4. 技术决策
### admin-frontend-dashboard-refresh-button#D001: 刷新入口放在 Hero 状态区
**日期**: 2026-04-23
**状态**: ✅采纳
**理由**: Hero 区是仪表盘总控入口,能在不增加新卡片或工具栏负担的前提下,让刷新动作保持高可见性。
### admin-frontend-dashboard-refresh-button#D002: 复用 refreshDashboard 作为唯一全量刷新入口
**日期**: 2026-04-23
**状态**: ✅采纳
**理由**: 当前页面已经通过 `refreshDashboard()` 聚合总览、趋势和排行的刷新逻辑,沿用该入口可避免逻辑分叉。
@@ -0,0 +1,54 @@
# 任务清单: admin-frontend-dashboard-refresh-button
> **@status:** completed | 2026-04-23 15:43
```yaml
@feature: admin-frontend-dashboard-refresh-button
@created: 2026-04-23
@status: completed
@mode: R3
```
## 进度概览
| 完成 | 失败 | 跳过 | 总数 |
|------|------|------|------|
| 4 | 0 | 0 | 4 |
---
## 任务列表
### 1. 方案与范围
- [√] 1.1 锁定刷新范围为整页全量刷新,并确认 Hero 区为按钮落点 | depends_on: []
### 2. 仪表盘实现
- [√] 2.1 在 `admin-frontend/src/views/dashboard/DashboardView.vue` 中增加 Hero 区全量刷新按钮与状态文案 | depends_on: [1.1]
- [√] 2.2 在 `admin-frontend/src/views/dashboard/DashboardView.vue` 中补齐最后刷新时间、加载反馈与防重复触发逻辑 | depends_on: [2.1]
### 3. 验证与同步
- [√] 3.1 运行 `npm run build` 验证 `admin-frontend` 构建通过 | depends_on: [2.1,2.2]
- [√] 3.2 完成本地视觉验收并同步知识库变更记录 | depends_on: [3.1]
---
## 执行日志
| 时间 | 任务 | 状态 | 备注 |
|------|------|------|------|
| 2026-04-23 15:15 | 方案包初始化 | completed | 已锁定整页全量刷新范围与 Apple 风格约束 |
| 2026-04-23 15:24 | 2.1 / 2.2 | completed | 已在 Hero 区加入全量刷新按钮、最后刷新时间与加载反馈 |
| 2026-04-23 15:26 | 3.1 | completed | `npm run build` 通过 |
| 2026-04-23 15:42 | 3.2 | completed | 按用户要求停止 playwright-cli,改用结构化代码视觉自检并完成知识库同步 |
---
## 执行备注
> 记录执行过程中的重要说明、决策变更、风险提示等
- 本轮只增强仪表盘顶部操作层,不改动后端接口契约和图表数据结构。
- 运行态视觉验收原计划使用浏览器自动化,但用户中途明确要求“不再运行 playwright-cli”,因此改为基于构建结果和代码结构的视觉自检。