nac-presale/deploy-logs/deploy-20260309-wallet-fix.md

52 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 部署日志 — 钱包连接修复
## 日期
2026-03-09
## 部署目标
修复手机端钱包连接失败问题
## 问题根因
用户在手机 Chrome 浏览器中访问预售页面,手机浏览器不支持 MetaMask 扩展插件,
导致"未检测到 EVM 钱包",且旧版本没有提供 DeepLink 引导。
## 修复内容
### 1. WalletSelector.tsx (v2 → v3)
- 新增移动端浏览器检测 (isMobileBrowser)
- 新增 MobileDeepLinkPanel 组件
- 支持 MetaMask App DeepLink: https://metamask.app.link/dapp/
- 支持 Trust Wallet DeepLink: https://link.trustwallet.com/open_url
- 支持 OKX Wallet DeepLink: okx://wallet/dapp/url
- 支持 TokenPocket DeepLink: tpoutside://pull
- 在钱包 App 内置浏览器中检测到 window.ethereum 时正常显示连接按钮
### 2. useWallet.ts (v2 → v3)
- connect() 函数现在返回 { success: boolean; error?: string }
- 增加 MetaMask 未初始化检测(已安装但未创建/导入钱包)
- 增加中文友好错误提示
### 3. Home.tsx
- NavWalletButton 在手机端直接显示模态框(跳过直接连接尝试)
- 连接失败时通过 toast.error() 显示错误信息
## 构建结果
- 构建成功0 TypeScript 错误
- dist/public/assets/index-*.js 包含 DeepLink 代码
## 服务器状态
- PM2 进程 nac-presale-test (id:8) 已重启,状态 online
- HTTP 200 响应正常
## 测试说明
- 手机端:点击"连接钱包"按钮 → 显示"手机端连接钱包"面板 → 点击钱包 App 按钮 → 在 App 内置浏览器中打开预售页面 → 正常连接钱包
- 桌面端MetaMask 已初始化 → 直接连接;未初始化 → 显示引导提示
## 后台管理员账号
- 宝塔面板: http://43.224.155.27:12/btwest
- 账号: cproot
- 密码: vajngkvf
## 操作人
Manus AI Agent