Skip to content

feat(admin): 把请求采集和打票流程并入智能运维 - #286

Merged
ranxi2001 merged 1 commit into
ranxi2001:productionfrom
akihitohyh:feat/smart-ops-capture-harvest
Oct 3, 2026
Merged

ranxi2001 merged 1 commit into
ranxi2001:productionfrom
akihitohyh:feat/smart-ops-capture-harvest

Conversation

@akihitohyh

Copy link
Copy Markdown
Collaborator

解决的问题与行为变化

  • 触发条件 / 原行为:管理员侧栏中,「请求采集」是顶层第 2 项,「打票流程」是排在「智能运维」分组之后的顶层项;智能运维各页顶部的标签栏(SmartOpsNav)没有这两页,两页自己也不显示这条标签栏。
  • 修改后行为:
    • 侧栏:两项移到「智能运维」子菜单末尾,顶层不再单独显示。打开其中任一页面时分组自动展开并高亮当前项。请求采集保留原来的 request_capture_enabled 开关,关闭时不显示。两项图标改为与其他子项相同的小号,避免文字错位。
    • 标签栏:SmartOpsNav 加上这两项,顺序与侧栏一致:自动配置 → 优先调度 → 质量运维 → 账号运维 → 凭证守护 → 凭证运营 → 鹈鹕测智 → 请求采集 → 打票流程。请求采集同样只在开关开启时显示,开关变化后无需刷新页面。
    • 两个页面顶部显示该标签栏,位置与凭证守护、鹈鹕测智等页面相同(页面最上方)。
  • 本次范围与仍未解决的问题:
    • 只调整导航入口和标签栏。页面地址、权限、接口和页面内功能都不变,页面自身的标题样式也未改动。
    • 和其他分组子项一样,侧栏折叠时无法从侧栏直接点开这两项(现有分组行为),可以展开侧栏、用功能搜索或顶部标签栏进入。
    • 两项排在子菜单末尾,保持原来「请求采集在前、打票流程在后」的相对顺序;如需调整位置,只要改侧栏和 SmartOpsNav 两处,新测试会检查两边顺序一致。

关联记录与来源

  • Issue / 相关 PR:Fixes [Feature] 把请求采集和打票流程并入智能运维 #285。智能运维侧栏与标签栏顺序一致的约定来自 b6e53d3b1(docs/screenshots/smart-ops-layout/)。
  • 引入其他仓库提交时的来源链接、原 SHA 与本 fork 的适配:不适用,本 PR 没有引入其他仓库的代码。

复现与验收

  • 环境与基线:production 5bed80886e4b6e48b2e8825c93f7ad6b6e275eb1。本机前端开发服务器 + 只监听 127.0.0.1 的 mock API + 无头 Chromium(CDP),使用虚构管理员和空数据,没有连接任何真实服务。
  • 前置条件与操作:
    1. 以管理员身份打开「打票流程」和「请求采集」。
    2. 在任一智能运维页面查看顶部标签栏。
    3. 让设置接口返回 request_capture_enabled: false,刷新后再看侧栏和标签栏,并直接访问 /admin/request-captures。
  • 修复前观察:两项在侧栏顶层,智能运维分组保持折叠;两个页面没有智能运维标签栏。
  • 修复后观察 / 验收标准:
    • 两项位于「智能运维」子菜单末尾,分组展开并高亮当前项;标签栏 9 项,顺序与侧栏一致,当前页带 aria-current="page"。
    • 关闭请求采集后,侧栏与标签栏都只剩 8 项;直接访问 /admin/request-captures 仍按原规则跳转到 /admin/settings。
    • 1440 和 390 宽度下 document.documentElement.scrollWidth 等于视口宽度,没有横向溢出。
  • 回归测试位置:
    • AppSidebar.spec.ts:两项都在智能运维分组内、各只声明一次(不再是顶层项),请求采集仍带开关;侧栏分组与 SmartOpsNav 列出的路径和顺序完全一致。
    • 新增 SmartOpsNav.spec.ts(真实 vue-router + Pinia):开关关闭时不含请求采集、开启时排在打票流程之前、开关变化后无需重新挂载即可更新,并校验当前页标记。
    • RequestCaptureView.spec.ts、HarvestFlowView.spec.ts:照其他 7 个智能运维页面测试的做法,mock 掉 SmartOpsNav。
    • 上面两个新增 / 扩充的测试加入 CI 的关键 Vitest 清单(Makefile 的 FRONTEND_CRITICAL_VITEST)。
    • 未覆盖:功能搜索复用现有的 buildFeatureSearchEntries 展开子项(已有用例覆盖),本 PR 没有单独为这两页加搜索用例。

实际验证

当前 head:c90f2f34f298,基于 production 5bed80886。

检查与执行目录 / 命令 结果 覆盖范围、证据或未运行原因
仓库根目录:make test-frontend 通过 lint:check、typecheck 和关键 Vitest 55 个文件 943 项
仓库根目录:pnpm --dir frontend run test:run 通过 401 个文件 3,380 项
仓库根目录:pnpm --dir frontend run build 通过 生产构建
本机浏览器渲染(mock API) 通过 修改前后截图见下;开关关闭时侧栏和标签栏只剩 8 项,/admin/request-captures 跳转到 /admin/settings;1440 和 390 宽度没有横向溢出
后端 未运行 没有后端改动
GitHub CI 待运行 以本 PR 当前 head 的 CI 为准

截图(虚构数据,mock 设置为开启请求采集;文件和说明在 docs/screenshots/smart-ops-capture-harvest/):

修改前:打票流程 修改后:打票流程
修改前 修改后
修改后:请求采集 修改后:手机端(390)
请求采集 手机端

兼容性与运行影响

  • 配置 / API / 默认行为:没有新配置或接口;页面地址不变,书签和直接链接继续可用。请求采集的开关和路由守卫不变。
  • 数据库迁移、数据兼容与二进制回滚限制:不适用,纯前端改动;回退即可恢复原侧栏。
  • 权限、凭据脱敏、日志或采集内容:不变。两个页面仍只对管理员显示;截图只含虚构数据。
  • 计费、资源开销、并发或性能:不适用。SmartOpsNav 读取的是侧栏本来就会加载的管理员设置,不增加请求。
  • 灰度 / 回滚方式与残余风险:回退本 PR 即可。残余风险:习惯在顶层找这两项的管理员需要到「智能运维」里找,功能搜索仍能直接搜到。

文档与用户可见变化

  • 用户可见:管理员侧栏中「请求采集」「打票流程」移到「智能运维」下;智能运维标签栏多出这两项。
  • 文档:docs/request-capture.md 的入口位置改为「智能运维 → 请求采集」;新增 docs/screenshots/smart-ops-capture-harvest/(.gitignore 白名单同步放行)。PR 合并不代表已发布或部署。

Agent 使用声明

  • Agent 名称与参与范围:Claude Code(桌面 App Code 页签);问题分析、代码、测试、本地截图与 Issue / PR 正文。未使用子 Agent。
  • 模型名称:Claude Opus 5.5(claude-opus-5-5)
  • 推理强度:max

提交前自查

  • base 分支和改动范围正确,没有夹带无关修改。
  • 正文、提交、测试数据和附件不含凭据、ticket/state 或真实用户敏感信息。
  • 实际验证结果已列出,失败、未运行和未覆盖的部分已说明。
  • 已检查配置默认值、权限、兼容性及相关文档;不适用项已说明。
  • Bug 修复有针对性回归验证,或已说明暂时无法补充的原因。
  • 已填写 Agent 使用声明,列出所有参与的 Agent、模型和推理强度;纯人工编写已注明未使用。

🤖 Generated with Claude Code

- Sidebar: move 请求采集 and 打票流程 from the top level to the end of
  the 智能运维 group. 请求采集 keeps its request_capture_enabled flag;
  both icons use the small size like the other children.
- SmartOpsNav: add the two pages in the same order as the sidebar, with
  请求采集 shown only while the feature is enabled, and render the tab
  bar on both pages like the other 智能运维 pages.
- Tests: assert the grouping and that the sidebar group and tab bar
  list the same paths in the same order; cover the tab bar feature flag
  with a real router. Both specs join the CI critical Vitest list.
- Docs: point the request capture guide at the new location and add
  before/after screenshots from a local mock.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ranxi2001
ranxi2001 merged commit dd1d9bd into ranxi2001:production Oct 3, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 把请求采集和打票流程并入智能运维

2 participants