fix(admin-frontend): 修复节点权限组保存与协议默认值
统一将节点编辑和批量修改的 group_ids、route_ids 序列化为字符串 ID,避免保存权限组后订阅侧无法命中节点 后端新增 whereGroupId 兼容历史字符串与数字 JSON 值, 并补齐 TUIC 版本、ALPN 选项及 AnyTLS 默认 Padding 配置 docs: 新增 HelloAGENTS 通用与工作流避坑指南
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
# CHANGELOG
|
||||
|
||||
## [0.5.17] - 2026-04-25
|
||||
|
||||
### 修复
|
||||
- **[admin-frontend]**: 修复节点编辑 / 批量修改保存权限组后订阅侧无法命中节点的问题;前端提交 `group_ids / route_ids` 时统一序列化为字符串 ID,后端 `whereGroupId` 同时兼容历史字符串与数字 JSON 值,并补齐 TUIC V5/V4、ALPN 选项与 AnyTLS 完整默认 Padding Scheme — by yinjianm
|
||||
- 类型: 快速修改(无方案包)
|
||||
- 文件: admin-frontend/src/utils/nodeEditorMapper.ts, admin-frontend/src/utils/nodeEditorOptions.ts, admin-frontend/src/views/nodes/NodeEditorProtocolSection.vue, app/Models/Server.php
|
||||
|
||||
## [0.5.16] - 2026-04-25
|
||||
|
||||
### 新增
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
- 用户流量重置优先复用 `traffic-reset/reset-user`,用户行级“重置流量”会走真实后端重置链路并在成功后刷新列表
|
||||
- 节点管理页通过真实后端 `server/manage/getNodes`、`server/group/fetch` 与 `server/route/fetch` 获取列表 / 关联数据,并通过 `server/manage/save`、`server/manage/sort`、`server/manage/update`、`server/manage/batchUpdate`、`server/manage/copy`、`server/manage/drop` 完成新增、编辑、排序、批量修改与行级操作
|
||||
- 节点新增 / 编辑采用统一中央大弹窗,支持 `Shadowsocks / VMess / Trojan / Hysteria / VLess / TUIC / SOCKS / Naive / HTTP / Mieru / AnyTLS` 11 种协议的首版动态配置表单
|
||||
- 节点新增 / 编辑 / 批量修改保存 `group_ids / route_ids` 时统一向后端提交字符串 ID,后端 `Server::whereGroupId()` 同时兼容历史字符串与数字 JSON 值,避免权限组保存后订阅侧无法命中节点
|
||||
- TUIC 表单默认以 V5 / V4 版本选择、`h3 / h2 / http/1.1` ALPN 选项和 `native / quic` UDP Relay Mode 对齐后端协议模板;AnyTLS Padding Scheme 默认值与 `Server` 模型完整模板保持一致
|
||||
- 节点排序采用本地草稿 + 上移 / 下移模式,保存时向 `server/manage/sort` 提交 `{ id, order }[]` 顺序 payload
|
||||
- 节点列表现支持本地分页、在线 / 离线筛选、父/子节点筛选,以及跨分页稳定勾选;批量修改 / 批量删除仅作用于已勾选节点,其中批量修改可统一更新 `host / group_ids / rate`
|
||||
- 节点行级菜单现已补齐“置顶节点”,会复用当前排序结果生成新的顺序 payload 并提交到 `server/manage/sort`
|
||||
|
||||
@@ -1,25 +1,28 @@
|
||||
# 恢复快照
|
||||
|
||||
## 主线目标
|
||||
为 `admin-frontend` 用户管理高级筛选新增“活跃状态”条件,并补齐对应后端复合过滤规则。
|
||||
补充 HelloAGENTS 通用避坑指南中的“多个任务并行执行”处理规则。
|
||||
|
||||
## 正在做什么
|
||||
当前任务已完成,已补齐活跃 / 非活跃筛选与前后端联动,并完成前端构建验证。
|
||||
当前任务已完成,通用文档已补充“多任务并行执行规则”。
|
||||
|
||||
## 关键上下文
|
||||
- 高级筛选弹窗新增了 `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` 子模块。
|
||||
- 已有项目版文档:`docs/helloagents-workflow-pitfalls.md`。
|
||||
- 通用版目标路径:`docs/helloagents-universal-pitfalls.md`。
|
||||
- 通用版面向任意已激活 HelloAGENTS 项目,重点覆盖状态恢复、输出格式、目录边界、验证证据、子仓/子模块、多平台 Shell、外部依赖和收尾流程。
|
||||
- 文档不放入 `.helloagents/`,避免触发模板格式约束。
|
||||
- 本次新增重点:并行任务必须先建任务矩阵;主代理处理关键路径,子代理仅在用户明确授权并行 / 委托时使用;并行写入必须分配不重叠文件范围;状态文件记录并行泳道和合并点。
|
||||
- 已在 `docs/helloagents-universal-pitfalls.md` 新增 `## 多任务并行执行规则` 章节。
|
||||
- 已检查章节存在性与 `git diff --check`,无空白错误;仅提示 Git 未来可能将 `STATE.md` LF 替换为 CRLF。
|
||||
|
||||
## 下一步
|
||||
当前任务已完成;如继续同一业务域,建议在具备 PHP 运行时的环境补跑 `UserControllerActivityStatusFilterTest`,并用真实后台登录态手动验证“高级筛选 → 活跃 / 非活跃切换”的结果集。
|
||||
当前补充已完成;后续可把该章节抽成团队并行任务模板。
|
||||
|
||||
## 阻塞项
|
||||
- 当前终端不存在 `php`
|
||||
- 暂无
|
||||
|
||||
## 方案
|
||||
`.helloagents/archive/2026-04/202604250018_admin-frontend-user-activity-status-filter/`
|
||||
快速文档沉淀(无独立方案包)。
|
||||
|
||||
## 已标记技能
|
||||
hello-ui, hello-verify
|
||||
|
||||
Reference in New Issue
Block a user