nac-presale/CHANGELOG_20260320_buy_btn_...

2.9 KiB
Raw Permalink Blame History

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

部署步骤

  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