Skip to content

feat: 新增 DeepSeek 余额查询显示 - #19

Merged
Hotakus merged 2 commits into
Hotakus:masterfrom
troublewind:feat/add-deepseek-balance
Aug 8, 2026
Merged

feat: 新增 DeepSeek 余额查询显示#19
Hotakus merged 2 commits into
Hotakus:masterfrom
troublewind:feat/add-deepseek-balance

Conversation

@troublewind

Copy link
Copy Markdown
Contributor

功能

侧边栏新增单行余额显示,支持:

  • /cache-balance-key 配置 DeepSeek API Key (脱敏预填,空清除/含*保留原key/新key实时刷新)
  • 5 分钟轮询 + key 变更强制重新查询
  • 错误状态区分(401/403/无数据/其他)
  • 跟随 /cache-currency 多币种切换(CNY/USD 直显,其余按汇率换算)
  • /cache-section 新增 DS Balance 开关, /cache-config 展示状态
  • 余额区块上方分割线与开关联动

说明

  • 只做了DeepSeek API的余额显示,这个需求应该是最多的
  • 因为只显示一行总余额就没做折叠项,用分割线隔开,个人觉得比较美观

截图

image

侧边栏新增单行余额显示,支持:
- /cache-balance-key 配置 DeepSeek API Key(脱敏预填,空清除/含*保留原key/新key实时刷新)
- 5 分钟轮询 + key 变更强制重新查询
- 错误状态区分(401/403/无数据/其他)
- 跟随 /cache-currency 多币种切换(CNY/USD 直显,其余按汇率换算)
- /cache-section 新增 DS Balance 开关, /cache-config 展示状态
- 余额区块上方分割线与开关联动
Comment thread src/index.tsx
Comment on lines +544 to +547
createEffect(() => {
void balanceRefresh()
pollBalance()
})

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

感谢你提交的新功能添加,但是我注意到,在 pollBalance() 中,引用了 balanceState(),balanceState() 的状态变化是否会导致 effect 被循环请求?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

感谢指出问题!已自查修复并推送。

根因:createEffect 直接调用 async 的 pollBalance(),而 async 函数 await 前的同步段读取并写入了 balanceState 信号,被 effect 追踪后与 setBalanceState 形成无限循环,且每轮重跑都发起新请求。

本次修复:

  • 用 untrack 包裹 pollBalance,使 effect 仅追踪 balanceRefresh(key 变更时才重新查询),循环消除
  • 移除 onMount 中重复的首次请求
  • 增加请求序号,防止定时轮询与手动刷新并发时旧请求覆盖新结果
  • 失败时清空旧数据,避免显示过期余额
  • AbortController 10s 超时,超时显示"查询超时"

麻烦再次 review ,谢谢!

- untrack 包裹 pollBalance,避免 effect 追踪 balanceState 形成无限循环
- 移除 onMount 重复的首次请求
- 请求序号防止旧请求覆盖新结果
- 失败时清空旧数据
- AbortController 10s 超时并显示'查询超时'
@Hotakus

Hotakus commented Aug 8, 2026

Copy link
Copy Markdown
Owner

感谢你的新功能,代码合并后,我会尽快推送更新,感谢你的支持

@Hotakus
Hotakus merged commit 489eb8d into Hotakus:master Aug 8, 2026
2 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