docs: 添加手动地址模式购买按钮修复日志
This commit is contained in:
parent
5136b590de
commit
de1e816fac
|
|
@ -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<string | null>(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 响应正常
|
||||
Loading…
Reference in New Issue