2.9 KiB
2.9 KiB
TRC ICO 购买按钮修复工作日志
修复时间
2026-03-20
问题描述
trc-ico.newassetchain.io 购买区域缺少购买按钮,用户无法完成购买操作。
根本原因分析
问题代码位置
文件: client/src/pages/Home.tsx 第 498 行
问题代码
{!wallet.isConnected ? (
// 显示连接钱包提示
<WalletSelector ... />
) : isWrongNetwork ? null : ( // ← 问题所在
// 显示购买按钮
<button onClick={handleBuy}>Buy XIC</button>
)}
问题原因
当用户钱包已连接但网络不对(isWrongNetwork === true)时,代码返回 null,
导致购买按钮完全不渲染,用户看到的是空白区域。
虽然页面上方有 Wrong Network 警告 Banner,但购买按钮区域是空的, 用户不知道切换网络后会出现购买按钮,体验极差。
修复方案
修复代码
{!wallet.isConnected ? (
// 显示连接钱包提示
<WalletSelector ... />
) : isWrongNetwork ? ( // ← 修复后
// 显示切换网络按钮
<button onClick={() => wallet.switchNetwork(targetChainId)} ...>
切换到 {CONTRACTS[network].chainName} 后即可购买
</button>
) : (
// 显示购买按钮
<button onClick={handleBuy}>Buy XIC</button>
)}
合约配置确认
| 合约 | 地址 | 链 |
|---|---|---|
| BSC Presale | 0x5953c025dA734e710886916F2d739A3A78f8bbc4 | BSC (56) |
| ETH Presale | 0x85AB2F2d9f7ca7ecB272b5E8726c70f3fd45D1E3 | ETH (1) |
| BSC Token (XIC) | 0x59ff34dd59680a7125782b1f6df2a86ed46f5a24 | BSC (56) |
| Claim | 0x9d8ea8223c8d7d977744f2f7cfc076341355a419 | BSC (56) |
| TRON 收款 | TWc2ugYBFN5aSoimAh4qGt9oMyket6NYZp | TRON |
构建信息
- 构建时间: 2026-03-20
- 新 bundle: index-CTII5lfh.js (814,584 bytes)
- 旧 bundle 备份: dist/public.bak.20260320_*
备份文件
- Home.tsx 备份: client/src/pages/Home.tsx.bak.buy_btn_fix_20260320
部署步骤
- 修改 client/src/pages/Home.tsx 第 498 行
- 执行 pnpm run build 重新构建
- 删除 dist/public/manus 目录(中国用户无法访问)
- PM2 重启: pm2 restart nac-presale-test
- 验证: HTTP 200 响应
其他发现的问题(待后续处理)
P1: usePresale.ts 重复键警告
文件 client/src/hooks/usePresale.ts 第 298 行有重复 key calcTokens,
构建时有警告但不影响功能。
P1: 链上数据加载失败
页面显示 "Loading on-chain data..." 和 "$0 Raised", 原因是 contracts.ts 中的 ABI 缺少部分查询函数,导致链上统计数据无法读取。
P2: BSC Presale 合约地址不匹配
- contracts.ts 中配置: 0x5953c025dA734e710886916F2d739A3A78f8bbc4
- 用户提供的实际合约: 0xc65e7a2738ed884db8d26a6eb2fecf7daca2e90c
- 需要确认哪个是正确的 presale 合约
Git 提交
- 提交 hash:
08be117 - 提交信息: fix: 修复购买按钮缺失问题
- 推送到: git.newassetchain.io/nacadmin/nac-presale.git