# 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. **筛选**:按市场、时间、盈亏等筛选