xtraderClient/docs/FEATURES.md
2026-02-14 18:59:36 +08:00

5.0 KiB
Raw Blame History

功能实现状态

本文档列出项目中已实现未实现的功能,便于开发与迭代时参考。


已实现功能

认证与用户

功能 说明
钱包登录 (SIWE) 通过 MetaMask 等钱包签名,调用 /base/walletLogin 获取 token存入 userStore
用户信息 getUserInfo 获取头像、昵称等,登录后自动拉取
USDC 余额 getUsdcBalance 获取余额,除以 1_000_000 后展示
登出 清空 token、user移除 localStorage

首页 (Home)

功能 说明
分类 Tab 调用 getPmTagMain 获取分类树,支持三层;接口失败时回退 MOCK_CATEGORY_TREE
事件列表 getPmEventPublic 分页获取,支持 keyword、tagSlug、tagId 等筛选
搜索 关键词搜索、搜索历史localStorage最多 10 条)
下拉刷新 VPullToRefresh 组件
无限滚动 滚动到底部加载更多
列表缓存 切换页面时复用 eventListCache,下拉刷新时清空
单一/多选项卡片 MarketCard 支持 singleYes/No与 multi轮播多选项

交易详情 (TradeDetail)

功能 说明
事件详情 findPmEvent 按 id/slug 获取,需鉴权
分时图 ECharts 渲染,时间粒度 1H/6H/1D/1W/1M/ALL当前为本地生成 mock 数据
交易组件 Buy/Sell、Market 模式、Merge、Split
下单 pmOrderPlace 调用 CLOB 下单接口
Split pmMarketSplit 用 USDC 兑换 Yes+No
Merge pmMarketMerge 合并 Yes+No 得 USDC
移动端适配 底部 Yes/No 栏 + 弹窗交易组件
多市场切换 支持 query.marketId 指定当前 market

钱包 (Wallet)

功能 说明
Portfolio 卡片 展示 userStore.balance
Deposit/Withdraw 弹窗 UI 完整Deposit 展示固定地址与二维码Withdraw 支持金额、网络、目标地址选择
取消订单 pmCancelOrder 调用真实接口,但 Positions/Open orders/History 数据为 mock
Profit/Loss 图表 ECharts 展示,数据为 mock
Positions/Orders/History Tab 表格与移动端列表,数据为 mock
搜索、分页 对 mock 数据生效

事件市场列表 (EventMarkets)

功能 说明
事件详情 findPmEvent 获取,失败时用 getMockEventById 兜底
市场列表 展示该 Event 下多个 Market可点击跳转交易详情

API 层

模块 已实现
request get、post支持 BASE_URL、自定义 headers
event getPmEventPublic、findPmEvent、mapEventItemToCard、缓存
category getPmTagMain、enrichWithIcons、MOCK_CATEGORY_TREE
categoryIcons resolveCategoryIcon、resolveCategoryIconColor
market pmOrderPlace、pmCancelOrder、pmMarketSplit、pmMarketMerge
user getUserInfo、getUsdcBalance、formatUsdcBalance
constants OrderType、Side

其他

功能 说明
路由 6 个页面createWebHistory
Keep-alive Home 页面缓存
多语言 当前中英混用,无 i18n

未实现 / Mock 功能

认证

功能 状态
邮箱密码登录 仅前端校验,无真实 API 调用,直接跳转首页

首页

功能 状态
分类接口失败兜底 使用 MOCK_CATEGORY_TREE非真实数据

交易详情

功能 状态
分时图数据 本地 generateData() 生成随机曲线,未对接 WebSocket 或历史接口
Comments 占位文案 "No comments yet."
Top Holders 占位文案 "Top holders will appear here."
Activity 使用硬编码 mock 数据,未对接交易活动接口

订单簿 (OrderBook)

功能 状态
Asks/Bids 硬编码 mock 数据,定时随机变化模拟
Last/Spread mock
真实订单簿 需对接 CLOB 或 WebSocket

钱包

功能 状态
Positions mock 数据
Open orders mock 数据,取消订单调用真实 API 但列表为 mock
History mock 数据
Profit/Loss 图表 mock 数据
Portfolio 余额 来自 userStore真实非 mock
Deposit 实际充值 仅展示地址与二维码,未对接链上或托管充值
Withdraw 实际提现 仅 UI 流程,未对接提现接口
Close Losses TODO未实现
Export TODO未实现
筛选/排序 部分按钮为占位,未实现逻辑

其他

功能 状态
注册页 路由未配置Login 中链接指向 /register
Limit 单 TradeComponent 有 Limit 选项,下单逻辑以 Market 为主
订单簿点击下单 点击某行价格填入 TradeComponent 未实现

实现优先级建议

  1. 订单簿真实数据、分时图真实数据、Positions/Orders/History 真实接口
  2. Comments、Top Holders、Activity 接口Deposit/Withdraw 实际流程
  3. 邮箱密码登录、注册页、Limit 单完善