QX Garage汽修门店数字化系统
UI SPECIFICATION · DESIGN SYSTEM

汽修门店数字化系统 · 界面样式规范

文档编号 QX-UI-2026-001 │ 版本 V1.0 │ 2026-11-08 │ 覆盖 Web 管理端、技师 App、客户小程序、平板与深色主题

适用产品Web 管理端(前台/库管/老板)· 技师安卓 App · 客户微信小程序
屏幕范围360px 手机 → 1920px 一体机 → 车间大屏 / 门店 LED
主题浅色(默认)· 深色 · 4 套品牌主题 · 门店自定义主色
语言简体中文(默认)· 英文 · 预留繁体与越南语
令牌格式CSS 变量 + JSON(Figma Variables / Style Dictionary 双出)
关联文档需求说明书 QX-SRS-2026-001 · 开发设计文档 QX-SDD-2026-001
先回答三个常被问到的问题:
① 平板要做吗 —— 要做,但不做独立平板 App,用响应式加 3 个专属版式(见第 2 章)。
② 深色是反色吗 —— 不是,深色有独立的表面层级与色彩映射(见第 9 章)。
③ 多语言会不会撑破布局 —— 会,按 +30% 文本膨胀预留,按钮与表格列宽都留了余量(见第 11 章)。

1 设计原则

3 秒前台看懂一屏内该做什么
2 次车间常用操作的最大点击次数
48px戴手套也能点中的触控目标
0 次断网时开单的失败次数
原则含义落地约束
一眼看清门店是站着用、边干活边看,信息必须扫读单屏主任务不超过 1 个;字号不小于 12px;关键数字 ≥ 20px 且等宽
单手可达技师一手拿工具、一手点手机主操作放屏幕下半部;底部 44px 操作区;不用悬停下拉
断网可用门店网络是常态性不稳定离线横幅常驻可见;提交失败不丢数据;同步状态有明确反馈
少即是快前台每天重复 50 次的动作要少一步开单默认带出上次项目;常用配件置顶;表单支持回车跳转
一店一面不同门店品牌色不同,但不是重做一套 UI只换品牌色阶与圆角,不改布局与语义色

2 端、断点与布局图

2.1 结论先说

平板要做,理由比“适配一下”更实在:
  • 前台一体机大量是 1366×768 或 1920×1080 的触屏,本质就是大号平板,布局必须能撑开。
  • 车间用 10 寸平板做点检、签字、拍照,比手机看得清、比电脑搬得动。
  • 老板用 iPad 看经营看板,横屏双栏才放得下趋势图与榜单。
  • 连锁总部用 大屏做多店对比,需要 ≥1600 的栅格。
但 不单独做平板 App:安卓平板直接装技师 APK(响应式),iPad 走 Web/H5,一套代码三种版式,维护成本不增加。

2.2 断点定义

代号宽度典型设备栅格导航形态
xs 手机< 600技师安卓机、客户手机4 列 / gutter 16 / 边距 16底部 Tab(≤5 项)
sm 平板竖600 – 899iPad 竖屏、10 寸安卓平板8 列 / gutter 16 / 边距 24底部 Tab + 顶部返回
md 平板横900 – 1199iPad 横屏、前台触屏一体机12 列 / gutter 24 / 边距 24左侧图标栏(72px)
lg 桌面1200 – 1599前台电脑、笔记本12 列 / gutter 24 / 边距 32左侧导航(208px,可折叠)
xl 宽屏≥ 1600一体机、连锁总部大屏12 列 / 最大内容宽 1440 居中左侧导航 + 右侧信息栏

2.3 三种版式

版式示意(灰块为内容区)
平板竖 / 手机:单栏 + 抽屉
列表即主界面;详情全屏推入;筛选放抽屉。
平板横 / 桌面:列表 + 详情双栏
左列表 380–420px 固定,右侧详情自适应;开单时可并排看历史。
界面手机平板竖平板横 / 桌面宽屏
工单列表卡片流卡片流 + 顶部筛选条左列表 + 右详情左列表 + 详情 + 右侧客户信息
接车开单分步(3 步)单页滚动单页两栏(车辆 / 项目)两栏 + 右侧历史工单
经营看板4 张核心卡纵排2×2 卡片4 卡 + 趋势图4 卡 + 趋势 + 技师榜 + 回厂漏斗
配件库存搜索 + 列表列表 + 详情表格(可编辑行)表格 + 右侧库存流水

2.4 全局框架

所有宽屏页面共用一套骨架:顶栏固定 56px,左侧导航 208px(平板横与窄屏收成 72px 图标栏),右侧信息栏 320px(≥1280 才出现)。 内容区最小可用宽度 1024px,低于这个值右栏自动收起。

固定区域(尺寸不随内容变) 自适应区域(栅格内伸缩) 主操作 / 当前选中
QX Garage 工单 · 客户 · 库存 · 报表 宝安店 ▾ 工单 客户 库存 报表 设置 工单列表 状态 ▾ 今天 ▾ 技师 ▾ 搜索 接车开单 工单号车牌状态金额技师 今日待提醒 挂账超期 快捷操作

桌面 1280 及以上:顶栏 56 │ 左导航 208 │ 主内容自适应(最小 720) │ 右栏 320。 右栏放「今天要处理的事」,不放广告和统计图——它是待办的延伸,不是第二个首页。

2.5 典型页面线框

下面 6 张图覆盖门店最高频的几条路径。线框只定区域划分、信息优先级、操作位置,不定义视觉细节;视觉以组件规范为准。

① 工单列表(桌面:列表 + 详情双栏)

工单 › 今日 18 台 筛选:待结算 ▾ RO-0012 粤B·8K2M9待料 · 11:30 承诺 RO-0011 粤B·3F7Q1维修中 · 张师傅 RO-0010 粤B·9L0T5 RO-0009 粤B·2C8W7 RO-0008 粤B·5J1H3 RO-0012 粤B·8K2M9 概览 项目 施工 结算 客户与车辆信息 项目与配件明细(可编辑) 打印接车单 生成报价 去结算

要点:列表 380–420px 固定,右侧自适应;详情用 Tab 分区,避免长滚动;底部操作条吸底,主操作永远在最右。

② 工单列表(手机:卡片流)

9:41       ▮▮▮ 我的工单 搜索车牌 / 工单号 RO-0012 待料 粤B·8K2M9 · 卡罗拉 更换前刹车片 · 已领料 2/3 RO-0011 维修中 粤B·3F7Q1 · 轩逸 四轮定位 · 预计 11:30 RO-0010 已完工 粤B·9L0T5 · 汉兰达 常规保养 · 待结算 + 工单领料 拍照我的

要点:一屏放下 3 张卡;卡片信息固定五行(单号、状态、车、项目、操作),不多不少;新建入口用悬浮按钮,不占底栏。

③ 接车开单(桌面:左填单、右参考)

接车开单 › 新工单 车辆信息 粤B·8K2M9 进厂里程 68,420 油量 1/2 客户描述:怠速抖动,刹车异响 项目与配件 项目数量单价金额 更换机油机滤 机油 5W-30 ×4 前刹车片更换 + 添加项目 / 扫码加配件 合计¥860.00 客户信息 · 回厂 3 次 历史工单(最近 3 条) 上次同项目报价 ¥780 保存并生成报价

要点:左边填单、右边参考历史(这是开单提速的关键,不是装饰);里程与油量是必填三项之一; 合计固定在左下,主按钮固定在右下,填单过程中不随滚动跑掉。

④ 结算收银

结算 › RO-0012 项目数量单价金额 更换机油机滤(工时)80.00 机油 5W-30 ×4380.00 前刹车片 ×1400.00 追加:空调滤芯 ×160.00 应收合计¥920.00 折扣 −60.00  挂账 0.00 实收 ¥860.00 现金 500.00 微信 360.00 收款方式(可组合) 微信 现金 刷卡 挂账 确认收款并交车

要点:左边只读、右边操作;实收金额是整页最大的字;组合支付必须把「还差多少」写清楚; 主按钮文案带动作结果(确认收款并交车),不写“提交”。

⑤ 经营看板(桌面 / 手机)

今日产值¥12,860 进场台次18 客单价¥714 回厂率26% 近 30 天产值趋势 技师产值榜 张师傅 ¥28,400李师傅 ¥19,200 王师傅 ¥12,600赵师傅 ¥ 8,100 到期应回厂 42 台 已提醒 30 台 已回厂 11 台(26%)

桌面:4 张核心卡 + 趋势 + 榜单 + 回厂漏斗

经营看板 今日产值¥12,860 进场台次18 客单价¥714 近 30 天趋势

手机:核心卡纵排,图表下移

要点:手机上第一屏必须看到今日产值与进场台次——这是老板打开系统的唯一目的; 趋势图在手机端只保留折线,去掉坐标轴与图例,点一下看具体数值。

⑥ 车间报工(10 寸平板)

RO-0012 粤B·8K2M9 张师傅 ▾ 更换前刹车片 标准工时 1.5h 已领料 2/3 开始 09:20 预计 11:30 开始计时 施工说明(可选,可语音输入) 已更换左前刹车片,磨损至 2mm 施工照片(至少 1 张) 拍照 相册 已拍 1 张 · 待上传 1 张 完成报工并流转下一台 挂起(待料)

要点:平板横屏两栏(左信息、右拍照),按钮高度 48–56;主按钮宽度占 2/3,戴手套也能一次点中; 「挂起」放在次要位置但同屏可见——车间最常见的异常就是缺料。

2.6 线框的使用规则

规则说明
线框是约束,不是设计稿区域划分、信息层级、操作位置以线框为准;颜色字体图标以组件规范为准,两者冲突时先改线框再改视觉
一个页面只有一个主操作线框里蓝色描边的按钮就是主操作,出现第二个主按钮视为设计缺陷
主操作位置固定桌面在右下、移动端在底部通栏;不因内容多少上下移动
新增区块先问"放在哪一格"不能答出"在内容区第几栏、占几列",就先别加
平板不单独出图同一张线框的两种断点排布(单栏 / 双栏)即可,不为平板做第六张页面
平板两个坑: ① 横竖屏切换必须保留已填内容(开单填到一半转屏不能清空);② 平板有触控无鼠标,不能依赖 hover,所有操作要有点击态。

3 栅格与间距

间距基于 4px 基线,组件内部用 4 的倍数,区块之间用 8 的倍数。所有边距、行高、控件高度都必须是下表中的值,不出现 13、17、23 这类数字。

令牌值用途
space-14px图标与文字、标签内边距
space-28px同行控件间距、卡片内小间距
space-312px表单行间距
space-416px卡片内边距(移动)、栅格 gutter
space-520px卡片内边距(桌面)
space-624px区块间距、页面边距(桌面)
space-832px大区块分隔、页面上下留白
space-1040px空状态上下留白
space-1664px登录页、引导页
12 列栅格(桌面 gutter 24)
常用分栏:8+4(列表+侧栏)、6+6(表单双列)、4+4+4(卡片三列)、9+3(看板+榜单)。

4 色彩与设计令牌

令牌分三层:基础色(不直接用)→ 语义色(界面只用这一层)→ 组件令牌(按钮底色、表格描边等)。 改主题只改基础色与语义色的映射,组件层不动。

4.1 品牌主色阶

brand 50 → 900(钢蓝,工业感、耐脏、与车间光线兼容)
brand-50#EEF6FB
brand-100#D6E9F5
brand-200#AED3EA
brand-300#7FB7DB
brand-400#4F95C6
brand-500#2F76A8
brand-600#245F8A
brand-700#1B4A6D
brand-800#143650
brand-900#0E2637

4.2 语义色(浅色 / 深色两套)

语义用途浅色深色备注
brand主操作、选中、链接#2F76A8#6AA8D6深色提亮约 20%,保证 4.5:1
success已完成、已收款、库存充足#2E7D52#4FB783不与 brand 抢视线
warning待料、挂账超期、离线#B26A12#E0A45A必须配图标,不能只靠颜色
danger删除、欠款逾期、失败#B42318#F07067危险操作需二次确认
info提示、说明#2F76A8#6AA8D6与 brand 同色系,弱化处理

4.3 中性色与表面层级

浅色表面
bg#F5F7F9
surface#FFFFFF
sunken#EEF1F5
line#E3E7EC
text#1F2937
text-2#5B6573
深色表面(注意:不是纯黑)
bg#0E1116
surface#161B22
elevated#1C232C
line#2A323D
text#E6EDF5
text-2#9AA7B8

4.4 令牌代码

/* 语义令牌:界面里只允许用这一层,不直接写 hex */
:root{
  --bg-canvas:#F5F7F9;  --bg-surface:#FFFFFF;  --bg-sunken:#EEF1F5;
  --text-primary:#1F2937; --text-secondary:#5B6573; --text-disabled:#9AA7B8;
  --border-default:#E3E7EC; --border-strong:#CFD6DE;
  --brand:#2F76A8; --brand-hover:#245F8A; --brand-weak:#EEF6FB;
  --success:#2E7D52; --warning:#B26A12; --danger:#B42318; --info:#2F76A8;
}
html[data-theme="dark"]{
  --bg-canvas:#0E1116;  --bg-surface:#161B22;  --bg-sunken:#1C232C;
  --text-primary:#E6EDF5; --text-secondary:#9AA7B8; --text-disabled:#6B7788;
  --border-default:#2A323D; --border-strong:#3A4453;
  --brand:#6AA8D6; --brand-hover:#8DBDE4; --brand-weak:#16222E;
  --success:#4FB783; --warning:#E0A45A; --danger:#F07067; --info:#6AA8D6;
}

5 字体与排版

中文用系统字体(不下载字体包,门店网络不稳定),数字必须等宽,方便对账时对齐。

font-family: "Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
font-feature-settings: "tnum" 1;      /* 金额、数量、车牌强制等宽 */
-webkit-font-smoothing: antialiased;
字号阶梯
30 / 38 · 600本月产值 12.8 万
24 / 32 · 600今日进场 18 台
20 / 28 · 600工单详情
18 / 26 · 500粤B·8K2M9 更换机油机滤
16 / 24 · 400正文强调:客户已确认报价
14 / 22 · 400常规正文,表格内容,表单输入
13 / 20 · 400辅助说明、次要信息
12 / 16 · 400标签、时间戳、最小可读字号
层级字号/行高字重用在哪
Display30/38600看板核心数字、登录页标题
H124/32600页面标题
H220/28600卡片标题、弹窗标题
H318/26500区块标题、列表主信息
Body14/22400正文、表格、表单
Caption12/16400辅助信息、占位符
Number继承600金额/数量:等宽 + 右对齐
两条硬规则:① 正文不小于 12px,车间光线强,12px 以下直接不可读; ② 金额永远右对齐、等宽、两位小数,禁止“12.8万”与“128,000”混用——同一屏内只用一种口径。

6 图标与图片

项目规范
网格24×24,安全区 2px(实绘 20×20)
线宽1.5px,圆角端点;填充图标仅用于选中态
尺寸16(行内)/ 20(按钮)/ 24(导航)/ 32(空状态)
颜色继承 currentColor,不写死颜色
图标库统一用一套线性图标(建议 Lucide),禁止混用多套风格
语义图标不能单独承载状态,必须配文字或 aria-label
车辆照片上传压缩到长边 1280、WebP、≤ 300KB;列表用 4:3 缩略图
门店 Logo正方形 ≥ 256px,深色主题下自动加 1px 描边避免融底

7 组件规范

7.1 按钮

类型
尺寸
移动端通栏主操作
类型使用场景一屏最多规则
Primary页面唯一主操作(保存、结算、确认)1 个同屏出现两个主按钮时,另一个降为 Secondary
Secondary次要操作(存草稿、返回、取消)2 个描边样式,不与主按钮同色块
Ghost低权重(查看、更多)不限仅文字 + 悬停底色
Danger作废、删除、退款1 个必须二次确认;不可作为默认焦点
Disabled条件未满足—必须给出原因(tooltip 或旁注),不能只置灰

7.2 表单

输入后自动带出车辆档案
上次记录 68,420 km
手机号需 11 位
工单已开工,不可改派
  • 标签在输入框上方(不用浮动标签,中文易错位);必填项在标签后加红色 *。
  • 校验时机:失焦校验、提交时汇总;错误文案写在字段下方,说明「怎么改」而不是「错了」。
  • 数字键盘:金额与里程调起 inputmode="decimal",手机号 tel。
  • 长表单按业务分段(车辆 → 项目 → 结算),每段可独立保存。

7.3 状态标签

维修中 待料 已结算 已逾期 草稿
状态必须「颜色 + 文字 + 圆点」三重编码,色盲用户也能分辨。

7.4 表格

工单号车牌状态金额
RO20261108-0012粤B·8K2M9维修中¥860.00
RO20261108-0011粤B·3F7Q1待料¥1,240.00
RO20261107-0087粤B·9L0T5已结算¥460.00
行高 44px(触屏 48px);数字列右对齐等宽;状态列不排序;操作列固定在右侧。
  • 表头吸顶;列宽按内容分配,工单号与车牌不换行。
  • 超过 8 列时把次要列收进「更多」,移动端改卡片流。
  • 空数据必须有「空状态 + 主操作」,不能只显示一片白。

7.5 反馈:提示、空态、加载

✓ 已保存,正在同步…⚠ 3 笔挂账已超 90 天
⚠ 当前网络不可用,开单将保存在本机,联网后自动同步
🔧今天还没有进场车辆
点击右上角「接车开单」开始
类型位置时长规则
轻提示 Toast顶部(移动)/ 右上(桌面)2.5s 自动消失不打断操作;错误提示不自动消失
横幅 Banner内容区顶部常驻离线、只读、欠费三类状态用横幅
弹窗 Dialog居中手动关闭仅用于确认与不可逆操作;移动端用底部抽屉
加载骨架列表/卡片占位—超过 300ms 才显示,避免闪烁
空状态内容区常驻一句说明 + 一个主操作

8 移动端与车间场景

我的工单
RO-0012待料
粤B·8K2M9 · 卡罗拉
更换前刹车片 · 已领料 2/3
RO-0011维修中
粤B·3F7Q1 · 轩逸
四轮定位 · 预计 11:30 完成
工单
领料
拍照
我的
车间场景的硬约束
  • 主按钮 44–48px,手套可点;按钮间距 ≥ 12px。
  • 底部 Tab 不超过 5 项,图标 + 文字,当前项用品牌色。
  • 报工三步内完成:选工单 → 拍照/填工时 → 提交。
  • 拍照自动压缩,弱网先存本地,顶部显示「待上传 2 张」。
  • 不做长按、不做滑动删除(戴手套易误触)。
  • 深色模式在车间强光下更省电、夜间交接班不刺眼。

9 深色模式

深色不是把浅色反色。反色会让品牌色发灰、阴影失效、图片像贴纸。我们采用表面抬升体系:背景越靠上层越亮,用亮度差代替阴影。

规则做法原因
不用纯黑画布 #0E1116,不用 #000纯黑在 OLED 上边缘生硬,滚动拖影明显
不用纯白字正文 #E6EDF5,不用 #FFF纯白在深底上产生光晕,长时间看眼睛累
层级靠表面bg → surface → elevated 三级深色下阴影几乎不可见,用亮度区分层级
品牌色提亮500 → 300 档,饱和度略降深底上原色对比不足,会“糊”在背景里
语义色重取成功/警告/危险各自定义深色值直接复用浅色值会刺眼或对比不足
图片处理亮度 90%、去纯白底避免整屏突然一块白
描边替代阴影1px #2A323D 边框深色下阴影不可见,靠描边分层
跟随系统默认跟随 prefers-color-scheme,可手动覆盖并记忆门店白天/夜间交接班需求不同
深色主题实样(同一套组件,仅换令牌)
维修中 待料 已结算
工单号车牌状态金额
RO20261108-0012粤B·8K2M9维修中¥860.00
RO20261107-0087粤B·9L0T5已结算¥460.00
⚠ 夜间模式已开启 · 车间照明不足时自动切换
深色模式的验收底线:正文对比度 ≥ 4.5:1、控件边界 ≥ 3:1; 所有状态在深色下重新截图走查,不能只验收浅色。

10 多主题

“多主题”分两层:品牌主题(我方预设 4 套)与门店主题(客户自选主色)。两者都只改 brand 色阶与圆角,不动语义色和布局。

4 套品牌主题(只换主色)
钢蓝(默认)
#2F76A8
墨绿
#2C6E63
砖红
#A4462F
石墨
#3F4A56
层级可改不可改生效方式
平台主题品牌色、圆角、Logo语义色、字号、栅格发版时内置
门店主题品牌主色(从预设选或输入 HEX)语义色、布局、圆角上限后台参数,实时生效
深浅模式浅色 / 深色 / 跟随系统—用户偏好,本地记忆

10.1 自定义主色的约束

  • 只让用户选 1 个 HEX,系统按 HSL 自动生成 50–900 色阶(亮度步进 8%),避免用户配出不可用的组合。
  • 主色与白字对比度 ≥ 4.5:1 才允许保存;不达标时提示「偏亮,建议加深」并给出推荐值。
  • 主色不能进入语义色区间(红 / 橙 / 绿),否则会和「危险 / 警告 / 成功」混淆——预检时直接拦截。
  • 深色模式下主色自动提亮 20%,不采用用户原值。

10.2 主题令牌导出

{
  "theme": "steel-blue",
  "color": {
    "brand":  { "500": "#2F76A8", "600": "#245F8A", "weak": "#EEF6FB" },
    "text":   { "primary": "#1F2937", "secondary": "#5B6573" },
    "border": { "default": "#E3E7EC" }
  },
  "radius": { "sm": 4, "md": 8, "lg": 12, "pill": 999 },
  "dark": { "brand": { "500": "#6AA8D6" } }
}

11 多语言

首版做中文 + 英文,架构上支持任意语言。多语言的成本不在翻译,而在布局被撑爆和拼接出来的病句。

规则错误做法正确做法
不拼句子"共" + n + "单"整句做 key:order.count = "共 {n} 单" / "{n} orders"
复数n + " items"ICU:{n, plural, one{# item} other{# items}}
数字/货币手写 ¥ 与千分位Intl.NumberFormat,货币随门店设置
日期2026-11-08 硬编码Intl.DateTimeFormat,存储 UTC,展示按门店时区
文本膨胀按钮按中文字宽定死预留 +30%,按钮最小宽度 88px,允许换行到两行
词序把变量放在句中固定位置用占位符,翻译者可调整顺序
图片文字把说明写进图片文字全部走 i18n,图里只放图标
字体回退只声明一个中文字体中英混排字体栈 + lang 属性,避免英文被中文字体渲染

11.1 key 命名

// 模块.组件.语义,全小写,用点分层,不用拼音
order.status.settled        = "已结算" / "Settled"
order.action.settle         = "确认结算" / "Settle"
order.empty.title           = "今天还没有进场车辆" / "No vehicles today"
order.count                 = "共 {n} 单" / "{n, plural, one{# order} other{# orders}}"
common.unit.km              = "公里" / "km"
error.inventory.insufficient= "库存不足,仅剩 {qty} 件" / "Only {qty} left in stock"

11.2 切换行为

  • 语言切换不刷新页面,未提交的表单内容保留。
  • 数字、日期格式随语言切换,但业务精度不变(金额始终两位小数)。
  • 打印小票、报表导出按当前语言生成,已归档单据不回溯翻译。
  • 客户侧(小程序)默认跟随微信语言,可手动切;技师端跟随系统语言。

12 无障碍

项要求
对比度正文 ≥ 4.5:1;大字(≥18px 或 14px 粗体)与图形边界 ≥ 3:1
触控目标移动 ≥ 44×44;车间(戴手套)≥ 48×48;相邻目标间距 ≥ 8
焦点可见键盘 Tab 有 2px 焦点环,颜色 brand-500,不允许 outline:none
不只靠颜色状态 = 颜色 + 图标 + 文字;图表需有数值标签或表格替代
语义结构正确使用 h1–h3、label、button;图标按钮必须带 aria-label
动态播报提交结果、错误提示用 aria-live,屏幕阅读器可听到
缩放浏览器 200% 缩放不出现横向滚动,不遮挡内容
动效尊重 prefers-reduced-motion,关闭非必要动画

13 动效

场景时长缓动说明
悬停 / 按下120msease-out只改颜色与 1px 位移,不做缩放
弹出层 / 抽屉180mscubic-bezier(.2,.8,.2,1)从触发点方向进入
页面切换240msease-out移动端右进右出,桌面淡入
骨架 → 内容180msease-out淡入,不跳动布局
数值变化300msease-out只用于看板数字,滚动计数

禁止:超过 400ms 的过渡、无意义的弹跳、加载动画超过 2 秒仍无进度提示。

14 交付与走查

14.1 交付物

交付物内容格式
设计文件Tokens / 组件 / 页面模板(Web、App、小程序各一页)Figma,变量与代码同名
令牌包CSS 变量、JSON、SCSS 三份,同源生成Style Dictionary
组件库Vue3 + Element Plus 主题包;uni-app 组件npm 包 + 示例页
走查清单本页 14.2 的 12 条Markdown / 表格

14.2 上线前走查清单

  1. 颜色:界面中是否出现未走令牌的硬编码 hex?
  2. 对比度:正文、按钮文字、禁用态是否达标(含深色)?
  3. 字号:是否存在 <12px 的文字?金额是否等宽右对齐?
  4. 间距:是否都是 4 的倍数?卡片内边距是否统一?
  5. 触控:移动端可点区域是否 ≥44px,车间页 ≥48px?
  6. 状态:加载、空、错误、无权限、离线五种状态是否都设计了?
  7. 表单:错误提示是否说明「怎么改」?必填是否有标记?
  8. 表格:表头是否吸顶?数字列是否右对齐?超 8 列如何处理?
  9. 深色:是否在深色下逐页截图走查过?图片是否需要降亮度?
  10. 多语言:切到英文后按钮、标签、表格是否溢出或截断?
  11. 平板:横竖屏切换后已填内容是否保留?是否误用 hover?
  12. 无障碍:Tab 能否走完全流程?图标按钮是否有 aria-label?
验收口径:样式规范不是“参考文档”,是验收项。上面 12 条里,1、2、5、9、10 五条不通过,界面不予验收。

本文档 V1.0 与需求说明书、开发设计文档同版本发布;令牌变更须同步更新三处代码与 Figma 变量。文档编号 QX-UI-2026-001。

QX Garage · 界面样式规范 V1.0 · 2026-11-08