1.6 KiB
1.6 KiB
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
扩展方式
- 真实数据:Positions、Orders、History 对接接口
- 导出:History 支持导出 CSV
- 筛选:按市场、时间、盈亏等筛选