🏠 首页
Home◈ NovaCoin
🔥 热门币种
查看全部 ›📢 公告
更多 ›📋 首页 — 产品需求文档 (PRD)
页面编号:P001 | 版本:v2.0 | 负责人:产品经理 | 更新日期:2026-04-15
1. 页面定位与目标
首页是用户启动 App 后的第一个触达页面,承担三大核心职能:流量分发(将用户高效导向交易、理财、行情等核心功能)、信息触达(公告、活动、安全提醒等实时推送)、活动推广(运营 Banner 位推动用户参与注册奖励、交易竞赛等活动)。
核心指标(KPI):首页到交易页的转化率 ≥ 15%;首页到行情页的点击率 ≥ 25%;Banner CTR ≥ 3.5%;首页平均停留时长 ≤ 8s(高效分发)。
🧱 2. 模块拆解与功能说明
2.1 顶部导航栏
- Logo 区域 — 展示品牌 Logo + 名称,点击回到首页顶部;Logo 旁可选展示网络状态指示器(绿色=WebSocket 正常连接)
- 搜索入口 — 点击后以 Overlay 形式展开搜索页(非跳转新页面),搜索框自动获取焦点并弹起键盘。支持三种搜索类型:币种名称(BTC/Bitcoin)、交易对(BTC/USDT)、功能关键词(充值/提现/KYC)。搜索结果采用联想下拉列表,最多展示 10 条,按关联度 + 24H 成交量排序
- 通知铃铛 — 右上角通知图标,有未读消息时显示红色角标(数字≤99 显示具体数字,>99 显示"99+")。点击弹出消息中心 Overlay。消息分为系统公告、交易通知、安全提醒、活动推送四类
2.2 Banner 运营位
- 支持 1~5 张轮播图配置,每张图可独立设置跳转链接(内部页面路由 / H5 活动 URL / 外部浏览器打开)
- 轮播间隔 3 秒,支持左右手势滑动切换,底部展示圆点指示器
- 运营后台(CMS)可设置 Banner 的上线/下线时间、展示优先级、目标用户分群(新用户/老用户/VIP 用户)
- 图片规格:750×320px,支持 JPG/PNG/WebP,文件大小 ≤ 200KB,需要 CDN 缓存
- 埋点要求:记录每张 Banner 的曝光次数(impression)、点击次数(click)、点击后转化率
2.3 快捷功能区
- 展示 5 个快捷入口图标,默认为:充值、提现、闪兑、邀请好友、更多
- 运营后台可动态配置图标名称、图标素材、跳转链接、排序权重、上下线状态
- 「更多」入口展开完整功能面板(9 宫格),包含:充值/提现/闪兑/邀请/API管理/帮助中心/安全设置/反馈/公告
- 交互细节:图标 hover 时上浮 2px + 边框高亮为主题金色
2.4 行情快览卡片
- 横向滚动卡片组,展示运营推荐或涨幅 Top 3 的币种
- 每张卡片展示:币种名称 + 代号、最新价格(USDT 计价)、24H 涨跌幅(绿涨红跌)
- 数据来源:WebSocket 实时推送,每秒更新价格数字(带闪烁动画提示价格变化方向)
- 点击任意卡片跳转至该币种的详情页
2.5 热门币种列表
- 展示 4~6 行币种行情,每行包含:币种图标、名称/全称、最新价、24H涨跌幅标签
- 右上角「查看全部 ›」跳转行情页
- 点击任意币种行跳转币种详情页
- 列表数据来源支持两种模式:运营手动推荐模式 / 算法自动排序模式(按24H成交额排序)
2.6 公告区
- 拉取公告中心最新 3 条公告,展示标题 + 发布日期
- 右上角「更多 ›」跳转公告列表页
- 点击单条公告跳转公告详情(H5 渲染的富文本内容页)
- 公告类型:上新公告、系统维护、安全提醒、活动通知,不同类型前缀不同图标
⚙️ 3. 交互规则与跳转矩阵
| 交互元素 | 触发方式 | 交互行为 | 跳转目标 |
|---|---|---|---|
| 搜索栏 | 点击(Tap) | 弹出搜索 Overlay,键盘自动弹起 | → 搜索 Overlay |
| 🔔 通知铃铛 | 点击 | 弹出通知列表 Overlay | → 消息中心 Overlay |
| Banner | 点击 / 左右滑动 | 点击跳转配置链接;滑动切换 | → 活动 H5 / 内部页面 |
| 快捷入口图标 | 点击 | 跳转对应功能页面 | → 充值/提现/闪兑等 |
| 行情快览卡片 | 点击 / 横滑 | 点击跳转详情;横滑查看更多 | → 币种详情页 |
| 热门币种行 | 点击 | 整行可点,跳转币种详情 | → 币种详情页 |
| 公告行 | 点击 | 跳转公告详情 | → 公告 H5 详情 |
| 底部 Tab 栏 | 点击 | 切换一级 Tab 页面 | → 行情/交易/理财/资产 |
| 页面整体 | 下拉手势 | 触发下拉刷新(刷新行情+公告) | — |
📐 4. UI 规范与数据埋点
UI 规范:
- 页面背景色:#06090F;卡片背景:#111827;边框色:#1A2235
- 字体层级:页面标题 15px Bold / 卡片标题 11.5px SemiBold / 正文 11px Regular / 辅助文字 9px
- 间距规范:模块间距 12px;卡片内边距 12px;列表项行高 42px
- 涨跌色规范:涨 = #0ECB81(绿)+ 背景 rgba(14,203,129,0.1);跌 = #F6465D(红)+ 背景 rgba(246,70,93,0.1)
埋点清单:
| 事件名 | 触发时机 | 参数 |
|---|---|---|
| home_page_view | 页面曝光 | user_id, timestamp |
| banner_click | 点击 Banner | banner_id, position, url |
| quick_action_click | 点击快捷入口 | action_name |
| hot_coin_click | 点击热门币种 | symbol, rank |
| announcement_click | 点击公告 | announcement_id |
| search_trigger | 点击搜索框 | source: home |
📊 行情
Markets行情
📋 行情 — 产品需求文档 (PRD)
页面编号:P002 | 版本:v2.0 | 负责人:产品经理 | 更新日期:2026-04-15
1. 页面定位与目标
行情页是用户了解全市场动态的核心页面,提供全币种实时行情数据、多维度排序筛选能力以及自选收藏功能。通过高效的信息密度帮助用户快速做出交易决策。
核心指标:行情页到交易页转化率 ≥ 20%;自选列表使用率 ≥ 35%;页面首屏加载 ≤ 1.5s;WebSocket 推送延迟 ≤ 200ms。
🧱 2. 模块拆解
2.1 分区 Tab 栏
- ⭐ 自选 — 用户手动收藏的币种列表,登录后可跨设备同步;空状态引导用户添加自选;支持拖拽排序
- USDT 区 — 所有以 USDT 为计价货币的交易对,默认按 24H 成交额降序排列
- BTC 区 — 所有以 BTC 为计价货币的交易对
- 新币 — 近 30 天内新上线的交易对,带 "NEW" 角标,按上线时间倒序
- Tab 栏支持运营后台动态配置:可增减 Tab、调整顺序、控制新币区的时间窗口
2.2 行情列表
- 每行展示:币种图标 + 名称/交易对 + 24H成交量(文字标注)+ 迷你 K 线缩略图 + 最新价 + 24H涨跌幅标签
- 迷你 K 线:取最近 24H 的 1 分钟 K 线数据,生成 14 根柱状缩略图,涨为绿色,跌为红色
- 价格闪烁动画:当 WebSocket 推送新价格时,若价格上涨则数字短暂闪绿,下跌闪红(duration: 300ms)
- 24H涨跌幅标签:正数绿底绿字(+X.XX%)、负数红底红字(-X.XX%),保留两位小数
2.3 排序功能
- 点击表头可按以下字段排序:名称(A-Z / Z-A)、最新价(高→低 / 低→高)、24H涨跌幅(高→低 / 低→高)
- 排序状态以 ↕ / ↑ / ↓ 图标指示,每次点击循环切换三态
- 默认排序:24H 成交额降序(最活跃的交易对靠前)
2.4 自选功能
- 长按币种行弹出操作菜单,可选择「添加自选」或「移出自选」
- 也可在币种详情页通过 ☆/★ 图标操作
- 自选列表需登录后使用,未登录时引导登录
- 自选数据通过 API 持久化存储,支持跨设备同步
📡 3. 数据规格与技术方案
| 数据字段 | 数据源 | 协议 | 刷新频率 | 容错策略 |
|---|---|---|---|---|
| 最新价 | 撮合引擎 | WebSocket | 实时(≤100ms) | 断线重连 + 3s REST 兜底轮询 |
| 24H 涨跌幅 | 行情服务 | WS + REST | 5s 推送 | REST 兜底 |
| 24H 成交量 | 行情服务 | WebSocket | 实时 | 同上 |
| 迷你 K 线 | K线服务 | REST API | 1min 粒度 | 缓存最近数据,异步刷新 |
| 自选列表 | 用户服务 | REST API | 登录时拉取 | 本地缓存 + 服务端同步 |
性能优化策略:
- 列表使用虚拟滚动(Virtual List),仅渲染可视区域内的行,支持 500+ 交易对无卡顿
- WebSocket 消息合并:100ms 内的多条更新合并为一次 DOM 刷新,避免频繁重绘
- 迷你 K 线使用 Canvas 绘制(非 SVG),降低 DOM 节点数量
- 图片资源(币种图标)使用 CDN + 本地缓存,首次加载后不再请求
📐 4. 埋点与异常处理
| 事件名 | 触发 | 参数 |
|---|---|---|
| market_tab_switch | 切换分区 | tab_name |
| market_sort | 点击排序 | field, direction |
| market_coin_click | 点击币种 | symbol, position |
| market_favorite_add | 添加自选 | symbol |
| market_search | 点击搜索 | source: market |
异常场景:WebSocket 断连 → 顶部展示黄色"网络异常"提示条 + 自动重连(指数退避,最大间隔30s);数据加载失败 → 展示骨架屏 + "加载失败,点击重试";行情列表为空 → 展示空状态插图 + "暂无交易对"
⚡ 交易
Trade📋 交易 — 产品需求文档 (PRD)
页面编号:P003 | 版本:v2.0 | 负责人:产品经理 | 更新日期:2026-04-15
1. 页面定位
交易页是平台核心变现页面,用户在此完成现货资产的买入和卖出操作。页面设计需在「信息密度」和「操作便捷性」之间取得平衡:专业用户需要深度图、K线指标等决策工具,新手用户需要简洁清晰的下单流程。
核心指标:下单完成率 ≥ 85%;下单到成交平均延迟 ≤ 50ms;页面崩溃率 ≤ 0.01%;用户满意度 NPS ≥ 60。
🧱 2. 模块拆解
2.1 交易对选择器
- 顶部显示当前交易对名称 + 24H涨跌幅标签,点击名称弹出交易对选择浮层
- 选择浮层支持搜索 + 分区 Tab(自选/USDT/BTC),复用行情列表组件
- 右侧显示两个快捷图标:📊 跳转币种详情页查看完整图表、📋 跳转委托记录页
- ← 返回按钮返回上一页面(行情页或币种详情页)
2.2 K 线图表区
- 支持 7 档时间粒度:分时(tick)、1m、5m、15m、1H、4H、1D
- 默认展示 15m 粒度,用户可点击时间标签切换
- 图表功能:缩放(双指捏合)、平移(拖拽)、十字线(长按显示精确价格和时间)
- 技术指标:默认显示 MA(7) + MA(25),可在设置中开启 EMA、BOLL、MACD、RSI、KDJ 等
- 右上角 ⤢ 按钮进入全屏横屏模式,提供更大的图表分析空间
- 图表底部显示成交量柱状图,涨绿跌红
2.3 盘口深度区
- 左侧卖盘(Ask),右侧买盘(Bid),各展示 5 档价格深度
- 每档显示价格 + 数量 + 累计量背景条(以最大累计量为 100% 标准化)
- 交互关键:点击盘口任意一档价格,自动将该价格填充至下单区的价格输入框
- 数据通过 WebSocket 实时推送,采用增量更新策略(depth_update 事件),降低带宽消耗
- 盘口中央展示最新成交价(大字号),带涨跌方向箭头
2.4 下单表单区
- 买入/卖出 Tab — 切换买入(绿色主题)和卖出(红色主题)模式,切换时按钮颜色、可用余额币种随之变化
- 委托类型 — 限价(默认)/ 市价 / 止盈止损三种委托方式:
• 限价单:用户设定价格和数量,撮合引擎在达到目标价时执行
• 市价单:隐藏价格输入框,仅需输入数量或金额,以当前最优价格立即成交
• 止盈止损:设置触发价 + 委托价 + 数量,触发价达到时自动挂出限价单 - 价格输入框 — 默认填充最新市价,支持手动输入;带 +/- 步进按钮(步进值 = 价格精度单位)
- 数量输入框 — 输入买入/卖出数量;实时显示预估金额(= 价格 × 数量)
- 百分比滑块 — 0% / 25% / 50% / 75% / 100% 快捷设置仓位比例(基于可用余额计算)
- 可用余额 — 显示当前交易方向的可用余额(买入显示 USDT 余额,卖出显示币种余额)
- 提交按钮 — 买入为绿色「买入 XXX」、卖出为红色「卖出 XXX」
🔐 3. 风控规则
| 规则项 | 规则描述 | 触发行为 |
|---|---|---|
| 最小下单量 | BTC: 0.0001 / ETH: 0.001 / USDT: 1 | 低于最小量时按钮置灰 + 提示 |
| 价格偏离保护 | 限价单价格偏离市价 ±10% | 弹窗二次确认:"当前价格偏离较大,确认下单?" |
| 频率限制 | 同一交易对 10 次/秒,所有交易对 50 次/秒 | 超出频率返回 429 + Toast 提示 |
| 未成交自动撤单 | 限价单 7 天未成交 | 系统自动撤单 + 推送通知 |
| 余额不足 | 可用余额 < 委托所需金额 | 按钮置灰 + 提示"余额不足" |
| 市价单滑点保护 | 市价单实际成交价偏离基准价 ±5% | 剩余部分自动撤单,避免极端滑点 |
📐 4. 下单流程与状态机
下单状态流转:
用户输入 → 前端校验(格式/余额/精度)→ 提交 API
→ PENDING(已提交)→ 撮合引擎接收
→ OPEN(挂单中)→ 等待对手盘匹配
→ FILLED(全部成交)/ PARTIAL(部分成交)
→ CANCELLED(用户撤单 / 系统自动撤单 / 超时撤单)
成交通知:订单状态变更通过 WebSocket order@{uid} 频道实时推送至前端,前端收到后更新持仓数据并弹出 Toast 提示(如 "✅ BTC 买单已成交 0.05 BTC @ 68,420")。
💰 理财
Earn理财
📋 理财 — 产品需求文档 (PRD)
页面编号:P004 | 版本:v2.0 | 负责人:产品经理 | 更新日期:2026-04-15
1. 页面定位
理财页是平台增值服务的核心入口,面向「持币生息」需求的用户,提供活期、定期、结构化、Staking 四大类理财产品。目标是提升用户资产留存率,降低资产外流。
核心指标:理财页 UV 到申购转化率 ≥ 12%;理财 AUM(管理资产规模)月环比增长 ≥ 8%;产品售罄率 ≥ 70%;用户次日留存率(申购后)≥ 85%。
🧱 2. 模块拆解
2.1 理财资产概览卡片
- 顶部深色渐变卡片,展示用户理财账户总资产(USDT 估值)
- 下方两组数据:累计总收益(自注册以来的所有理财收益之和)+ 昨日收益(前一日结算收益)
- 点击卡片跳转「我的理财持仓」列表页,展示每笔申购的详细信息
- 右上角「📋 持仓」按钮也可跳转持仓页
- 未登录状态:隐藏金额,显示"登录查看收益"
2.2 产品分类 Tab
- 活期 — 随存随取,收益按日结算,T+0 赎回到账。适合流动性需求高的用户。利率浮动,由市场供需决定
- 定期 — 固定锁仓期(7天/14天/30天/90天),利率固定且通常高于活期。到期自动赎回至现货账户。提前赎回需支付违约金(扣除已获收益的 50%)
- 结构化 — 双币赢、鲨鱼鳍等挂钩标的资产价格的结构化产品。高收益伴随高风险,收益取决于到期日标的价格与行权价的关系。需通过风险测评 ≥ C3 级别方可申购
- Staking — 链上 PoS 质押挖矿,由平台代为节点运维。收益来源于链上出块奖励。赎回周期取决于链上解质押期(通常 T+3~T+21 不等)
2.3 产品卡片
- 每个产品卡片展示:产品名称 + 标签(热门/新品/稳定/高收益)+ 年化收益率(APY,大号绿色数字)+ 申购进度条 + 底部三列信息(起投金额/期限/已申购比例)
- 进度条配色逻辑:< 50% 金色(充裕)、50%~80% 绿色(正常)、> 80% 红色(即将售罄)
- 产品标签由运营后台配置,每个产品最多 1 个标签
- 点击产品卡片跳转理财申购详情页
- 售罄产品:进度条 100% + 按钮变为灰色「已售罄」+ 支持"到货提醒"订阅
⚠️ 3. 风险管理体系
| 产品类型 | 风险等级 | 风险测评要求 | 信息披露 | 赎回约束 |
|---|---|---|---|---|
| 活期 | R1 低风险 | 无需测评 | 标准风险提示 | T+0 随时赎回 |
| 定期 | R2 低-中风险 | 无需测评 | 锁仓期说明 + 提前赎回条款 | 到期自动赎回 |
| 结构化 | R4 中-高风险 | 必须通过 C3 级风险测评 | 产品要素表 + 收益计算示例 + 最大亏损说明 | 到期结算,不可提前赎回 |
| Staking | R3 中风险 | 首次申购需确认链上风险 | 链上 Slash 风险说明 + 节点运维说明 | T+3~T+21(链上等待期) |
风险测评规则:用户首次申购 R3 及以上产品时触发风险测评问卷(10 道选择题,覆盖投资经验、风险偏好、收入水平等维度)。测评结果分为 C1~C5 五个等级,有效期 1 年。C1 仅可购买 R1 产品,C3 可购买 R1~R4 产品。
💹 4. 收益计算公式
活期:每日收益 = 持有本金 × (APY / 365)
定期:到期收益 = 本金 × APY × (锁仓天数 / 365)
双币赢:
若到期价 ≥ 行权价 → 收益 = 本金 × (1 + APY × 天数/365),以 BTC 结算
若到期价 < 行权价 → 收益 = 本金 × (1 + APY × 天数/365),以 USDT 结算
Staking:收益 = 质押数量 × 链上实际年化 × (质押天数 / 365)
👛 资产
Assets资产
📋 资产 — 产品需求文档 (PRD)
页面编号:P005 | 版本:v2.0 | 负责人:产品经理 | 更新日期:2026-04-15
1. 页面定位
资产页是用户的资产管理中心,整合现货、理财、合约三大账户的资产信息,提供充值/提现/划转等资金操作入口。需确保数据准确、安全操作便捷。
核心指标:资产页到充值转化率 ≥ 10%;资产数据加载 ≤ 1s;金额隐藏功能使用率监控;用户资产查询满意度 ≥ 90%。
🧱 2. 模块拆解
2.1 总资产概览
- 居中展示总资产估值(以 USDT 为基准),下方展示法币估值(根据用户所在地区自动选择 CNY/USD/EUR 等)
- 👁 眼睛图标:点击切换金额显隐。隐藏模式下所有金额显示为 "****",同时使用 CSS filter: blur(8px) 实现视觉模糊效果。隐藏状态存储在本地,下次进入页面保持上次状态
- 资产估值下方展示今日盈亏:盈亏金额 + 盈亏百分比(绿涨红跌),计算方式 = 当前总资产 - 0点时总资产快照
- 总资产 = 现货账户资产 + 理财账户资产 + 合约账户资产(各按最新市价折算为 USDT)
2.2 操作按钮组
- 充值(金色主按钮)— 跳转充值页面,默认选中 USDT
- 提现(描边按钮)— 跳转提现页面,需已完成 KYC L1 认证
- 划转(描边按钮)— 弹出划转浮层,支持现货⇄理财⇄合约账户间即时划转(无手续费、无需验证)
2.3 账户 Tab
- 现货账户 / 理财账户 / 合约账户三个 Tab 切换
- 每个 Tab 下展示该账户的持仓列表,按持有价值降序排列
- 理财 Tab 下展示各产品的持仓明细(产品名+本金+累计收益)
- 合约 Tab v1.0 暂不可用,显示 "即将推出" 状态
2.4 持仓列表
- 每行展示:币种图标 + 名称/全称 + 持有数量 + USDT 估值
- 「隐藏小额」开关:开启后隐藏 USDT 估值 < 1 的币种(减少列表冗余)
- 点击任意币种行跳转该币种详情页(可查看行情、交易)
- 列表为空时展示引导:现货空 → "去充值";理财空 → "去理财"
🔒 3. 安全验证矩阵
| 操作 | KYC 要求 | 安全验证 | 审核 | 限额 |
|---|---|---|---|---|
| 查看资产 | 无 | 登录即可 | — | — |
| 充值 | L1 | 无额外验证 | — | 无限额 |
| 提现(白名单地址) | L1 | Google 2FA | 无 | L1: ≤2BTC/日, L2: ≤100BTC/日 |
| 提现(新地址) | L2 | Google 2FA + 邮箱验证码 | 24h 人工审核 | 同上 |
| 内部划转 | 无 | 无额外验证 | — | 无限额 |
| 修改密码 | — | 原密码 + 邮箱验证码 | — | — |
📐 4. 资产估值计算规则
- 现货账户估值:Σ (各币种可用余额 + 冻结余额) × 该币种 USDT 最新价
- 理财账户估值:Σ 各产品持仓本金 × 标的币种 USDT 最新价 + 累计未提取收益
- 冻结余额:因挂单锁定的资产,在可用余额和冻结余额中分别展示
- 法币换算:USDT → CNY 汇率取自第三方汇率服务,每 10 分钟更新一次
- 精度规则:USDT 显示 2 位小数;BTC 显示 4 位小数;法币显示 2 位小数
📈 币种详情
二级页面₿BTC/USDT
☆📖 币种简介
Bitcoin 是第一个去中心化的加密货币,由中本聪于 2008 年提出。BTC 使用 SHA-256 共识算法,总量限制为 2100 万枚。
📋 币种详情 — 产品需求文档
页面编号:P006 | 来源页面:首页/行情/资产 | 页面类型:二级详情页
1. 页面定位:币种的全方位信息聚合页,帮助用户做出交易/投资决策。从「看行情」到「下单交易」的关键转化节点。
核心指标:详情页到交易页转化率 ≥ 30%;自选添加率 ≥ 15%。
🧱 2. 模块拆解
- 顶部导航 — ← 返回按钮 + 交易对名称(BTC/USDT)+ 币种图标 + ☆ 收藏按钮。返回目标 = 进入来源页(行情/首页/资产页,由路由栈决定)
- 实时价格区 — 大字号当前价格(1.8rem,绿涨红跌),下方展示 24H 涨跌幅 + 法币估值(≈ ¥XXX)。价格通过 WebSocket 实时更新,变化时有闪烁动画
- K线图表 — 完整交互式图表,支持 7 档时间粒度(1m/5m/15m/1H/4H/1D/1W)。支持缩放、平移、十字线(长按显示)。默认展示 15m 粒度。图表库推荐 TradingView Lightweight Charts
- 24H 统计数据 — 四宫格展示:24H最高价、24H最低价、24H成交量(单位为币种)、24H成交额(USDT 计价)。数据每 5 秒通过 REST API 刷新
- 买入/卖出按钮 — 双按钮并排,买入(绿色)+ 卖出(红色),点击跳转交易页并自动选中当前交易对和对应方向
- 币种简介 — 项目描述文案(50~200字)+ 标签组(市值/流通量/排名/发行时间/官网链接等)。数据来源:CoinGecko API 或自建币种信息库。内容支持运营后台编辑
⚙️ 3. 交互与跳转
| 元素 | 操作 | 行为 |
|---|---|---|
| ← 返回 | 点击 | 返回路由栈上一页 |
| ☆ 收藏 | 点击 | 切换自选状态 + Toast"已添加/已移除" |
| K线时间 | 点击 | 切换图表时间粒度 |
| 买入按钮 | 点击 | 跳转交易页(买入模式) |
| 卖出按钮 | 点击 | 跳转交易页(卖出模式) |
| 页面整体 | 下拉 | 刷新价格 + 统计数据 |
🔍 搜索页
二级页面搜索
取消📋 搜索页 — 产品需求文档
页面编号:P007 | 页面类型:Overlay 浮层 / 独立二级页
1. 功能定位:全局搜索入口,支持用户通过关键词快速定位币种和交易对。需做到"零等待"的即时搜索体验。
🧱 2. 模块拆解
- 搜索框 — 进入搜索页后自动聚焦(autoFocus)+ 弹起软键盘。输入时实时触发联想搜索(debounce 200ms),匹配规则:币种代号(BTC)> 币种全称(Bitcoin)> 交易对(BTC/USDT)。结果列表最多展示 10 条,按 24H 成交额降序排列
- 热门搜索 — 标签云形式展示 8 个热门关键词,数据来源:运营后台手动配置 或 系统自动统计(过去 24H 搜索热度 Top8)。支持右上角 🔄 按钮刷新热门列表
- 最近搜索 — 展示用户最近 5 条搜索历史,每条显示币种图标 + 交易对 + 最新价 + 涨跌幅。数据存储在本地 Storage(未登录)或服务端(已登录)。支持"清空历史"操作
- 涨幅榜 — 搜索框为空时,底部展示当日涨幅 Top3 币种(排名编号 + 名称 + 涨跌幅标签),引导用户发现热门币种
- 搜索结果列表 — 输入关键词后实时展示匹配结果,每行展示:币种图标 + 名称/交易对 + 最新价 + 涨跌幅。点击任意结果跳转币种详情页
- 空结果状态 — 搜索无匹配时展示:"未找到 '{keyword}' 相关币种"+ 引导用户检查拼写或浏览行情页
📐 3. 技术要求
- 搜索接口响应时间 ≤ 100ms(本地索引优先,API 兜底)
- 建议前端维护一份完整的交易对列表缓存(启动时下载),实现纯前端搜索,无需实时请求 API
- 搜索关键词支持大小写无关匹配、首字母匹配、拼音首字母匹配(如输入"btb"容错匹配"BTC")
🔔 消息中心
二级页面消息中心
全部已读📋 消息中心 — 产品需求文档
页面编号:P008 | 页面类型:Overlay / 二级页
功能定位:统一的消息管理中心,聚合所有类型的通知推送,确保用户不错过关键信息(交易成交、充提到账、安全事件等)。
🧱 模块拆解
- 分类 Tab — 全部 / 系统 / 交易 / 活动四个分类。每个 Tab 右上角显示该分类的未读数。「全部」Tab 聚合所有消息按时间倒序排列
- 已读标记 — 未读消息左侧显示金色圆点,已读为灰色圆点。点击消息后自动标记为已读
- 全部已读 — 右上角一键标记所有消息为已读,操作后首页通知红点消失
- 消息卡片 — 每条消息包含:标题(带类型 emoji 前缀)+ 正文摘要(限 2 行,超出省略)+ 时间戳(智能显示:刚刚/X分钟前/X小时前/昨天/日期)
- 消息详情 — 点击消息跳转对应详情:交易通知→委托记录;充提通知→充提记录;系统公告→公告详情H5;安全提醒→安全中心
📡 消息类型与推送规则
| 消息类型 | 触发时机 | 推送渠道 | 示例 |
|---|---|---|---|
| 交易成交 | 委托单状态变更 | App推送 + 站内信 | "买入 0.05 BTC @ 68,420 已成交" |
| 充值到账 | 链上确认数达标 | App推送 + 站内信 | "USDT-TRC20 充值 5,000 已到账" |
| 提现完成 | 提现审核通过+链上确认 | App推送 + 邮件 + 站内信 | "提现 1,000 USDT 已完成" |
| 安全事件 | 异地登录/密码修改/2FA变更 | App推送 + 邮件 + 短信 | "检测到新设备登录" |
| 系统公告 | 运营后台发布 | 站内信 + Banner | "系统升级通知" |
| 活动通知 | 运营后台触发 | App推送 + 站内信 | "邀请好友得奖励" |
推送设置:用户可在设置→通知管理中开关各类推送(App推送/邮件/短信),交易和安全类通知默认开启且不可关闭。
💳 充值 — 步骤 1: 选择币种
Step 1/3选择充值币种
📋 充值·选择币种 — PRD
页面编号:P009-1 | 流程位置:充值流程 Step 1 / 3 | 前置:已登录 + KYC L1
1. 页面定位
充值流程的第一步,用户从全量币种列表中选择要充入的币种。页面需支持快速搜索和热门推荐,帮助用户在 3 秒内完成选择。
核心指标:币种选择页平均停留时长 ≤ 5s;搜索使用率 ≥ 30%;Top4 热门标签覆盖 80% 的选择行为。
🧱 2. 模块拆解
- 顶部导航 — ← 返回资产页 + 标题「选择充值币种」
- 搜索框 — 支持按币种代号(BTC)、全称(Bitcoin)、合约地址模糊搜索。输入时实时联想过滤列表,debounce 150ms。搜索框不自动聚焦(避免挡住热门标签区)
- 热门币种标签 — 展示 4 个最常被充值的币种快捷标签(USDT/BTC/ETH/SOL),运营后台可配置。点击标签直接跳转 Step 2(选择公链)
- 全部币种列表 — 按字母排序展示平台支持充值的所有币种。每行展示:币种图标 + 代号/全称 + 支持的网络数量提示(如"TRC20, ERC20 +2")+ 右箭头。点击跳转 Step 2
- 空搜索状态 — 搜索无匹配时:"未找到该币种"+ 提示"请确认币种是否已上线"
⚙️ 3. 交互规则
| 元素 | 操作 | 行为 |
|---|---|---|
| ← 返回 | 点击 | 返回资产页 |
| 搜索框 | 输入 | 实时过滤币种列表 |
| 热门标签 | 点击 | 跳转 Step 2(该币种的公链选择) |
| 币种行 | 点击 | 跳转 Step 2(该币种的公链选择) |
数据来源:GET /account/supported-coins?type=deposit 接口返回支持充值的币种列表及其可用网络。数据在页面加载时拉取,前端缓存 5 分钟。
🔗 充值 — 步骤 2: 选择公链
Step 2/3选择充值网络
请确认您的转出平台/钱包支持哪个网络,并选择相同的网络进行充值。推荐使用 TRC-20 网络,手续费最低且到账较快。
📋 充值·选择公链 — PRD
页面编号:P009-2 | 流程位置:充值流程 Step 2 / 3 | 前置:Step 1 已选择币种
1. 页面定位
用户在选择币种后,需选择该币种支持的公链网络。此步骤是充值流程中最容易出错的环节(选错网络会导致资产不可找回),因此页面需要强调安全提示并提供清晰的网络差异对比。
核心指标:网络选择正确率 ≥ 99.5%;安全提示阅读率(停留 ≥ 2s)≥ 60%。
🧱 2. 模块拆解
- 币种确认区 — 顶部展示当前选中的币种图标 + 名称 + 提示文案"请选择充值网络",让用户确认币种无误
- 安全警告 — 黄色警告框,置于网络列表之前强制可见。文案:"请确保选择正确的网络,选错网络充入的资产将无法找回"
- 网络选项列表 — 每个网络以卡片形式展示:网络名称 + 推荐标签(手续费最低的标记"推荐",速度最快的标记"快速")+ 到账时间 + 最小充值额 + 网络确认数 + 附加信息(如"Gas费较高")。点击任意网络卡片跳转 Step 3(充值详情页)
- 帮助提示 — 底部展示"如何选择网络?"引导文案,简要说明选择逻辑
⚙️ 3. 网络卡片数据字段
| 字段 | 来源 | 说明 |
|---|---|---|
| 网络名称 | coin_network.name | 如 "TRON (TRC-20)" |
| 推荐标签 | 后台配置 | 基于手续费/速度综合推荐 |
| 到账时间 | coin_network.est_time | 预估时间文案 |
| 最小充值额 | coin_network.min_deposit | 低于此金额不到账 |
| 确认数 | coin_network.confirmations | 链上所需确认区块数 |
| 网络状态 | 实时监控 | 网络拥堵时展示"⚠️ 网络拥堵" |
网络拥堵处理:当某网络平均确认时间超过正常值 3 倍时,该网络卡片展示黄色"⚠️ 当前网络拥堵,到账可能延迟"提示,但不阻止用户选择。
🔄 4. 充值完整流程图
资产页 点击「充值」
→ Step 1 选择币种(搜索/热门/列表)
→ Step 2 选择公链网络(阅读安全提示)
→ Step 3 充值详情(获取地址 + 复制/扫码)
→ 用户在外部钱包发起转账
→ 链上广播 → 等待确认
→ 到账成功 → 推送通知 + 更新余额
📥 充值 — 步骤 3: 充值详情
Step 3/3充值 USDT
📋 记录最近充值
查看全部 ›📋 充值·详情页 — PRD
页面编号:P009-3 | 流程位置:充值流程 Step 3 / 3 | 前置:Step 2 已选择网络
1. 页面定位
充值流程的最终页面,展示用户专属的充值地址和二维码。用户从此页面获取地址后,到外部钱包/平台发起转账。页面需在「地址准确复制」和「安全风险提示」之间取得平衡。
核心指标:地址复制率 ≥ 90%(说明用户明确了操作目标);充值成功率 ≥ 99%(排除用户主观错误)。
🧱 2. 模块拆解
- 币种信息区 — 左侧显示币种图标 + 名称,右侧「更换币种」链接跳回 Step 1
- 网络切换器 — 标签组展示该币种所有支持网络,支持在详情页内直接切换网络(切换时更新地址、二维码、网络信息和安全提示)。当前选中网络高亮显示。切换动画 200ms 渐变过渡
- 充值地址 — 等宽字体展示完整地址。右上角「复制」按钮(蓝/金色高亮),点击复制到剪贴板 + Toast 反馈。地址是用户维度 + 网络维度唯一的(首次生成后固定不变)
- 二维码 — 140×140px QR Code,编码内容 = 充值地址。下方文案"扫描二维码或复制地址进行充值"。长按二维码可保存到相册
- 网络信息面板 — 2×2 网格展示四项关键信息:当前网络名称、预计到账时间、最小充值额、所需确认数。切换网络时数据联动更新
- 安全提示 — 黄色警告框,动态显示当前网络名称。核心警告:① 充错网络不可找回 ② 低于最小金额不到账 ③ 充值地址仅用于该币种该网络
- 最近充值记录 — 展示最近 3 笔该币种的充值记录:金额 + 网络标签 + 状态(确认中/已到账)。确认中状态显示进度(如"18/20")
⚙️ 3. 网络切换交互规则
| 操作 | 行为 | 联动更新 |
|---|---|---|
| 点击其他网络标签 | 切换选中态 | 地址 + QR + 信息面板 + 安全提示文案全部更新 |
| 「更换币种」 | 跳转 Step 1 | 重新选择币种流程 |
| 「复制」按钮 | 复制地址到剪贴板 | Toast "✅ 地址已复制" |
| 长按二维码 | 弹出系统菜单 | 支持保存到相册 |
| 点击充值记录行 | 展开详情 | 显示 TxHash + 确认进度 + 时间 |
📡 4. 数据接口
| 接口 | 方法 | 参数 | 说明 |
|---|---|---|---|
| /account/deposit/address | GET | asset, network | 获取充值地址(首次调用自动生成) |
| /account/deposit/history | GET | asset, limit | 获取充值记录 |
| /account/network/status | GET | network | 查询网络拥堵状态 |
📤 提现 — 步骤 1: 选择币种
Step 1/2选择提现币种
显示全部币种 ›
📋 提现·选择币种 — PRD
页面编号:P010-1 | 流程位置:提现流程 Step 1 / 2 | 前置:已登录 + KYC L1 + 已绑定 2FA
1. 页面定位
提现流程的第一步,展示用户当前持有的所有币种及其可用余额,用户从中选择要提现的币种。与充值选币页不同,提现选币页默认只展示有余额的币种,避免用户选择后发现余额为零的无效操作。
核心指标:选币到详情页转化率 ≥ 95%(用户明确知道要提哪个币);零余额误选率 = 0%。
🧱 2. 模块拆解
- 顶部导航 — ← 返回资产页 + 标题「选择提现币种」
- 搜索框 — 按币种代号/全称搜索,实时过滤列表
- 币种列表 — 默认仅展示余额 > 0 的币种,按 USDT 估值降序排列。每行展示:币种图标 + 名称/全称 + 总余额数量 + 可用余额(绿色文字,排除冻结部分)。右侧 › 箭头指示可点击
- 余额区分 — 总余额 vs 可用余额:总余额 = 可用 + 冻结(因挂单锁定的部分)。只有可用余额可以提现。若可用余额为 0(全部冻结),该行显示灰色 + "全部冻结中"提示
- 「显示全部」入口 — 底部链接"显示全部币种",点击后展示平台支持提现的所有币种(包括余额为 0 的),余额为 0 的行显示"余额: 0"灰色文字
⚙️ 3. 交互规则
| 元素 | 操作 | 行为 |
|---|---|---|
| ← 返回 | 点击 | 返回资产页 |
| 搜索框 | 输入 | 实时过滤(debounce 150ms) |
| 币种行(余额>0) | 点击 | 跳转 Step 2 提现详情页 |
| 币种行(余额=0) | 点击 | Toast "该币种余额为 0,无法提现" |
| 「显示全部」 | 点击 | 切换为显示所有币种列表 |
📐 4. 数据与排序
数据来源:GET /account/balance 接口返回所有币种余额。前端根据 available > 0 过滤展示列表。
排序规则:① USDT 估值降序(最有价值的币种靠前)② 同估值按字母序
冻结说明:冻结余额 = 该币种当前挂单中锁定的数量。例如用户挂了 0.05 BTC 的卖单,则冻结 = 0.05,可用 = 总余额 - 0.05。用户需先撤单才能提现被冻结的部分。
💸 提现 — 步骤 2: 提现详情
Step 2/2提现 USDT
📋 记录最近提现
查看全部 ›📋 提现·详情页 — PRD
页面编号:P010-2 | 流程位置:提现流程 Step 2 / 2 | 前置:Step 1 已选择币种
1. 页面定位
提现流程的核心操作页,用户在此完成地址输入、网络选择、金额填写并提交提现申请。此页面安全性要求最高,需多层防护确保用户资产安全。
核心指标:提现提交成功率 ≥ 90%(排除余额不足的无效操作);地址格式校验拦截率 100%;安全验证通过率 ≥ 95%。
🧱 2. 模块拆解
- 币种信息栏 — 展示当前币种图标+名称+可用余额。右侧「更换」链接跳回 Step 1 重新选币。可用余额实时从缓存读取(不包含冻结部分)
- 网络选择器 — 标签组切换提现网络。选中网络下方实时展示:手续费 + 预计到账时间。不同网络手续费差异较大(如 ERC-20 手续费 10 USDT vs TRC-20 仅 1 USDT),需要醒目展示帮助用户选择最优网络
- 地址输入区 — 三种输入方式:
① 粘贴 — 从剪贴板粘贴地址,粘贴后自动进行格式校验
② 地址簿 — 弹出地址簿浮层,展示历史提现地址(白名单地址标注 ✓),选择后自动填充
③ 扫码 — 调起相机扫描 QR Code,识别后自动填充地址
地址校验规则:根据所选网络验证地址前缀(TRC-20: T开头, ERC-20: 0x开头)+ 长度。校验失败实时提示"地址格式不正确,请确认网络是否匹配" - 金额输入 — 数字键盘输入。「全部」按钮填充最大可提金额(= 可用余额 - 手续费)。底部展示最小/最大可提金额。输入后实时更新下方结算面板
- 结算信息面板 — 2×2 网格实时计算展示:提现金额、手续费、实际到账金额(= 输入 - 手续费)、预计到账时间
- 安全提示 — 蓝色锁图标警告框,说明安全验证规则
- 确认提现按钮 — 金色渐变主按钮。点击触发安全验证流程(弹出验证浮层)
- 最近提现记录 — 展示最近 2 笔提现:金额 + 网络 + 状态(审核中/完成/拒绝)
🔐 3. 安全验证流程
点击「确认提现」
→ 前端校验(地址格式 ✓ + 余额充足 ✓ + 金额 ≥ 最小 ✓)
→ 判断地址是否在白名单
├── 白名单地址
│ → 弹出 2FA 验证浮层 → 输入 6 位 Google 验证码
│ → 验证通过 → 提现立即提交 → 链上转账
└── 新地址
→ 弹出 2FA 验证浮层 → 输入 6 位 Google 验证码
→ 发送邮箱验证码 → 输入邮箱验证码
→ 进入 24h 安全审核 队列
→ 审核通过 → 链上转账 → 推送通知
→ 审核拒绝 → 退款 + 推送拒绝原因
💰 4. 提现费率与限额
| 币种 | 网络 | 手续费 | 最小提现 | L1 限额/日 | L2 限额/日 |
|---|---|---|---|---|---|
| USDT | TRC-20 | 1 USDT | 10 USDT | 10,000 USDT | 1,000,000 USDT |
| USDT | ERC-20 | 10 USDT | 20 USDT | 10,000 USDT | 1,000,000 USDT |
| USDT | BEP-20 | 0.5 USDT | 10 USDT | 10,000 USDT | 1,000,000 USDT |
| BTC | BTC 主网 | 0.0002 BTC | 0.001 BTC | 2 BTC | 100 BTC |
| ETH | ERC-20 | 0.002 ETH | 0.01 ETH | 50 ETH | 5,000 ETH |
| SOL | Solana | 0.01 SOL | 0.1 SOL | 500 SOL | 50,000 SOL |
限额说明:每日限额以 UTC 0:00 为重置时间点。L1 用户每日累计提现不超过对应限额,L2 用户享有更高限额。VIP 用户可申请定制限额。超出限额时提现按钮置灰 + 提示"已达每日提现限额,明日 0:00 UTC 重置"。
🔄 5. 提现完整流程图
资产页 点击「提现」
→ Step 1 选择币种(展示持有余额 > 0 的币种)
→ Step 2 提现详情
├── 选择网络(TRC-20 / ERC-20 / ...)
├── 输入地址(粘贴 / 地址簿 / 扫码)
├── 输入金额(手动 / 全部)
└── 确认提现 → 安全验证
→ PENDING 提现审核中(新地址需 24h)
→ COMPLETED 链上转账完成 → 推送通知
📋 理财申购
二级页面USDT 活期宝
热门📖 产品规则
2. 赎回 T+0 到账,无需等待
3. 收益率为浮动利率,以实际结算为准
4. 平台保留调整利率的权利
📋 理财申购 — 产品需求文档
页面编号:P011 | 前置条件:已登录 + 风险测评(R3及以上产品)
功能定位:理财产品的申购详情页,展示产品完整信息并引导用户完成申购操作。
🧱 模块拆解
- 收益率展示 — 页面视觉焦点,大号绿色数字展示参考年化收益率(APY)。下方标注"参考年化收益率"文案,明确为非保本收益
- 产品参数网格 — 2×3 网格展示关键参数:产品类型、起投金额、计息方式(T+1开始计息)、赎回方式(T+0/到期)、风险等级(R1~R5,配色区分)、已申购比例
- 金额输入区 — 输入申购金额,右侧「全部」按钮填充最大可投金额。底部展示可用余额和最小起投金额。输入后实时计算并展示预计每日收益(= 金额 × APY / 365)
- 产品规则 — 卡片内以编号列表展示:计息起算日、收益发放方式、赎回到账时间、提前赎回条款等
- 风险提示 — 黄色警告框,强制展示风险免责声明。文案参考:"理财非存款,产品存在收益波动风险,过往收益不代表未来表现。请确认已阅读并理解产品规则。"
- 确认申购按钮 — 金色渐变主按钮,点击后弹出确认浮层(展示申购摘要:产品名+金额+预计收益+计息日期),二次确认后调用申购 API
🔄 申购流程状态机
点击「确认申购」
→ 前端校验(余额≥金额, 金额≥起投, 产品未售罄)
→ 弹出确认浮层 → 用户确认
→ 调用 POST /earn/subscribe API
→ PENDING 处理中(扣款 + 锁定)
→ SUCCESS 申购成功 → Toast + 跳转持仓页
→ FAILED 失败(余额不足/售罄/系统异常)→ 退款 + 错误提示
📐 产品参数配置说明
| 参数 | 数据来源 | 更新频率 | 说明 |
|---|---|---|---|
| APY | 理财运营后台 | 每日更新(活期)/ 固定(定期) | 活期为 T-1 日实际结算利率 |
| 已申购比例 | 实时计算 | 实时 | = 已申购额 / 产品总额度 × 100% |
| 起投金额 | 产品配置 | 产品创建时设定 | 不同产品不同 |
| 单用户上限 | 产品配置 | 产品创建时设定 | 防止单用户占满额度 |
📜 委托记录
二级页面委托记录
筛选📋 委托记录 — 产品需求文档
页面编号:P012 | 入口:交易页右上角 📋 / 资产页
功能定位:用户查看和管理所有交易委托的记录页面,覆盖当前挂单、历史委托和成交明细三类数据。
🧱 模块拆解
- 三级 Tab — 当前委托(未成交 + 部分成交的活跃挂单)/ 历史委托(已完结的所有委托:全部成交 + 已撤单)/ 成交明细(每笔实际成交的逐条记录)
- 订单卡片 — 每张订单卡片展示:交易对名称 + 方向标签(买入绿/卖出红)+ 委托类型(限价/市价/止盈止损)+ 委托价格 + 委托数量 + 已成交比例 + 下单时间
- 撤单操作 — 当前委托列表中每个订单右下角显示「撤单」按钮(红色描边),点击弹出确认浮层,确认后调用撤单 API。撤单成功后订单从当前委托移至历史委托
- 筛选功能 — 右上角「筛选」按钮弹出筛选面板:按交易对(全部/指定交易对)、按方向(全部/买入/卖出)、按时间范围(近7天/近30天/近90天/自定义)
- 导出功能 — 历史委托和成交明细支持导出 CSV 文件,包含所有字段(委托时间、交易对、方向、价格、数量、手续费、状态等)
- 空状态 — 无当前委托时:"暂无挂单" + 引导按钮"去交易";无历史记录时:"暂无历史记录"
📐 订单数据字段
| 字段 | 说明 | 格式 |
|---|---|---|
| order_id | 委托单唯一编号 | UUID |
| symbol | 交易对 | BTC/USDT |
| side | 方向 | BUY / SELL |
| type | 委托类型 | LIMIT / MARKET / STOP |
| price | 委托价格 | 市价单为 0 |
| quantity | 委托数量 | 币种精度 |
| filled_qty | 已成交数量 | 实时更新 |
| avg_price | 平均成交价 | 加权平均 |
| fee | 手续费 | Maker 0.1% / Taker 0.15% |
| status | 状态 | OPEN/FILLED/PARTIAL/CANCELLED |
| created_at | 下单时间 | ISO 8601 |
📋 注册 / KYC 流程
Flow📖 注册/KYC 流程说明
注册方式:支持手机号注册(发送 SMS 验证码)和邮箱注册(发送邮件验证码)两种通道。密码要求:8-32 位,必须包含大小写字母 + 数字,建议包含特殊字符。注册时需勾选「用户协议」和「隐私政策」复选框。
第三方登录:支持 Google 和 Apple 快捷登录。首次三方登录自动创建账号,后续需绑定手机号/邮箱以启用充提功能。
KYC 认证体系(双级认证):
| 认证等级 | 所需材料 | 审核方式 | 审核时间 | 充提权限 | 交易权限 |
|---|---|---|---|---|---|
| L1 基础认证 | 真实姓名 + 身份证号 | 自动校验(公安数据库比对) | 即时通过 | 24H提现 ≤ 2 BTC | 全部现货交易 |
| L2 高级认证 | 证件正反面照片 + 手持证件自拍 + 活体人脸识别 | AI 初审 + 人工复审 | 1-24 小时 | 24H提现 ≤ 100 BTC | 全部交易 + 理财 |
支持证件类型:身份证(中国大陆)、护照(全球)、驾驶证(部分地区)。人脸识别接入第三方 eKYC 服务商(如 Jumio / Onfido),活体检测需完成眨眼、张嘴、转头三个动作。
审核拒绝原因(常见):证件照模糊/反光、证件信息与填写不一致、证件已过期、人脸识别未通过(遮挡/光线不足)。拒绝后用户可重新提交,每天最多提交 3 次。
🔄 交易流程
Flow📈 理财流程
Flow📖 产品概述
Doc🎯 1. 产品愿景与使命
NovaCoin Exchange 致力于打造安全、高效、用户友好的数字资产交易平台。以"让每个人都能安全便捷地参与数字经济"为使命,为全球用户提供现货交易、理财收益、资产管理等一站式服务。
核心价值主张:
- 安全第一 — 冷热钱包分离(95%资产冷存储)、多签机制、实时风控引擎、用户资产 1:1 储备证明
- 极速体验 — 撮合引擎延迟 ≤ 1ms,订单响应 ≤ 50ms,99.99% 可用性 SLA
- 合规运营 — 持有多地区牌照,严格 KYC/AML 政策,与 Chainalysis 合作链上监控
- 用户友好 — 新手引导流程、简洁的 UI 设计、7×24 多语言客服支持
👥 2. 目标用户画像
| 用户分层 | 画像特征 | 核心需求 | 产品策略 |
|---|---|---|---|
| 新手投资者 (40%) | 25-40岁,首次接触加密货币,风险偏好低 | 简单购买、理财生息、教程引导 | 闪兑、活期理财、新手任务体系 |
| 活跃交易者 (35%) | 有 1-3 年交易经验,日均交易 3-10 次 | 快速下单、实时行情、技术指标 | 专业交易界面、盘口深度、价格提醒 |
| 专业交易员 (15%) | 全职交易,使用量化策略和 API 接入 | 低延迟、高级图表、API 高频调用 | VIP 手续费折扣、专属 API 限额、1v1客服 |
| 理财用户 (10%) | 持币为主,追求被动收入 | 多样化理财产品、稳定收益、灵活赎回 | 丰富理财产品线、收益排行、到期提醒 |
🏗️ 3. 产品架构
整体采用 5 Tab 主架构:首页(流量分发)→ 行情(数据总览)→ 交易(核心变现)→ 理财(增值服务)→ 资产(账户管理)。
技术栈选型:
- 前端:React Native(iOS/Android 跨端)+ TradingView Lightweight Charts(K线)+ WebSocket 双向实时通信
- 后端:Go 语言微服务架构(撮合引擎/订单服务/行情服务/资产服务/用户服务),gRPC 内部通信
- 撮合引擎:基于红黑树的内存撮合,单交易对 TPS ≥ 100,000,延迟 ≤ 1ms
- 数据存储:PostgreSQL(业务数据)+ Redis(缓存+排行榜)+ Kafka(消息队列)+ ClickHouse(行情数据分析)
- 安全架构:HSM 硬件签名(提现)、WAF + DDoS 防护、全链路 TLS 加密
📅 4. 版本规划路线图
| 版本 | 计划时间 | 核心功能 | 目标指标 |
|---|---|---|---|
| v1.0 MVP | 2026 Q2 | 注册/KYC、现货交易(限价+市价)、充提币、资产管理 | DAU 5,000; 日交易额 $10M |
| v1.5 | 2026 Q3 | 理财产品(活期+定期)、闪兑、邀请返佣系统、价格提醒 | 理财 AUM $5M; 邀请转化率 8% |
| v2.0 | 2026 Q4 | USDT 永续合约、跟单交易、社区动态、深度图 | 合约日交易额 $50M |
| v2.5 | 2027 Q1 | 法币出入金通道(信用卡/银行转账)、NFT 市场、多语言 | 新增 10 个地区用户 |
| v3.0 | 2027 Q2 | 去中心化钱包集成、Web3 DApp 浏览器、DAO 治理 | Web3 功能 MAU 20% |
📊 5. 竞品分析概要
| 维度 | NovaCoin (我们) | 竞品 A (头部) | 竞品 B (中型) |
|---|---|---|---|
| 目标市场 | 全球(重点亚太) | 全球 | 欧美 |
| 核心差异 | 新手友好 + 理财丰富 | 产品全面但复杂 | 合规领先但功能少 |
| 手续费 | Maker 0.08% / Taker 0.1% | 0.1% / 0.1% | 0.16% / 0.26% |
| KYC 速度 | L1即时, L2 ≤24h | 1-3天 | 即时(AI) |
🧩 功能规格
Doc🔐 1. 用户系统 — 功能规格
| 功能 | 详细描述 | 验收标准 | 优先级 |
|---|---|---|---|
| 注册登录 | 手机号/邮箱注册(验证码验证),支持 Google/Apple 第三方 OAuth2.0 登录。密码 8-32 位,含大小写+数字。登录支持密码/验证码/生物识别三种方式 | 注册转化率 ≥ 70%;登录耗时 ≤ 2s | P0 |
| KYC 认证 | L1 实名认证(姓名+证件号,接入公安/身份数据库自动比对)+ L2 高级认证(证件照+活体人脸,接入 Jumio eKYC 服务) | L1 通过率 ≥ 95%;L2 审核 ≤ 24h | P0 |
| 安全中心 | 修改登录密码、绑定/解绑 Google Authenticator 2FA、设置防钓鱼验证码(登录邮件显示用户自设的安全码)、登录设备管理(查看/踢出其他设备)、提现白名单管理 | 2FA 绑定率 ≥ 60% | P0 |
| 消息中心 | 站内信+App推送+邮件+短信四通道推送系统。消息分类:系统公告/交易通知/安全提醒/活动推送。支持按类型开关推送 | 关键通知送达率 ≥ 99.9% | P1 |
| 用户画像与分群 | 基于注册时间、交易频率、资产规模、KYC等级等维度自动分群:新用户/普通/活跃/VIP/鲸鱼。不同分群可配置不同的手续费率、提现限额、专属活动 | 分群准确率 ≥ 90% | P2 |
⚡ 2. 交易系统 — 功能规格
| 功能 | 详细描述 | 验收标准 | 优先级 |
|---|---|---|---|
| 现货交易 | 限价委托(指定价格挂单)、市价委托(立即以最优价成交)、止盈止损委托(触发价到达时自动挂出限价单)。支持 GTC/IOC/FOK 三种有效期策略 | 下单延迟 ≤ 50ms;撮合延迟 ≤ 1ms | P0 |
| K线图表 | 支持 1m/5m/15m/30m/1H/4H/1D/1W/1M 多粒度。内置技术指标:MA/EMA/BOLL/MACD/RSI/KDJ/SAR。支持画线工具(趋势线/水平线/斐波那契)。横屏全屏模式 | 图表渲染 ≤ 500ms;缩放流畅 60fps | P0 |
| 盘口深度 | 买卖各 20 档实时深度。WebSocket 增量推送(100ms 间隔)。可切换合并精度(0.01/0.1/1/10)。深度图(Area Chart)可视化展示买卖力量对比 | 推送延迟 ≤ 200ms | P0 |
| 闪兑 | 一键币币兑换,无需挂单。系统自动计算兑换汇率(= 市价 + 0.5% 滑点),用户确认后立即成交。支持主流币对(BTC⇄USDT, ETH⇄USDT 等) | 兑换耗时 ≤ 1s | P1 |
| 委托管理 | 当前委托列表(支持单笔撤单/一键全撤)、历史委托查询(支持筛选+导出CSV)、成交明细(逐笔记录含手续费) | 查询响应 ≤ 500ms | P0 |
| 价格提醒 | 设置目标价格后,当市价触达时通过 App 推送+站内信提醒。每用户最多设置 50 个提醒,触发后自动删除 | 提醒延迟 ≤ 5s | P1 |
💰 3. 理财系统 — 功能规格
| 产品 | 收益模式 | 赎回方式 | 风控要求 | 优先级 |
|---|---|---|---|---|
| 活期宝 | 浮动利率,按日计息,收益每日 08:00 UTC 发放至理财账户 | T+0 随时赎回,实时到账至现货账户 | 无需风险测评 | P0 |
| 定期锁仓 | 固定利率,到期一次性发放收益 | 到期自动赎回。提前赎回:扣除已获收益的 50% 作为违约金 | 无需测评,需确认锁仓条款 | P1 |
| Staking | 链上 PoS 质押收益,实际利率由链上决定 | T+3~T+21(取决于链上解质押期),赎回期间无收益 | 首次需确认链上风险(Slash/罚没) | P1 |
| 双币赢 | 挂钩 BTC/ETH 价格,到期结算。APY 15%+ 但有本金风险 | 到期自动结算,不可提前赎回 | 必须通过 C3 级风险测评 + 弹窗二次确认 | P2 |
| 鲨鱼鳍 | 设定价格区间,区间内收益增强,区间外保本 + 最低收益 | 到期自动结算 | 必须通过 C3 级风险测评 | P2 |
👛 4. 资产系统 — 功能规格
| 功能 | 详细描述 | 验收标准 | 优先级 |
|---|---|---|---|
| 充值 | 支持 BTC/ETH/USDT/SOL/BNB 等 20+ 主流币种充值。每币种支持多网络(如 USDT: TRC20/ERC20/BEP20/SOL)。链上确认后自动到账 | 到账延迟 ≤ 确认数达标后 30s | P0 |
| 提现 | 地址输入+网络选择+金额填写+安全验证四步流程。白名单地址秒提,新地址 24h 审核。手续费按网络区分 | 提现发起到链上广播 ≤ 10min | P0 |
| 内部划转 | 现货⇄理财⇄合约三账户间即时划转,无手续费、无需安全验证 | 划转即时到账 | P1 |
| 资产报表 | 可视化资产分布(饼图)、收益曲线(折线图)、交易统计(日/周/月维度)。支持导出 PDF 报表 | 图表渲染 ≤ 1s | P2 |
🔗 接口说明
Doc🌐 1. 接口总览与鉴权
架构风格:RESTful API(HTTPS)+ WebSocket(WSS)双协议并行。REST 用于交易操作和数据查询,WebSocket 用于实时行情和订单状态推送。
Base URL: https://api.novacoin.com/v1
WebSocket: wss://ws.novacoin.com/stream
鉴权方式(私有接口):
- 所有私有接口需在请求 Header 中携带 API Key + 签名 + 时间戳
- 签名算法:HMAC-SHA256(secret_key, timestamp + method + path + body)
- 时间戳窗口:±30 秒,超出范围拒绝请求(防重放攻击)
- IP 白名单:可选配置,仅允许白名单 IP 调用 API
请求头示例:
X-NC-APIKEY: your_api_key
X-NC-SIGN: hmac_sha256_signature
X-NC-TIMESTAMP: 1713234567890
Content-Type: application/json
📊 2. 行情接口(公共,无需鉴权)
| 接口 | 方法 | 参数 | 说明 | 频率限制 |
|---|---|---|---|---|
/market/tickers | GET | — | 获取所有交易对 24H 行情快照(最新价/最高/最低/成交量/涨跌幅) | 10次/秒 |
/market/ticker/{symbol} | GET | symbol: BTC-USDT | 获取单个交易对行情详情 | 20次/秒 |
/market/depth | GET | symbol, limit(5/10/20/50) | 获取盘口深度快照,返回 asks + bids 数组,每项含 [price, quantity] | 20次/秒 |
/market/klines | GET | symbol, interval(1m~1M), startTime, endTime, limit(≤1000) | 获取 K 线历史数据,每根 K 线含 open/high/low/close/volume/timestamp | 10次/秒 |
/market/trades | GET | symbol, limit(≤100) | 获取最近成交记录,每条含 price/quantity/side/timestamp | 20次/秒 |
/market/24hr | GET | symbol (可选) | 24H 统计数据:open/high/low/close/volume/quoteVolume/change% | 10次/秒 |
响应格式(统一):
{
"code": 0, // 0=成功, 非0=错误
"msg": "success",
"data": { ... }, // 业务数据
"ts": 1713234567890 // 服务器时间戳
}
⚡ 3. 交易接口(私有,需鉴权)
| 接口 | 方法 | 核心参数 | 说明 | 频率限制 |
|---|---|---|---|---|
/order/create | POST | symbol, side(BUY/SELL), type(LIMIT/MARKET/STOP), price, quantity, stopPrice(止损) | 创建委托单。限价单需传 price+quantity;市价买单传 quoteQty(金额);止损单需传 stopPrice+price+quantity | 10次/秒/交易对 |
/order/cancel | DELETE | order_id | 撤销指定委托单。已成交或已撤销的订单返回错误 | 10次/秒 |
/order/cancel-all | DELETE | symbol (可选) | 一键撤销所有挂单,可选指定交易对 | 1次/秒 |
/order/open | GET | symbol(可选), limit, offset | 查询当前活跃委托列表(OPEN + PARTIAL 状态) | 20次/秒 |
/order/history | GET | symbol, side, startTime, endTime, limit, offset | 查询历史委托(FILLED + CANCELLED 状态),支持分页和筛选 | 10次/秒 |
/order/trades | GET | symbol, order_id(可选), limit | 查询成交明细,每条记录含 price/qty/fee/feeAsset/role(MAKER/TAKER) | 10次/秒 |
👛 4. 资产接口(私有,需鉴权)
| 接口 | 方法 | 参数 | 说明 | 频率限制 |
|---|---|---|---|---|
/account/balance | GET | asset(可选) | 查询账户余额,返回各币种的 available(可用) + frozen(冻结) + total | 20次/秒 |
/account/deposit/address | GET | asset, network | 获取指定币种+网络的充值地址(首次调用自动生成) | 5次/秒 |
/account/deposit/history | GET | asset, status, startTime, endTime | 查询充值记录。status: PENDING(等待确认)/CONFIRMED(已到账) | 10次/秒 |
/account/withdraw | POST | asset, network, address, amount, memo(可选) | 发起提现。需通过安全验证(2FA 验证码通过 Header 传递) | 5次/秒 |
/account/withdraw/history | GET | asset, status | 查询提现记录。status: PENDING/REVIEWING/COMPLETED/REJECTED | 10次/秒 |
/account/transfer | POST | asset, amount, from(SPOT/EARN/FUTURES), to | 内部划转,账户间即时到账 | 10次/秒 |
📡 5. WebSocket 频道详解
| 频道 | 推送频率 | 数据格式 | 说明 |
|---|---|---|---|
ticker@{symbol} | 1s | {symbol, last, high24h, low24h, vol24h, change24h} | 单交易对实时行情摘要 |
depth@{symbol} | 100ms | {asks:[[p,q]...], bids:[[p,q]...], lastUpdateId} | 盘口增量更新。客户端需维护本地 Order Book,接收增量后合并更新 |
trade@{symbol} | 实时 | {id, price, qty, side, ts} | 逐笔成交推送,每笔撮合成交立即推送 |
kline@{symbol}_{interval} | 按粒度 | {open, high, low, close, vol, ts, closed} | K 线实时更新。closed=true 时表示该根 K 线已收盘 |
order@{uid} | 实时 | {orderId, status, filledQty, avgPrice, ts} | 用户订单状态变更推送(私有频道,需鉴权连接) |
balance@{uid} | 实时 | {asset, available, frozen, ts} | 用户余额变更推送(充值到账/成交扣款/划转等触发) |
连接管理:
- 心跳机制:客户端每 30s 发送 ping,服务端回复 pong。60s 未收到 ping 则服务端断开连接
- 订阅方式:连接建立后发送 {"method":"SUBSCRIBE","params":["ticker@BTC-USDT"]} 订阅频道
- 取消订阅:发送 {"method":"UNSUBSCRIBE","params":["ticker@BTC-USDT"]}
- 单连接最多订阅 200 个频道,超出需建立新连接
- 断线重连:客户端应实现指数退避重连(1s→2s→4s→8s→...→30s 封顶)
🚨 6. 错误码速查表
| 错误码 | 含义 | 处理建议 |
|---|---|---|
| 10001 | 签名验证失败 | 检查 API Key/Secret 和签名算法 |
| 10002 | 时间戳超出窗口 | 同步服务器时间(GET /time) |
| 10003 | IP 不在白名单 | 在 API 管理页面添加 IP |
| 20001 | 余额不足 | 检查可用余额 |
| 20002 | 价格精度不合法 | 检查交易对精度规则 |
| 20003 | 低于最小下单量 | 查询交易对最小下单规格 |
| 20004 | 订单不存在或已完结 | 检查 order_id |
| 30001 | 提现地址格式错误 | 核实地址和网络是否匹配 |
| 30002 | 超出每日提现限额 | 提升 KYC 等级 |
| 40001 | 频率限制(429) | 降低请求频率,参考限额表 |
| 50001 | 系统维护中 | 等待维护完成 |