30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
# Wallet.vue
|
||
|
||
**路径**:`src/views/Wallet.vue`
|
||
**路由**:`/wallet`,name: `wallet`
|
||
|
||
## 功能用途
|
||
|
||
钱包页,展示 Portfolio、Profit/Loss、Positions、Open orders、History。支持 Deposit/Withdraw 弹窗、搜索、筛选(如 Close Losses)。
|
||
|
||
## 核心能力
|
||
|
||
- Portfolio 卡片:余额、Deposit/Withdraw 按钮
|
||
- Profit/Loss 卡片:时间范围切换(1D/1W/1M/ALL)、ECharts 资产变化折线图;数据格式为 `[timestamp_ms, pnl][]`,**暂无接口时全部显示为 0**(真实时间轴 + 数值 0),有接口后在此处对接
|
||
- Tab:Positions、Open orders、**History**(历史记录来自 **GET /hr/getHistoryRecordListClient**,`src/api/historyRecord.ts`,需鉴权、按当前用户分页)、Withdrawals(提现记录)
|
||
- **可结算/领取**:未结算项(unsettledItems)由持仓中有 `marketID`、`tokenID` 且 **所属 market.closed=true** 的项组成,用于「领取结算」按钮;不再使用 needClaim 判断
|
||
- Withdrawals:分页列表,状态筛选(全部/审核中/提现成功/审核不通过/提现失败),对接 GET /pmset/getPmSettlementRequestsListClient
|
||
- DepositDialog、WithdrawDialog 组件
|
||
- **401 权限错误**:取消订单等接口失败时,通过 `useAuthError().formatAuthError` 统一提示「请先登录」或「权限不足」
|
||
|
||
## 使用方式
|
||
|
||
- 登录后点击 AppBar 余额或头像菜单进入
|
||
- 路由 `/wallet`
|
||
|
||
## 扩展方式
|
||
|
||
1. **真实数据**:Positions、Orders、History 对接接口
|
||
2. **导出**:History 支持导出 CSV
|
||
3. **筛选**:按市场、时间、盈亏等筛选
|