ccd51b91fb8e8b16e2e2e1138436cb0dbc9c00d3
哈夫币发布计算器
一个独立的 Go + Wails 桌面工具,只计算号主到手价。输入保险格数、账号状态、哈弗币数量和物品数量后立即出结果。
界面按「保险格数 + 特殊状态 + 哈弗币 + 物品清单 + 底部分结果」布局,规则支持本地配置和从线上同步。
计算口径
参考比例 = 保险基础比例
+ 缺配惩罚(红皮/刀皮/砖皮/满体力/满负重,每缺一项 +1)
+ 大额币修正(>130M +1;>230M +2.5;>380M +4;>530M +5)
+ 每日损耗修正(10/20/30/40/50M → +0/+1/+2/+3/+4)
最终比例 = clamp(加速比例, 参考比例, 参考比例 + 加速上限)
纯币到手 = 哈弗币万数 ÷ 最终比例
物品到手 = Σ(数量 × 单价) // 免费项不计
合计到手 = 纯币到手 + 物品到手
注意:比例数字越大,号主到手越低。加速出售是主动把比例调高、降低价格。
默认规则与 hfb_sys 主站发布口径一致:
- 保险基础比例:
3*3=40、2*3=42、2*2=47、2*1=48 - 缺配项:刀皮、角色红皮、满体力、满负重、武器皮肤
- 大额修正:130M / 230M / 380M / 530M 四档
- 每日损耗:10M 到 50M
- 物品单价:AWM 子弹、6 级子弹、6 级头盔、6 级护甲、巴雷特子弹、顶级保险卡、咖啡豆、子弹零件、45 格大红包
3*3 保险下「顶级保险卡 / 9 格体验卡」按主站规则禁用。
本地运行
wails dev
Wails 程序不能用 go run . 启动;直接运行会缺少 Wails 需要的构建标签。
构建
macOS:
wails build
Windows exe(在 macOS 上可直接交叉编译,文件名自动带版本号):
wails build -platform windows/amd64 -o hfb_price_tool-v1.0.1.exe
不要加
-nopackage。加上它会跳过 Windows 资源打包,导致 exe 没有自定义图标、版本属性和应用清单。
Windows 安装包:
wails build -platform windows/amd64 -nsis
生成物在 build/bin/。最终 Windows 文件名示例:hfb_price_tool-v1.0.1.exe。
图标文件:
build/appicon.png:macOS / 通用图标源图build/windows/icon.ico:Windows exe 图标(包含 16/24/32/48/64/128/256 多尺寸)build/windows/info.json:Windows 版本属性build/windows/wails.exe.manifest:Windows 应用清单
规则配置
右上角「配置」可以编辑:
- 基础比例
- 缺配惩罚
- 大额修正
- 物品单价 / 单位 / 停用
- 每日损耗选项、加速上限
本地配置保存在:
- Windows:
%AppData%\hfb-price-tool\config.json - macOS:
~/Library/Application Support/hfb-price-tool/config.json
配置弹窗支持导入、导出和打开配置目录。首次启动会自动写入一份默认规则。
线上同步
「线上同步」调用主站公开接口:
GET {地址}/api/listing-publish-options
默认地址:https://hao858.com
同步只覆盖:
ratio_config.insurance_base_ratiosratio_config.config_itemsratio_config.coin_correctionsquantity_items
每日损耗选项、加速上限、本地物品停用状态会保留。同步成功后自动保存到本地配置。
接口响应结构:
{
"code": "ok",
"message": "ok",
"data": {
"ratio_config": {},
"quantity_items": []
}
}
验证
go test ./...
cd frontend && npm run build
关键用例:226M + 9格 + 5 项特殊状态全未勾选 + 每日损耗 10M
比例 = 40 + 5 + 1 = 46
226M = 22600 万
22600 ÷ 46 = 491.304... → ¥491.30
该用例固定在 internal/pricing/calc_test.go。
版本号
版本号的唯一来源是 wails.json 的 info.productVersion:
- Windows exe 的版本资源由它生成
- 界面右上角的版本号由
frontend/vite.config.js在构建时读取同一字段注入
升级版本时只改这一处,然后重新构建。
目录
app.go Wails 绑定、本地配置、线上同步、导入导出
main.go 窗口入口
internal/pricing/ 定价核心与单测
frontend/src/main.js 界面与交互
frontend/src/style.css 样式
Languages
JavaScript
40.4%
Go
32.6%
CSS
17.1%
TypeScript
9.4%
HTML
0.3%
Other
0.2%