Skip to content

基于 Mac 环境问题的参考性修复:侧边栏导航、账号删除、状态分类与账号池余额统计#52

Closed
ckckck wants to merge 1 commit intoqxcnm:mainfrom
ckckck:fix/mac-navigation-account-status-pool-remain
Closed

基于 Mac 环境问题的参考性修复:侧边栏导航、账号删除、状态分类与账号池余额统计#52
ckckck wants to merge 1 commit intoqxcnm:mainfrom
ckckck:fix/mac-navigation-account-status-pool-remain

Conversation

@ckckck
Copy link
Contributor

@ckckck ckckck commented Mar 15, 2026

背景说明

我当前使用的是 Mac 系统,在这个系统环境下,实际使用过程中遇到了一些界面交互和状态统计问题。

这个 PR 是基于我自己在 Mac 环境中遇到的实际问题整理出来的修复方案,不是通用结论,而是针对当前项目在我本地使用过程中暴露出来的问题所做的修正。

以下修复内容仅供参考,主要用于说明:

  • 我在 Mac 环境下遇到了哪些问题
  • 这些问题可能是如何产生的
  • 我最终采用了什么方式进行修复

遇到了什么问题

1. 左侧导航栏按钮点击无效

在 Mac 环境下,左侧导航栏中的页面切换按钮存在点击后跳转异常或无效的问题,导致页面切换体验不稳定。

2. 账号管理页中删除账号无效

在账号管理页中,无论是点击行尾“删除”按钮,还是通过“账号操作”中的删除入口,在 Mac 桌面环境下都存在点击后没有实际删除效果的问题。

3. 配额用尽的账号被错误标记为“已失效”

有些账号实际上只是 5 小时额度或 7 天额度已经用尽,但页面上却显示为“已失效”。

这会导致状态语义混乱,因为:

  • “不可用”表示账号本身仍然有效,只是当前额度已经用尽
  • “已失效”表示账号本身已经失效,不应该再参与任何容量或余额统计

如果不把这两种状态区分开,后续统计一定会失真。

4. 首页“账号池剩余”统计不准确

首页“账号池剩余”的显示没有正确反映当前账号池中真实还能使用的余额。

问题的根源在于:

  • 之前“不可用”和“已失效”没有正确区分
  • 余额统计口径不清晰,把不同状态的账号混在一起计算

这会直接导致首页看到的 5 小时余额和 7 天余额不具备实际参考意义。

用什么方式解决

1. 修复左侧导航栏跳转方式

针对 Mac 桌面静态导出环境下的跳转问题,统一处理了导航路径和静态路由地址生成逻辑:

  • 对当前 pathname 做统一归一化处理
  • 对侧边栏导航链接使用静态导出环境兼容的路由地址
  • 保证导航点击和当前页面高亮判断使用同一套路径口径

这样可以避免在 Mac 桌面环境下出现按钮点击无效或高亮异常的问题。

2. 将删除操作改为站内确认弹窗

针对账号删除在 Mac 环境下点击无效的问题,不再依赖原生确认方式,而是改成应用内确认弹窗流程:

  • 单个账号删除走统一确认弹窗
  • 批量删除走统一确认弹窗
  • 清理不可用账号也走统一确认弹窗

这样可以避免桌面 WebView 环境下原生确认交互不稳定,导致“点了删除但没有反应”的问题。

3. 明确拆分账号状态

为了解决状态混乱和余额统计不准的问题,重新明确了账号状态含义:

  • 可用:账号当前仍有可用额度
  • 不可用:账号仍然有效,但当前额度已经用尽
  • 已失效:账号本身已经失效,不再参与账号池统计

修复后的规则是:

  • 如果账号只是额度耗尽,应显示为“不可用”
  • 只有真正失效的账号,才显示为“已失效”

4. 重算首页“账号池剩余”

为了解决首页余额统计不准确的问题,重新定义了首页的统计口径:

  • 分子:只统计“可用”账号当前剩余的额度
  • 分母:统计“可用 + 不可用”账号的总额度
  • “已失效”账号完全不参与统计

也就是说,首页展示的含义变成了:

“当前还能使用的余额” / “当前账号池总容量”

这样首页显示的 5 小时和 7 天百分比,才能真正反映账号池当前的可用余额情况。

这次修复实际解决了哪些问题

这次修复主要解决了以下几类问题:

  • 修复了 Mac 环境下左侧导航栏按钮点击异常的问题
  • 修复了 Mac 环境下账号删除无效的问题
  • 修复了配额用尽账号被误标为“已失效”的问题
  • 修复了首页“账号池剩余”统计口径不准确的问题
  • 让首页余额展示重新具备实际参考意义

说明

这个 PR 是基于我在 Mac 系统下实际遇到的问题整理出来的修复内容。

因此:

  • 这是一个基于实际使用问题的修复 PR
  • 不是对所有环境都做出的绝对判断
  • 当前整理出的修复方案仅供参考

测试验证

  • cd apps_new && node --import tsx --test tests/account-availability.test.ts tests/pool-remain.test.ts tests/account-row-actions-menu.test.tsx
  • cd apps_new && pnpm run build:desktop
  • cd apps/src-tauri && cargo tauri build --bundles app

@qxcnm
Copy link
Owner

qxcnm commented Mar 18, 2026

感谢这次基于 Mac 场景的详细反馈和修复整理。你提到的核心问题里,账号删除确认弹窗、账号状态语义拆分、不可用/禁用展示,以及相关前端交互,当前 main 已经按新的前端结构分别收口处理了。

这个 PR 现在和主线冲突也比较大,而且仍基于旧阶段目录结构,所以这边先按 superseded 关闭。如果你在最新 main 上仍能稳定复现某个 Mac 专属问题,欢迎单独提 issue,或者基于当前目录结构提交一个更小范围的 PR。谢谢。

@qxcnm qxcnm closed this Mar 18, 2026
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