From de1e816fac8c7b84bd13904af55b4434001b9392 Mon Sep 17 00:00:00 2001 From: NAC Admin Date: Sat, 21 Mar 2026 01:57:19 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E6=A8=A1=E5=BC=8F=E8=B4=AD=E4=B9=B0=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E4=BF=AE=E5=A4=8D=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG_20260320_manual_addr_fix.md | 71 +++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 CHANGELOG_20260320_manual_addr_fix.md diff --git a/CHANGELOG_20260320_manual_addr_fix.md b/CHANGELOG_20260320_manual_addr_fix.md new file mode 100644 index 0000000..b2aa074 --- /dev/null +++ b/CHANGELOG_20260320_manual_addr_fix.md @@ -0,0 +1,71 @@ +# 购买按钮修复日志 - 2026-03-20(手动地址模式) + +## 修复时间 +2026-03-20 + +## 问题描述 +trc-ico.newassetchain.io 购买区域:用户点击"Enter address manually"输入地址并点击 Confirm 后, +购买按钮没有出现,界面无任何变化。 + +## 根本原因 +文件: `client/src/pages/Home.tsx` +`EVMPurchasePanel` 组件中,`WalletSelector` 的 `onAddressDetected` 回调只显示了 toast 提示, +没有更新组件状态,导致 `wallet.isConnected` 仍然为 `false`,购买按钮不渲染。 + +```tsx +// 修复前(问题代码) +onAddressDetected={(addr) => { + toast.success(`Connected: ${addr.slice(0, 6)}...${addr.slice(-4)}`); + // ← 没有更新任何状态! +}} +``` + +## 修复方案 +在 `EVMPurchasePanel` 中添加 `manualAddress` 状态: + +```tsx +const [manualAddress, setManualAddress] = useState(null); +const effectiveAddress = wallet.address || manualAddress; +const isManualMode = !wallet.isConnected && !!manualAddress; +``` + +修改 `onAddressDetected` 回调: +```tsx +onAddressDetected={(addr) => { + setManualAddress(addr); // ← 保存手动输入的地址 + toast.success(`Address confirmed: ${addr.slice(0, 6)}...${addr.slice(-4)}`); +}} +``` + +修改条件渲染: +- `!wallet.isConnected && !manualAddress` → 显示 WalletSelector +- `isManualMode` → 显示购买按钮(提示需要连接钱包完成链上交易) +- `wallet.isConnected` → 显示正常购买按钮 + +## 构建信息 +- 构建时间: 2026-03-20 +- 新 bundle: index-By9gUhW4.js (815.67 kB) +- 构建耗时: 7.18s +- 1858 modules transformed + +## 部署步骤 +1. 修改 client/src/pages/Home.tsx +2. 执行 pnpm run build +3. 删除 dist/public/__manus__ 目录 +4. PM2 重启: pm2 restart nac-presale-test +5. 验证: HTTP 200 响应 + +## 备份文件 +- Home.tsx 备份: client/src/pages/Home.tsx.bak.manual_addr_fix_20260320 +- dist 备份: dist/public.bak.manual_addr_fix_20260320 + +## Git 提交 +- commit hash: 5136b59 +- 提交信息: fix: 修复手动输入地址后购买按钮不显示的问题 +- 推送到: nacadmin/nac-presale master + +## 验证结果 +- 用户输入地址 0x1234...7890 并点击 Confirm +- 购买按钮出现:"Connect Wallet to Buy 5.00K XIC" +- 地址信息栏显示手动地址(琥珀色样式) +- HTTP 200 响应正常