### 现象 v1.3.1 放开任意三字母货币代码之后,我试了下港币,发现同一列里的排版风格不太一致: | 货币 | 显示 | | --- | --- | | CNY | `¥100.00` | | USD | `$100.00` | | HKD | `100.00 HKD` | 前两个是「符号在数字前」,港币是「代码在数字后」而且没有符号。放在同一列里看着有点跳。 不确定这是不是有意这么显示的,所以先来问一下。 ## 我看到的代码,供参考 `web-admin/src/lib/format.ts:34-38` ```ts const SYMBOLS: Record<string, string> = { USD: "$", CNY: "¥", EUR: "€", GBP: "£", JPY: "¥" } export function money(amount: number, currency: string): string { return `${SYMBOLS[currency] ?? ""}${amount.toFixed(2)}${SYMBOLS[currency] ? "" : ` ${currency}`}` } ``` 看起来是「符号表里有的走符号在前,表里没有的走代码在后」。这张表一直是 5 项, #71 放开任意代码之后,HKD / TWD / SGD / AUD 这些都会落到后面那条分支—— 所以这大概是新功能带出来的一个边角情况,不太像是特意设计的。 另外 monitor-theme-default/src/lib/format.ts 里是同一份实现, 公开页上的价格应该也是一样的显示。 ### 期望 统一成下面任意一种都可以: 1. 货币代码放数字前面:HKD 100.00 2. 用 Intl.NumberFormat:HK$100.00(它的输出会随访客的地区设置变化) 3. 货币代码放数字后面:100.00 HKD 现在的情况是 2 和 3 混着:有符号的用符号前置,没符号的用代码后置。 ### 复现步骤 1. 面板「节点」页 → 编辑任一节点 → 续费设置 → 货币填 `HKD`、价格填 `100` → 保存 2. 节点列表的价格列显示 `100.00 HKD` 3. 把货币改成 `CNY`(或留空,默认 USD)→ 显示 `¥100.00` / `$100.00` ### 版本 hub v1.3.1,agent v1.1.0 ### hub 的安装方式 一键脚本(install-hub.sh) ### 面板的访问方式 Cloudflare 代理(橙色云朵) ### 出问题机器的系统 _No response_ ### 日志 ```text ``` ### 提交前确认 - [x] 已从上面的内容里去掉 token、密码,以及不想公开的 IP 和域名
Activity
fix: 价格统一按中文写法显示,货币符号或代码一律在数字前 (monitor-probe#88)