feat(admin-frontend): 补齐活跃筛选与支付快照能力

新增用户管理“活跃状态”高级筛选,并在后端支持
activity_status 复合规则,支持按活跃与非活跃筛选用户。

补齐订单支付成功快照落库与后台展示,保存支付渠道、
支付方法、实付金额和支付 IP,并在订单详情中优先展示。

同时增强节点页在线/离线筛选与批量删除、仪表盘快捷入口,
并修复已关闭工单再次回复后自动重开的统一语义。

附带同步测试、迁移、CI 工作流命名及知识库记录
This commit is contained in:
yinjianm
2026-04-25 00:59:08 +08:00
parent 2218457237
commit c64badfc23
55 changed files with 2023 additions and 71 deletions
+10 -10
View File
@@ -1,25 +1,25 @@
# 恢复快照
## 主线目标
完成 `admin-frontend` 独立 Docker 镜像、GHCR 自动发布、compose 分支 `admin` 服务接入,以及 `admin -> web``/api` 反向代理链路
`admin-frontend` 用户管理高级筛选新增“活跃状态”条件,并补齐对应后端复合过滤规则
## 正在做什么
当前任务已完成,已补齐 `xboard-admin-frontend` 到后端 `web` 服务的 `/api` 反向代理,并整理最终变更与验证证据
当前任务已完成,已补齐活跃 / 非活跃筛选与前后端联动,并完成前端构建验证
## 关键上下文
- 用户指出此前方案遗漏了 `xboard-admin-frontend` 访问后端 API 的回源链路,需要补齐到后端 `web` 服务
- `admin-frontend/Caddyfile` 现已增加 `/api` 反向代理,回源地址由 `XBOARD_BACKEND_UPSTREAM` 控制,默认值为 `http://web:7001`
- 独立 worktree `E:\code\php\Xboard-new-compose``compose.yaml` 已补充 `admin` 服务环境变量 `XBOARD_BACKEND_UPSTREAM=http://web:7001`,并把镜像名对齐到当前 fork `ghcr.io/micah123321/*`
- 本轮已同步知识库:`.helloagents/CHANGELOG.md``.helloagents/context.md``.helloagents/modules/admin-frontend.md`
- 高级筛选弹窗新增了 `activity_status` 字段,前端支持选择“活跃 / 非活跃”,默认无该条件即代表“全部”
- 后端 `UserController::fetch()` 现支持 `activity_status=eq:1|0` 的复合规则:`plan_id` 非空、剩余流量大于 0、`last_online_at` 在近半年内即视为活跃
- 已新增 `tests/Unit/Admin/UserControllerActivityStatusFilterTest.php` 覆盖值解析与 SQL 条件拼装,但当前环境缺少可执行 `php` 命令,尚未本机跑通该 PHPUnit 用例
- 已完成 `admin-frontend``npm run build`,最新产物已写入 `public/assets/admin` 子模块
## 下一步
当前任务已完成;如继续,可下一步提交/推送 `master``compose` 两个工作树中的改动,或继续把 `ws-server`、命名卷和最终部署文档一并对齐到你的实际 compose 模板
当前任务已完成;如继续同一业务域,建议在具备 PHP 运行时的环境补跑 `UserControllerActivityStatusFilterTest`,并用真实后台登录态手动验证“高级筛选 → 活跃 / 非活跃切换”的结果集
## 阻塞项
- 本地缺少 `docker``caddy` 可执行文件,因此本轮未执行 `docker build` / `caddy validate`,仅完成了 compose YAML 语法验证与代码级自检。
- 当前终端不存在 `php`
## 方案
无(R1 快速修正)
`.helloagents/archive/2026-04/202604250018_admin-frontend-user-activity-status-filter/`
## 已标记技能
hello-verify
hello-ui, hello-verify