Skip to content

feat: 支持当日盈亏显示与账户盈亏汇总#61

Merged
Chef5 merged 4 commits into
Chef5:mainfrom
ZeXuanAc:feat/daily-pnl
Mar 19, 2026
Merged

feat: 支持当日盈亏显示与账户盈亏汇总#61
Chef5 merged 4 commits into
Chef5:mainfrom
ZeXuanAc:feat/daily-pnl

Conversation

@ZeXuanAc

Copy link
Copy Markdown
Contributor

功能说明

新增当日盈亏计算功能,根据持仓数量和当日涨跌额自动计算并展示盈亏信息。

新增功能

  1. 单只股票当日盈亏:状态栏在股票涨跌幅后显示当日盈亏,如 平安 12.50 +1.25% [+250]
  2. 账户当日盈亏汇总:状态栏末尾新增汇总项 今日:+xxx,汇总所有持仓股票的当日盈亏
  3. 悬浮提示增强:区分展示「当日盈亏」和「持仓盈亏」两项数据

计算公式

  • 当日盈亏 = 涨跌额(updown) × 持仓数量(hold_number)
  • 持仓盈亏 = (现价 - 持仓价) × 持仓数量

显示条件

  • 仅当 hold_number > 0 时显示盈亏相关信息
  • 若所有股票均无持仓,账户汇总栏不显示

改动文件

  • src/render.ts:核心渲染逻辑
  • README.md:更新股票配置说明
  • CHANGELOG.md:新增 v1.0.12 变更记录

czx(向跃) added 2 commits March 17, 2026 16:53
- 状态栏展示每只持仓股票的当日盈亏 [+xxx]
- 新增账户当日盈亏汇总状态栏项(今日:+xxx)
- 悬浮提示区分展示当日盈亏与持仓盈亏
- 优化持仓判断逻辑,仅 hold_number > 0 时显示
- 更新 README 和 CHANGELOG 文档
- provider.ts: price=0时updown返回0,避免未开盘时涨跌额异常
- render.ts: price=0时使用yestclose计算持仓盈亏,避免持仓盈亏异常
@Chef5

Chef5 commented Mar 18, 2026

Copy link
Copy Markdown
Owner

感谢你的 PR!麻烦在提交前移除一下编译后的产物文件:

  • dist/extension.js
  • stock-bar-1.0.11.vsix
    这些是构建生成的文件,不需要纳入版本控制,修改后我再帮你合并~

@ZeXuanAc

Copy link
Copy Markdown
Contributor Author

已移除 dist/extension.jsstock-bar-1.0.11.vsix 两个编译产物文件,请再审阅一下~

Comment thread src/render.ts Outdated
const pnl = Math.round(stock.updown * stock.hold_number);
totalDailyPnL += pnl;
const pnlStr = pnl > 0 ? `+${pnl}` : `${pnl}`;
details.push(`${stock.alias ?? stock.name}:${pnlStr}`);

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.

这里的汇总当日盈亏文案,当alias配置为“”时,无法展示,因此建议调整为 ||

@ZeXuanAc

Copy link
Copy Markdown
Contributor Author

已按建议修改 ??||,同时优化了边界条件处理:

  1. alias || name 改为 alias || name || code,防止 name 也为 null 时显示空白
  2. effectivePrice = price || yestclose 改为 price || yestclose || hold_price,防止极端情况下两者都为 0 导致持仓盈亏计算异常

请再审阅~

@Chef5 Chef5 merged commit 464b5aa into Chef5:main Mar 19, 2026
1 check failed
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