1.7 KiB
1.7 KiB
TRC ICO 工作日志 - 2026-03-20
任务:重构 usePresale.ts 冗余代码
执行时间
2026-03-20 (UTC+8)
问题描述
usePresale.ts 文件中存在以下冗余代码:
- buyWithUSDT 和 buyWithBNB 中各有一段完全相同的 TokensPurchased 事件解析逻辑(约8行×2)
- 两个购买函数中各有一段完全相同的错误处理逻辑(约3行×2)
- getUsdtBalance 和 buyWithUSDT 中各有一处重复的 network === "ETH" ? 6 : 18 判断
- return 块中 calcTokens 重复 key(已在上次任务中修复)
解决方案
提取3个公共工具函数,放置在 Hook 函数体外部(文件顶部):
| 函数名 | 作用 | 消除的冗余 |
|---|---|---|
| getUsdtDecimals(network) | 返回 USDT decimals | 3处重复判断 → 1处定义 |
| extractPurchasedAmount(receipt, contract, default) | 解析 TokensPurchased 事件 | 2处重复代码块 → 1处定义 |
| extractErrorMessage(err) | 提取合约错误信息 | 2处重复代码块 → 1处定义 |
修改文件
- /www/wwwroot/nac-presale-test/client/src/hooks/usePresale.ts
备份文件
- /www/wwwroot/nac-presale-test/client/src/hooks/usePresale.ts.bak.refactor_20260320
构建结果
- 新 bundle: index-ChZj9Bh8.js (814.46 kB)
- 构建时间: 7.27s
- 1858 modules transformed
部署结果
- PM2 重启: nac-presale-test ✅
- HTTP 验证: 200 OK ✅
- manus 内联: 已清除 ✅
Git 提交
- commit: refactor: 重构 usePresale.ts,提取公共函数消除冗余代码
- 推送到: nacadmin/nac-presale master
功能影响
- 无功能变化,所有导出接口保持不变
- Vite 构建警告消除
- 代码可维护性提升