Files
assetx/webapp/QWEN.md
default 2ee4553b71 init: 初始化 AssetX 项目仓库
包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、
antdesign(管理后台)、landingpage(营销落地页)、
数据库 SQL 和配置文件。
2026-03-27 11:26:43 +00:00

151 lines
5.5 KiB
Markdown

# AssetX Webapp 项目记忆文件
## 项目概述
AssetX 是一个 DeFi 资产管理平台前端,基于 Next.js 15 + React 19 + TypeScript 构建。
## 技术栈
- **框架**: Next.js 15 (App Router)
- **UI库**: React 19, HeroUI, Tailwind CSS
- **Web3**: wagmi, viem, Reown AppKit, MetaMask SDK, Coinbase Wallet SDK, WalletConnect
- **图表**: ECharts
- **动画**: Framer Motion
- **通知**: Sonner
- **包管理**: npm/bun
## 目录结构
```
webapp/
├── app/ # Next.js App Router 页面
│ ├── layout.tsx # 根布局
│ ├── page.tsx # 首页
│ ├── alp/ # ALP (资产流动性池) 模块
│ ├── ecosystem/ # 生态系统页面
│ ├── lending/ # 借贷模块
│ ├── market/ # 市场模块
│ ├── points/ # 积分模块
│ ├── product/ # 产品详情页
│ ├── swap/ # 交易兑换模块
│ └── transparency/ # 透明度页面
├── components/ # React 组件
│ ├── alp/ # ALP 相关组件
│ ├── common/ # 通用组件
│ ├── fundmarket/ # 基金市场组件
│ ├── icons/ # 图标组件
│ ├── layout/ # 布局组件 (Sidebar, TopBar等)
│ ├── lending/ # 借贷相关组件
│ ├── modals/ # 弹窗组件
│ ├── points/ # 积分相关组件
│ ├── product/ # 产品相关组件
│ ├── transparency/ # 透明度组件
│ ├── wallet/ # 钱包组件
│ ├── Providers.tsx # 全局 Provider 包装器
│ └── ResourcePreload.tsx # 资源预加载
├── hooks/ # 自定义 React Hooks
│ ├── useBalance.ts # 余额查询
│ ├── useCollateral.ts # 抵押品操作
│ ├── useContractRegistry.ts # 合约注册表
│ ├── useDeposit.ts # 存款操作
│ ├── useHealthFactor.ts # 健康因子
│ ├── useLendingCollateral.ts # 借贷抵押
│ ├── useLendingSupply.ts # 借贷供应
│ ├── useLendingWithdraw.ts # 借贷提取
│ ├── usePoolDeposit.ts # 池存款
│ ├── usePoolWithdraw.ts # 池提取
│ ├── useSwap.ts # 交换操作
│ ├── useTokenBySymbol.ts # 按符号获取代币
│ ├── useTokenDecimals.ts # 代币精度
│ ├── useTokenList.ts # 代币列表
│ ├── useWalletStatus.ts # 钱包状态
│ └── useWithdraw.ts # 提款操作
├── lib/ # 工具库
│ ├── api/ # API 接口
│ │ ├── contracts.ts # 合约 API
│ │ ├── fundmarket.ts # 基金市场 API
│ │ ├── lending.ts # 借贷 API
│ │ ├── points.ts # 积分 API
│ │ └── tokens.ts # 代币 API
│ ├── contracts/ # 合约相关
│ │ ├── abis/ # 合约 ABI 文件
│ │ │ ├── lendingProxy.json
│ │ │ ├── USDY.json
│ │ │ ├── YT-Token.json
│ │ │ ├── YTAssetFactory.json
│ │ │ ├── YTLPToken.json
│ │ │ ├── YTPoolManager.json
│ │ │ ├── YTPriceFeed.json
│ │ │ ├── YTRewardRouter.json
│ │ │ └── YTVault.json
│ │ ├── index.ts
│ │ └── registry.ts # 动态合约地址注册表
│ ├── wagmi.ts # Wagmi 配置
│ └── buttonStyles.ts # 按钮样式
├── contexts/ # React Context
│ └── AppContext.tsx # 全局应用状态
├── locales/ # 国际化
│ ├── en.json # 英文
│ └── zh.json # 中文
├── public/ # 静态资源
├── scripts/ # 脚本工具
└── logs/ # 日志目录
```
## 支持的区块链网络
- Ethereum Mainnet
- Sepolia (测试网)
- Arbitrum
- Base
- BSC (Binance Smart Chain)
- Arbitrum Sepolia (测试网)
- BSC Testnet
## 核心功能模块
1. **Product** - 产品详情展示 (APY, TVL, 资产概述等)
2. **ALP** - 资产流动性池
3. **Swap** - 代币交换
4. **Lending** - 借贷系统
5. **Transparency** - 透明度/验证
6. **Points** - 积分系统
7. **Ecosystem** - 生态系统
8. **Market** - 市场模块
## 常用命令
```bash
npm run dev # 开发模式 (端口 3010)
npm run build # 构建生产版本
npm start # 启动生产服务器
npm run lint # 代码检查
```
## 钱包支持
- MetaMask
- OKX Wallet
- Trust Wallet
- Coinbase Wallet
- Backpack Wallet
- WalletConnect
## 合约 ABI 文件
项目包含以下智能合约 ABI:
- `YTVault` - 金库合约
- `YTPoolManager` - 池管理合约
- `YTLPToken` - LP 代币合约
- `YT-Token` - YT 代币合约
- `YTAssetFactory` - 资产工厂合约
- `YTPriceFeed` - 价格预言机合约
- `YTRewardRouter` - 奖励路由合约
- `USDY` - USDY 代币合约
- `lendingProxy` - 借贷代理合约
## 开发注意事项
- 使用 App Router (Next.js 15)
- 全局状态通过 `AppContext.tsx` 管理
- Web3 配置在 `lib/wagmi.ts`
- 合约地址支持动态注册 (`lib/contracts/registry.ts`)
- 支持中英文国际化 (`locales/`)