docs: 添加购买按钮修复工作日志 2026-03-20
This commit is contained in:
parent
08be1173cb
commit
d13f9bee60
|
|
@ -0,0 +1,93 @@
|
|||
# TRC ICO 购买按钮修复工作日志
|
||||
|
||||
## 修复时间
|
||||
2026-03-20
|
||||
|
||||
## 问题描述
|
||||
trc-ico.newassetchain.io 购买区域缺少购买按钮,用户无法完成购买操作。
|
||||
|
||||
## 根本原因分析
|
||||
|
||||
### 问题代码位置
|
||||
文件: `client/src/pages/Home.tsx` 第 498 行
|
||||
|
||||
### 问题代码
|
||||
```tsx
|
||||
{!wallet.isConnected ? (
|
||||
// 显示连接钱包提示
|
||||
<WalletSelector ... />
|
||||
) : isWrongNetwork ? null : ( // ← 问题所在
|
||||
// 显示购买按钮
|
||||
<button onClick={handleBuy}>Buy XIC</button>
|
||||
)}
|
||||
```
|
||||
|
||||
### 问题原因
|
||||
当用户钱包已连接但网络不对(`isWrongNetwork === true`)时,代码返回 `null`,
|
||||
导致购买按钮完全不渲染,用户看到的是空白区域。
|
||||
|
||||
虽然页面上方有 Wrong Network 警告 Banner,但购买按钮区域是空的,
|
||||
用户不知道切换网络后会出现购买按钮,体验极差。
|
||||
|
||||
## 修复方案
|
||||
|
||||
### 修复代码
|
||||
```tsx
|
||||
{!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
|
||||
|
||||
## 部署步骤
|
||||
1. 修改 client/src/pages/Home.tsx 第 498 行
|
||||
2. 执行 pnpm run build 重新构建
|
||||
3. 删除 dist/public/__manus__ 目录(中国用户无法访问)
|
||||
4. PM2 重启: pm2 restart nac-presale-test
|
||||
5. 验证: 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
|
||||
Loading…
Reference in New Issue