Skip to content

feat: 优化调用方密钥汇总排序#146

Merged
seakee merged 1 commit into
seakee:mainfrom
junxin367:codex/api-key-summary-sort
Jun 1, 2026
Merged

feat: 优化调用方密钥汇总排序#146
seakee merged 1 commit into
seakee:mainfrom
junxin367:codex/api-key-summary-sort

Conversation

@junxin367
Copy link
Copy Markdown

变更概述

  • 为“调用方密钥汇总”增加独立排序状态、排序下拉和表头点击排序。
  • 默认排序改为“总调用”降序,分页基于排序后的密钥汇总列表。
  • 排序选项覆盖调用、成功/失败、成功率、Token 结构、预计花费和最近请求时间,并保留旧 UI state 兼容默认值。

原因

  • 调用方密钥汇总此前只按聚合函数默认顺序展示,无法像“账号汇总”一样按指标快速定位高调用或高成本密钥。

影响范围

  • 仅影响请求监控页的调用方密钥汇总排序展示和本地 UI state 归一化。
  • 不改动后端接口、采集逻辑、账号汇总默认排序和筛选条件。

验证结果

  • npm test -- src/pages/MonitoringCenterPage.test.tsx src/features/monitoring/accountOverviewState.test.ts:2 个文件、24 个用例通过。
  • npm run type-check:通过。
  • npm run lint:通过。
  • npm run build:通过。
  • npx prettier --check src/features/monitoring/accountOverviewState.ts src/features/monitoring/accountOverviewState.test.ts src/pages/MonitoringCenterPage.tsx:通过。
  • git diff --check:通过,仅有 Windows LF/CRLF 提示。

风险/回滚

  • 风险较低,改动集中在前端排序和本地状态归一化。
  • 如需回滚,可还原本 PR;已有旧 localStorage 缺少 apiKeySort 时会自动回退到总调用降序。

Reviewer Notes

  • 重点看 sortApiKeyRows 默认比较顺序、调用方密钥汇总下拉选项,以及表头排序是否与账号汇总交互一致。
  • 本地浏览器已打开 dev server,但当前会话停在登录页,需要管理密钥才能进入监控中心,因此未做登录后点击截图验证。

@junxin367
Copy link
Copy Markdown
Author

希望该功能也合并到CPA-Manager-plus,改完才发现有CPA-Manager-plus已经没有力气单独提交pr了

@seakee
Copy link
Copy Markdown
Owner

seakee commented May 27, 2026

感谢 PR。

我做了一轮代码级审查,整体实现比较清晰,改动范围也很可控。这个 PR 主要是给“调用方密钥汇总”补齐独立排序状态、排序下拉和表头点击排序,并且排序发生在分页之前,和现有“账号汇总”的交互逻辑基本一致。

安全方面没有发现明显问题:没有改后端接口、用量采集、原始密钥处理或脱敏逻辑,只是在前端本地 UI state 中保存排序字段和方向,风险较低。

一个非阻塞的小建议是:下拉里支持成功率、输入/输出/缓存 Token 等排序项,但这些指标不是主表格直接展示的列,后续在 CPAMP 中可以考虑通过列配置或 tooltip 优化一下体验。

考虑到 CPA-Manager 当前处于维护状态,这类低风险体验优化可以作为维护性改进合入。也欢迎你后续把同类优化同步到 CPA-Manager-Plus,因为 CPAMP 会作为后续功能演进的主要方向。

前面合并了一个性能优化的 PR,与当前的 PR 产生了一些冲突,需要解决一下。

@junxin367 junxin367 force-pushed the codex/api-key-summary-sort branch from 3c6d1f3 to f1bc026 Compare May 31, 2026 06:53
@junxin367
Copy link
Copy Markdown
Author

已处理 review 里提到的冲突:

  • 已基于最新 main rebase,PR 现在可合并。
  • 调用方密钥汇总排序已和新分页接口合并:请求 api-keys 分页时同步传 sort_key / sort_direction,旧接口 fallback 仍走前端本地排序。
  • 本地验证已通过:npm testnpm run type-checknpm run lint(保留既有 Fast Refresh warning,无 error)、npm run build、变更文件 Prettier check、git diff --check
  • GitHub Actions:Frontend / Usage Service / Docker Build 均已通过。

@seakee seakee merged commit 9020e21 into seakee:main Jun 1, 2026
3 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.

2 participants