From 896146f9aab9c200397f022afd0055f6434884e2 Mon Sep 17 00:00:00 2001 From: NAC Admin Date: Fri, 20 Mar 2026 17:58:53 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=202026-03-20=20?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=B7=A5=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WORKLOG_20260320_refactor.md | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 WORKLOG_20260320_refactor.md diff --git a/WORKLOG_20260320_refactor.md b/WORKLOG_20260320_refactor.md new file mode 100644 index 0000000..6e036b4 --- /dev/null +++ b/WORKLOG_20260320_refactor.md @@ -0,0 +1,47 @@ +# TRC ICO 工作日志 - 2026-03-20 + +## 任务:重构 usePresale.ts 冗余代码 + +### 执行时间 +2026-03-20 (UTC+8) + +### 问题描述 +usePresale.ts 文件中存在以下冗余代码: +1. buyWithUSDT 和 buyWithBNB 中各有一段完全相同的 TokensPurchased 事件解析逻辑(约8行×2) +2. 两个购买函数中各有一段完全相同的错误处理逻辑(约3行×2) +3. getUsdtBalance 和 buyWithUSDT 中各有一处重复的 network === "ETH" ? 6 : 18 判断 +4. 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 构建警告消除 +- 代码可维护性提升