设计系统
v1.0
深空 · 双金属 · 令牌唯一真源
mt5.email 品牌 UI 系统
面向 MT5 使用公司的券商上线服务商。品牌承诺是「快速布局」——
把白标平台、CRM、邮件通知、支付、合规陪跑拼成一条能走完的路径。
整套视觉建立在一个判断上:这个品类的界面都在撒同一个谎——
用彩色状态标签宣称"一切正常",而运营真正需要知道的是「这件事走到哪一步了、卡在哪」。
设计支点 ①
双金属,各管各的语义
金只表示"人的信任与品牌",青只表示"机器的确定性 / 已送达"。
两者语义不重叠 —— 竞品只有一种颜色,所以他们的"状态"和"品牌"永远在互相稀释。
设计支点 ②
把状态做成路径,不是标签
签名组件「投递轨迹」取代彩色状态点:一笔开户、一封邮件、一次对账,
在这个产品里都是同一种东西 —— 一条要走完的路径。
设计支点 ③
暗色靠表面提亮,不靠阴影
阴影在深底上几乎不可见。层级用「表面提亮 + 1px 发丝边」表达 ——
这是暗色 UI 最常见的做错处。
令牌即契约
组件层只允许引用语义令牌
原始色阶是"颜料",语义令牌是"用途"。组件直接抓颜料的那一刻,换主题、改品牌色、做暗色适配就开始漏 ——
而且漏改的地方不会报错,只会难看。本页下方的对比度全部由浏览器实时计算,不写死在文档里。
品牌标记
几何化的 m 由两条连续笔画构成,笔止于基线("落地");右侧圆点代表送达——
信息抵达的那一刻。m 同时是 mail / MT5 / market 的首字母,
顶部平肩是刻意的:弧顶做成方肩,读起来是"基础设施"而不是"通讯 App"。
使用规范
净空与最小尺寸
- 净空
- 四周 ≥ 小写 m 的 x 高度(15 单位)
- 标记最小尺寸
- 16px 高
- 组合最小尺寸
- 20px 高(再小就只留标记)
- 字标字距
- −0.022em(与标题同阶梯)
做 / 不做
- 深空底用反白标记,金点提亮到 --gold-400
- 单色场景圆点改空心环(形状区分,不靠透明度)
- 拉伸、旋转、加投影、描边、改圆点颜色
- 放在对比度不足的底上(灰底、彩图、渐变)
- 与"MetaTrader / MetaQuotes"标记并置成组合标(商标风险)
色彩系统
五个色族:深空(承载)· 金(品牌 / 人的信任)· 青(系统 / 送达)·
琥珀(到期 / 待办)· 红(退信 / 失败)。
金与青语义不重叠是本系统唯一的颜色纪律。
语义令牌 · 对比度核验(浏览器实时计算)
判据 = WCAG 2.1 对比度。正文 ≥ 4.5:1(AA),大字号 ≥ 3:1。
本表的值由页面实时读取 CSS 令牌算出 —— 改令牌这里会立刻变红,不靠人肉维护文档。
非文字对比 · 组件边界(WCAG 1.4.11 要求 ≥ 3:1)
判据是「识别组件所必需」的视觉信息必须 ≥3:1。输入框、复选框、开关的边框
属于这一类 —— 用细发丝线画输入框在暗底上几乎看不出边界,很多产品栽在这。
非文字对比 · 装饰性分隔(WCAG 豁免)
卡片边界与表行分隔线不属于"识别组件所必需"的视觉信息(容器靠背景色差已可辨识),
因此 WCAG 不要求 3:1。这里列出来是为了说清它为什么可以不达标 ——
⛔ 不是把不达标算成通过。判定阈值写 1.1:1,只用来发现"几乎完全看不见"的退化。
排版
全系统只用两族字:无衬线(Inter / 思源黑体)+ 等宽(JetBrains Mono)。
刻意不引入衬线标题 —— 衬线传达"传承",而本品牌的承诺是"速度"。
语气靠颜色、留白和等宽数据层建立,不靠字体混搭(竞品普遍在混搭,且混得很乱)。
字号阶梯
语义排版
.t-label
账户状态 · 送达率 · 结算周期
小号大写 + 渐变字距(0.085em)。仪表盘的通用语,也是本系统最容易被忽略、但最能拉开差距的细节。
.t-num
1,284,930.55
金额、账号、计数全部走等宽数字(tabular-nums)。理由不是好看 ——
是比例数字会让成列金额左右跳动,运营对账时读错位。
.t-mono
task_01J8F3K2 · 900124 · mt5-gw-04 · 2026-10-16T04:39:08+08:00
任务号 / 账户号 / 主机名 / 时间戳。凡是"要抄下来去别处比对"的东西一律等宽。
.t-body(中文)
开户请求已受理,正在由网关投递至 MT5 主服务器。
中文行高用 1.75 而不是西文的 1.55 —— 汉字没有下伸部,行距不足会整段糊成一块。
字重与字距
字重
400 Regular
500 Medium
600 Semibold
700 Bold
字距
−0.022em 大标题
0 正文
+0.085em 标签
间距 · 圆角 · 层级 · 动效
4px 基准,8px 为节奏单位。圆角刻意偏小(3–20px):
大圆角是消费级 App 的语言,金融后台的语言是紧圆角 —— 紧圆角看起来"精确"。
间距阶梯
圆角
层级:暗色靠表面提亮,不靠阴影
深底上的阴影几乎不可见
用阴影拉开层级是亮色思维。暗色下请用表面提亮 + 发丝边;阴影只留给真正浮起来的元素(模态、吐司、下拉)。
动效
时长
80ms 按下 · 130ms 悬浮 ·
200ms 进场 · 320ms 面板 ·
520ms 载入循环
缓动
cubic-bezier(.2,.8,.2,1) 标准 ·
cubic-bezier(0,.6,.3,1) 进场 ·
cubic-bezier(.4,0,1,1) 退场
⛔ 不用回弹曲线 —— 回弹暗示"不精确",而这是个管钱的产品。
这个页面本身就在遵守 reduced-motion
所有时长令牌在 prefers-reduced-motion: reduce 下降为 1ms,
脉冲点与骨架屏停止动画。请在系统设置里打开「减少动态效果」再回来看这一页。
徽章与状态
状态徽章只表达单点事实(一封信的结局、一个账号的状态)。
一条要走完的路径请用「投递轨迹」 —— 用徽章表达流程是本品类最常见的错误。
语义
已送达
投递中
待确认
已退信
草稿
企业版
启用
主服务器
内置圆点
正在投递
连续 3 次退信
⌘K 命令面板
卡片与指标
邮件送达率
99.2%
近 24 小时 · 退信 7 封
本月结算 企业版
28,400 USD
账期至 11-01
Northgate Markets · 部署
第 12 天 / 预计第 21 天上线
进行中
表格
表头走 小号大写标签,数字列右对齐 + 等宽。行悬浮可点,选中态用低调的金色底,⛔ 不用高饱和蓝。
| 交易账号 | 客户 | 归属品牌 | 初始入金 |
开户通道 | 状态 | 受理时间 |
| 900124 |
Chen Wei |
Northgate Markets |
1,000.00 USD |
门户自助 |
已完成 |
04:21:08 |
| 900125 |
Aisha Rahman |
Northgate Markets |
5,000.00 USD |
IB 推荐 |
建户中 |
04:33:51 |
| 900126 |
Marco Silva |
Northgate Markets |
— |
门户自助 |
待补 KYC |
04:37:12 |
| 900127 |
— |
Northgate Markets |
— |
门户自助 |
邮箱已占用 |
04:38:44 |
反馈
域名验证通过
已在
northgate-fx.com 找到
TXT 记录,证书签发中。
退信率超过 2% 阈值
最近 6 小时 132 封中有 4 封退信,集中在
@qq.com。
查看退信明细
MT5 主连接已断开 3 分钟
建户请求已进入队列并
停止投递(不会重复建户)。恢复后会自动续跑,无需人工干预。
查看队列
合规提醒
你正在使用「混合模式」。切换为 A-Book 前请确认流动性协议已生效 —— 未生效的切换会导致敞口裸露。
吐司
浮层
不可逆操作必须两步确认 + 先说后果,且确认框里要写清"会发生什么",而不是只问"确定吗"。
退信率按最近 6 小时滚动计算
Esc关闭浮层
★ 投递轨迹
签名组件。一笔开户、一封邮件、一次对账、一次 KYC 复核,在这个产品里都是同一种东西:
一条要走完的路径。竞品把它做成一个彩色标签("处理中"),信息量几乎为零 ——
运营看不到走到哪、卡在哪、哪一步退回来了。
失败态不只靠变色
失败节点画成
×,且它之前的连线出现
断口。只用红色(颜色差)会让色觉障碍用户看不出区别 ——
颜色之外必须有第二重形态信号。
客户提交开户
04:21:08门户自助 · 1,000.00 USD
KYC 自动核验通过
04:21:14用时 6.2s · 无人工介入
投递至 MT5 主服务器
04:33:51第 2 次尝试 · 上次超时
账号已建成,但通知没送达。账号不受影响,可单独重发通知,⛔ 不需重跑开户。
空态与加载
空态必须回答「为什么空」+「下一步做什么」。
只画一个插图和"暂无数据",等于把用户丢在原地。加载态用骨架屏而不是转圈 —— 骨架屏能预告版面结构,转圈不能。
还没有发过通知
交易账号建成后,系统会自动给客户发送开户确认邮件。
想先看看长什么样,可以用测试数据发一封。
代码与密钥
服务商产品一定会有 API 和密钥。密钥默认掩码显示,要显式揭示 ——
⛔ 不做"页面一打开就完整可见 + 一个大复制按钮",那是把泄露变成一次误点。
POST /v1/accounts200
# 开户:异步受理,幂等
curl -X POST https://api.mt5.email/v1/accounts \
-H "Authorization: Bearer $MT5E_KEY" \
-d '{"brand":"northgate","name":"Chen Wei",
"email":"chen@example.com","leverage":100,
"currency":"USD"}'
# → {"login":900124,"task_id":"01J8F3K2","idempotent":false}
••••••••••••••••••••••••••••
前缀 mt5e_live_ · 创建于 2026-09-02 · 最近使用 3 分钟前
whsec_7f3a9c21b0d84e6f
用于校验回调真实来源,⛔ 不要放在前端
密钥仅在创建时完整显示一次。之后只能轮换,看不到原文。
数据可视化
图表只承担三件事:趋势、对比、阈值。纯手写 SVG,⛔ 不引图表库 ——
券商后台要快,一个 300KB 的图表库换不来任何这个页面需要的东西。
面积趋势(金)
开户量峰值 184 · 均值 121 · 环比 +12.4%
对比柱 + 阈值线
本月上月
退信率— — 阈值
当前 1.8% · 逼近阈值
无障碍核验
WCAG 2.1 AA 是本系统的下限,不是加分项。下面是可在浏览器里复现的核验清单。
键盘可达
- 全站统一焦点环:2px 金色 + 2px 偏移,⛔ 任何地方都不许 outline:none
- Tab 顺序 = 视觉顺序;模态打开后焦点进入模态并循环,Esc 关闭后焦点回到触发元素
- 行内可点区域用 <button> / <a>,⛔ 不用带 onclick 的 div
触达尺寸
- 所有可点元素高度 ≥ 30px;主操作 ≥ 36px;移动端 ≥ 44px(.btn--lg)
- 复选框视觉 16px,但可点区域由 label 撑满整行
- 表格行的操作按钮用小号,但行高 44px 保证触摸不误触
色觉障碍
- 状态色永不单独承载语义:徽章带圆点 + 文字,轨迹带形状(✓ / × / 空环),图表带图例
- 投递轨迹的失败态用 × 形态 + 连线断口,不只用红色
- 红/绿同时出现的场景(送达率)必须带数值,不靠颜色对比
文字缩放与动效
- 浏览器缩放到 200% 不出现横向滚动条(布局用 minmax(0,1fr) 与 clamp())
- prefers-reduced-motion 下所有时长归零、脉冲与骨架屏停止
- 中文正文行高 1.75,西文 1.55;-webkit-text-size-adjust:100% 防止横屏被放大