依旧金几钱啊
对于广府人来说,结婚买金是绕不过去的一道坎。三金五金的,长辈们念叨了多少年,终于轮到我了。金饰这东西,明面上是饰物,实际上是一笔不小的开销——所以哪怕再嫌麻烦,也得认真比价。
这次要买金,我盘算着去香港和深圳水贝各看一圈。香港金行卷码,水贝货多价实,两边各有各的香。但真正到了比价这一步,才发现事情没那么简单:
- 货币不一样:香港用港币,内地用人民币,中间隔着实时汇率。
- 计重单位不一样:香港金行用的是司马两,1 两 = 37.429 克;内地水贝玩的是克。两边的"金价"根本不是一个坐标系。
于是问题来了:香港报的"HK$ 每两",跟水贝报的"¥ 每克",到底哪个便宜?每次掏出手机按计算器,汇率、单位、工费一堆变量,按得头大,还容易算错。
所以干脆写了个小工具:BuyGold,专门干这个事。MIT 开源,也可以在线直接用。
项目介绍
BuyGold 是一个香港金饰比价计算器,核心就一句话——把"港币/克/司马两/人民币"这些乱七八糟的坐标系,统一到一张表里,让你一眼看出哪家便宜。
名字是"买金结婚用",标题那句 "依旧金几钱啊" 是句粤语,大概就是"今天金价几多钱"的意思,算是给这个项目点个题。
核心功能
1. 实时汇率 + 手动覆盖
自动拉取 HKD ↔ CNY 实时汇率,双向显示。支持手动覆盖——实际金行给的牌价往往跟网上汇率有出入,按实际填进去更准。
汇率来源:主源 open.er-api.com,备源 frankfurter.app,缓存 5 分钟。标注了仅供参,实际以银行牌价为准。
2. 四个联动的单价
¥/克、HK/两,四个单价框任填一个,其余自动换算。这是整个工具的灵魂——你只需要把金行报价输进任意一个框,剩下的它自己算。
3. 克 ↔ 司马两换算
输入克数自动得出两数,反过来也行。换算系数可自定义——默认香港金行的司马两 1 两 = 37.429 克,注意这跟内地一斤 500 克、1 两 = 50 克的市场两不是一回事,别搞混了。
4. 工费计算
香港买金最容易被"工费"绕晕,这里支持四种方式:
| 计费方式 | 说明 |
|---|---|
| 按克 | 每克多少工费 |
| 按两 | 每两多少工费 |
| 按件 | 一口价工费 |
| 按比例 | 金价的百分比(佣金) |
货币单位 HKD / CNY 可选。
5. 价格明细
金价小计 + 工费小计 = 总价,同时显示人民币和港币两栏。多行比较时,最便宜的一行自动标绿,谁是显眼包一目了然。
6. 本地持久化
所有录入存浏览器 localStorage,刷新不丢。桌面端表格视图 / 移动端卡片视图自动切换,去金铺现场拿手机也能用。
技术架构
| 层级 | 技术选型 |
|---|---|
| 框架 | Next.js 14 (App Router) |
| 语言 | TypeScript |
| 样式 | Tailwind CSS |
纯前端应用,无后端无数据库,汇率走公共 API,数据全在浏览器本地。部署到 Vercel 静态托管即用——符合"工具就该轻量、打开就用"的定位。
快速开始
git clone https://github.com/pzweuj/BuyGold.git
cd BuyGold
npm install
npm run dev # 开发模式 → http://localhost:3000
或者直接上在线版本,不用装任何东西。
个人评价
这个工具不大,但解决了我一个很具体的痛点:跨币种、跨单位的金价比价。以前是掏出手机怼计算器,现在是把报价往表里一塞,谁便宜谁贵呼之欲出。
技术上没有花活,就是 Next.js + Tailwind 的一个小单页,但"小而够用"正是它最舒服的状态——这也是我自己写工具的一贯取舍:不为炫技加复杂度,只为把那一件事做顺。
希望它能帮到同样在备婚、准备去香港水贝比金价的街坊。也提前祝自己买到心仪的金器,嘿嘿。