AI 私厨管家
CONSUMER DESIGN SYSTEM
组件规范
私厨管家 · Design System 1.0

AI 私厨管家
C 端组件规范

从一抹食欲橙,到一套清晰、友好、易用的组件语言。
承接私厨管家品牌,参考 Ant Design,构建面向日常饮食生活的 C 端体验规范。

26 类基础与组件规范默认 / 交互 / 异常状态可操作示例 · 离线可用
组件组合示例Kitchen / Daily plan
私厨管家小厨师

今晚,吃点刚刚好。

为你准备的一人食晚餐计划

均衡搭配少油少盐约 25 分钟
520 kcal一餐能量
32 g蛋白质
3 道推荐菜品
亲切的品牌语言食欲橙 · 暖中性色 · 轻盈留白
统一的组件秩序4 px 基准 · 44 px 常规控件
可感知、可操作清晰焦点 · 文字辅助 · 减少动效
贴近真实业务菜谱 · 饮食记录 · 家庭计划

基础语言

Foundations · 建立稳定、一致的视觉秩序

颜色规范 Color

沿用参考文件最终主题的食欲橙 #F56600、活力橙 #FF9A1F、健康绿 #37B26C 与 AI 蓝 #3A7BFF。

brand → semantic → component
浅色 01–03 · 容器与选中背景品牌 06 · 品牌标记、图形与强调操作 08 · 主按钮与链接深色 09–10 · 高对比内容
AA 文本对比度主按钮采用 #B94700 + 白字(—:1);品牌橙保留于图形与装饰,白色小字不直接置于品牌橙上。

语义优先品牌强调、成功、警告、错误、信息分别使用独立 Token。状态同时用图标与文字表达,避免仅以红绿区分。

文字与边界正文 ≥ 4.5:1,大号文字 ≥ 3:1;关键控件边界用 #958477(白底 3.59:1)。弱分隔线用于非交互内容。

交互色阶主操作默认 #B94700 / 悬停 #A53D00 / 按下 #8F3500;焦点蓝 #3A7BFF,3 px 外环,外偏移 3 px。

字体规范 Typography

以系统无衬线字体为主,中文优先苹方 / 微软雅黑。C 端正文 16 px,信息不靠过多字重区分。

fontSize: 16 · lineHeight: 1.5
层级 / 使用场景字形示例字号 / 行高字重
页面标题 · 一级信息把日常,过成好滋味32 / 44 pxSemibold · 600
模块标题 · 章节入口今天想吃点什么?24 / 34 pxSemibold · 600
卡片标题 · 重点内容为你推荐的均衡晚餐20 / 28 pxSemibold · 600
正文 / 主按钮 · 默认用新鲜食材,照顾每一天的自己。16 / 24 pxRegular · 400 / Medium · 500
次要信息 · 表单标签烹饪约 25 分钟,适合 1–2 人享用。14 / 22 pxRegular · 400
辅助信息 · 时间与说明食材重量以可食用部分计算12 / 18 pxRegular · 400
中文:PingFang SC / Microsoft YaHei  英文:SF Pro / Segoe UI0123456789 · tabular-nums

可读性正文不小于 16 px;12 px 仅限辅助文案。正文行高 1.5–1.75,长文每行约 35–40 个汉字。

层级节制单屏控制在 3–5 个字体层级。标题 600、操作 500、正文 400;避免大面积 700 以上粗体。

溢出与缩放关键标签换行,摘要可省略并提供完整内容;支持系统字体放大。此规范封面 48 px 为文档展示特例。

间距规范 Spacing & Layout

以 4 px 为最小步进、8 px 为主要节奏。相关内容紧凑排列,不同模块保留足够呼吸感。

space: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64
010203040506070809101112

规范画布 1920 px = 导航 248 px + 内容 1672 px;内容左右边距 64 px,可用内容宽 1544 px。

组件内部图标与文字 8 px;标签与输入框 8 px;帮助文案 4–8 px;控件水平内边距 12–16 px。

内容组合表单项之间 24 px;卡片内边距 16–24 px;模块之间 32 px;文档章节间距 48–64 px。

C 端适配业务页面移动端横向边距 16 px、列间距 12 px;平板 24 px、桌面 32 px。1920 px 为规范展示宽度。

圆角规范 Radius

保留参考页面的圆润感,将常规容器收敛为 8 / 12 / 16 px,形成清晰的组件层级。

borderRadius: 12
8 px小按钮 / 标签radius-sm
12 px输入框 / 按钮radius-md
16 px卡片 / 弹出框radius-lg
999 px头像 / 胶囊radius-full

尺寸一致44 / 48 px 按钮和输入框统一 12 px;36 px 小号使用 8 px;圆头像保持正方形容器。

嵌套协调外容器 16 px,内部控件 8–12 px;避免相邻容器使用接近但不同的圆角值。

例外边界底部弹层仅顶部 16 px;全屏页面不加圆角;胶囊用于筛选和强动作,不扩展到所有卡片。

图标尺寸规范 Iconography

使用统一的线性图标,24 × 24 视框、1.5–2 px 描边。图标与文字共享语义色。

icon: 16 / 20 / 24 / 32
16 px行内 / 紧凑按钮
20 px常规表单 / 按钮
24 px导航 / 工具栏
32 px功能入口 / 状态
图形尺寸 ≠ 点击区域
20 px 图标置于至少 44 × 44 px 操作区。移动端主要操作建议 48 × 48 px,并保留相邻间距。

风格统一同一页面不混用线性与实心家族。选中态可用填充强调,但必须保持一致的语义与视觉中心。

无障碍命名纯图标按钮提供 aria-label;装饰图标设 aria-hidden。删除、收藏等操作给出文字或状态反馈。

光学对齐行内图标垂直居中;不同图形适当留白,不强行拉伸。SVG 继承 currentColor,缩放保持描边。

操作与反馈

Actions & Feedback · 每一次触达都有清晰回应

按钮规范 Button

一个区域优先保留一个主动作。按钮名称使用明确动词,持续操作显示加载状态并阻止重复提交。

height: 36 / 44 / 48 px
默认 Default悬停 Hover按下 Active焦点 Focus禁用 Disabled主要按钮次要按钮
L · 48 / 16 px
M · 44 / 16 px
S · 36 / 14 px
胶囊 / 图标间距 8 px
加载中 / 防重复操作

尺寸按钮最小宽 88 px,横向内边距 20 px;全宽主按钮左右各留 16 px。小按钮需扩展触控区至 44 px。

状态默认、悬停、按下、焦点、禁用、加载六态齐全;禁用用原生 disabled,加载用 aria-busy。

文案与反馈优先“保存计划”“加入清单”。异步结束后反馈结果;危险操作使用错误色,并提供确认或撤销。

提示类消息规范 Message · Toast · Alert · Notification

轻反馈不打断任务;需要用户修正的问题就近提示;重要状态保留至用户处理。

duration: 3 s · maxVisible: 3
饮食记录已保存

今天的营养数据已更新。

还缺少一项用餐信息

补充用餐人数后,即可生成计划。

暂时无法保存

请检查网络连接后重试,内容已保留。

营养值仅供日常饮食参考

数据按当前食材重量估算。

全局轻反馈
已加入今日菜单
收藏成功
持久通知 / 局部提醒
本周饮食报告已生成

查看饮食记录,了解本周营养搭配。

通知需有关闭入口;重要错误不自动消失。
页面演示提示为本地模拟,不发送任何数据。

选择类型Message / Toast:短结果;Alert:页面内持续说明;Notification:可稍后处理的跨任务通知。

位置与时间Message 顶部距安全区 24 px;Toast 可居中;普通提示 3 s 消失,同屏最多 3 条。错误提供持久文案。

无障碍普通消息 role=status,紧急失败 role=alert;不抢焦点。提示包含“发生了什么”与“如何继续”。

默认头像规范 Avatar

默认使用中性人物轮廓;昵称与助手身份作为补充。缺图、加载失败时仍保持稳定占位。

size: 24 / 32 / 40 / 48 / 64 / 80
小昵称回退
AI私厨助手默认头像助手身份
在线状态

尺寸与图形评论 24–32 px,列表 40–48 px,个人资料 64–80 px;轮廓图标为容器约 56%,圆形裁切。

回退顺序有效用户照片 → 昵称首个字形 → 默认人物。图像 object-fit: cover;错误不显示破图标记。

身份与交互人物用圆形、助手可用圆角方形;不默认暗示性别。可点击头像需按钮语义与 44 px 触控区。

标签规范 Tag · Chip

标签用于简洁描述,筛选项用于表达可变的选择状态;两者通过边界与触控尺寸区分。

tag: 26 px · chip: 36–44 px

内容与语义标签

私厨推荐高蛋白含过敏原已失效AI 生成家常菜20 分钟

可多选筛选

已选:清淡

可移除的选择

不吃香菜低盐饮食

尺寸静态标签 26 px 高 / 12 px 字 / 8 px 圆角;交互 Chip 默认 36 px,移动端至少 44 px。

颜色标签采用低饱和浅底 + 深色文字;危险色仅用于失效、异常等语义,避免所有标签都强调。

交互筛选项用 aria-pressed;选中时加勾选标记。删除按钮独立命名,移除后焦点转到相邻项。

进度条规范 Progress

确定型进度同时显示数值与任务说明;不确定时展示加载状态,不伪造百分比。

track: 6 / 8 px · circle: 96–120 px
本周饮食记录5 / 7 天
71%
完成
失败
今日饮水1,500 / 2,000 ml目标可由用户自行设置
23
选择食材生成菜谱开始烹饪

步骤型任务用阶段表达进度

尺寸与布局线性轨道 6 / 8 px、圆角全圆;文本与轨道间隔 12 px;环形描边 6–8 px,避免内部文字拥挤。

状态进行中用主色、完成加勾选、失败显示原因与重试;超目标的业务值单独标注,不将进度画超 100%。

语义与更新使用 progressbar + aria-valuenow;不确定进度省略当前数值。屏幕阅读器仅播报关键阶段。

开关规范 Switch

用于即时生效的二元设置;需要提交的多项选择优先使用复选框。

track: 48 × 28 · hit area ≥ 44
用餐提醒已开启,每天按时提醒
仅 Wi-Fi 下载点击后即时生效
已开启 / 不可编辑由家庭管理员管理
已关闭 / 不可编辑完成登录后可设置
S · 36 × 22 px / 44 px 点击区
异步保存期间保持原状态并锁定

尺寸常规轨道 48 × 28 px、滑块 22 px;紧凑轨道 36 × 22 px、滑块 16 px;点击区不小于 44 px。

状态开 / 关、禁用开 / 禁用关、焦点与保存中。开启时滑块位于右侧,不只靠颜色区别状态。

交互点击与 Space 切换,焦点保持在开关;远端保存失败应回退并说明原因。本页设置仅在当前页生效。

滑块规范 Slider

用于范围内的近似选择,同时展示当前值;对精度要求较高时配合数字输入。

track: 6 px · handle: 24 px
60%
0%50%100%

步长 5% · 支持方向键调节

烹饪时长范围15–45 分钟
0 分钟30 分钟60 分钟

双滑块不交叉,分别拥有可访问名称

由管理员设定
0%禁用状态100%

拖动区高度 44 px,轨道视觉高度 6 px。

尺寸轨道 6 px,滑块 24 px / 边框 2 px;整行至少 44 px 高。当前数值持续可见,刻度保持简洁。

数值约束明确 min / max / step 与单位;范围下限 ≤ 上限。高频拖动仅更新预览,结束后提交业务数据。

键盘与触控方向键按步长变化,Home / End 至边界;双滑块均可聚焦。标签及输出同时反映当前值。

输入与选择

Forms & Selection · 让表达意图更简单

单行输入框 Input

承载简短文字、昵称和食材名称;标签始终可见,提示文字只补充示例。

H 44 · R 12 · PX 14

默认 · 最多 20 个字符

3 px 焦点环 · 与边界保持 3 px 间隔

请输入完整的 11 位手机号码

只读禁用

尺寸默认 44 px;大号 48 px;紧凑 36 px 仅用于桌面;文字 16 / 24 px。

状态默认、悬停、聚焦、填写、错误、只读、禁用;错误同时提供文字说明。

交互输入后显示清空,桌面按钮 36 px、触屏 44 px;失焦或提交校验;标签距控件 8 px。

多行输入框 TextArea

收集饮食偏好和特殊要求;控制最短与最长高度,让长内容保持可读。

MIN-H 120 · MAX-H 240
选填 · 可拖动右下角调整高度0 / 200

已选择「其他过敏原」,请补充名称

禁用 · 保留内容,降低视觉强调

尺寸内边距 12 × 14 px;行高 24 px;默认 4 行;最大高度 240 px 后滚动。

状态默认、聚焦、错误、禁用;字数接近限制时提示剩余量。

交互Enter 换行;保留用户输入;到达 200 字上限后停止输入,并显示计数。

数字输入框 InputNumber

输入克数、金额等精确数值,支持键入与键盘微调;单位固定在输入内容外。

H 44 · W 200 · STEP 10
g

范围 10–2,000 g · 每次调整 10 g

¥

步长 0.01 元 · 最多保留 2 位

kcal

禁用 · 计算结果建议使用只读展示

数字输入框适合“直接输入精确数值”;少量、离散的数量调节使用下方微调器。

尺寸控件高 44 px;建议宽 160–240 px;数值使用等宽数字,单位距内容 8 px。

状态预算留空表示未设置,0 表示零预算;超出范围显示错误;禁用时禁止编辑和调整。

交互↑ ↓ 调整步长;失焦后格式化小数;越界保留输入并提示,不静默篡改。

微调器 Stepper

用于份数、人数等高频少量调整。将当前数量夹在减号和加号之间,一眼识别。

44 × 44 · GAP 4 · STEP 1
今天几人用餐
2

可交互 · 1–10 人 · 当前 2 人

最小值边界
1

减号禁用;加号仍可用

不可调整
4

配额锁定时,整个控件禁用

尺寸加减触控区 44 × 44 px;中间数值宽至少 48 px;图标 20 px;圆角 12 px。

状态默认、按下、聚焦、边界禁用、整体禁用;边界按钮即时更新状态。

交互单击调整 1;键盘 Tab + Enter / Space;读屏实时播报数量。

下拉选择 Select

从有限选项中选择一项;使用明确的标签,选中值和占位文字保持不同语义。

H 44 · OPTION-H 44

已选择:午餐

展开菜单 · 选中与禁用示意
早餐07:00–09:00
午餐
晚餐17:30–20:00
夜宵暂未开放

请选择一项饮食偏好

长选项完整展示;超过 8 项优先增加搜索;移动端使用系统选择器或底部面板。

尺寸默认高 44 px;菜单项高至少 44 px;菜单间距 4 px;最长 6 项后滚动。

状态占位、已选、展开、聚焦、错误、禁用;选中项同时使用图标与背景标识。

交互演示使用原生 select,支持键盘选择;Esc 关闭;确认后焦点返回触发控件。

双向选择器 Transfer

在候选与已选列表之间批量移动食材,适合桌面上的多项管理。

PANEL-W 320 · ROW-H 44
候选食材4 项
已选食材2 项
先勾选,再移动

勾选食材后,相应方向按钮可用。移动结果会即时更新计数。

移动端推荐使用单列「全部 / 已选」切换与底部确认按钮,避免并排列表挤压。

已选 2 项,可继续添加。

尺寸桌面单列宽 280–360 px;列表项高 44 px;左右操作按钮 44 × 44 px。

状态未选、勾选、禁用、空列表、加载;空列表保留容器高度与说明。

交互勾选后批量移动;保留稳定排序;操作后焦点落回移入列表中的项目。

时间选择器 TimePicker

预约做饭提醒或用餐时刻;遵循用户地区的时间习惯,示例使用 24 小时制。

HH:mm · STEP 15 min

每天 18:30 提醒准备晚餐

常用时间
时 / 分列式选择
时
:
分

禁用状态 · 保留已选时间

可选范围 06:00–22:00;每 15 分钟一档,选中即同步至左侧。

尺寸输入区高 44 px;列选项与原生时间输入均为 44 px;双列间距 8 px。

状态未选、已选、聚焦、超范围、禁用;不可预约的时段禁用并注明原因。

交互常用时间 36 px 按钮为桌面紧凑样式,移动端扩展至 44 px;本页列选即生效;弹层版本需提供明确确认操作。

日历选择器 DatePicker

选择预约日期与饮食计划日期;今天、已选与非当前月的日期有清晰区分。

CELL 44 · WEEK MON–SUN
2026 年 9 月

已选择 2026 年 9 月 24 日,星期四

22示例今日24已选日期28禁用 / 非本月

点击日期选择;左右按钮切换月份。键盘方向键移动,Home / End 跳转周首 / 周末,Enter 确认。

预约业务可根据可用性禁用日期;本示例可选择所有当前月日期,前后月份日期仅作日历补齐。

尺寸弹层建议宽 360 px;日期点击区 44 px;7 列固定栅格;左右留白 12 px。

状态默认、今天、选中、悬停、聚焦、禁用;范围场景增加起点、终点、区间色。

交互切月保留已选值;单日选择即确认;使用明确年月标题,避免数字日期歧义。

容器与数据

Surfaces & Data · 为复杂状态提供清晰结构

骨架展示 Skeleton

让等待有迹可循。占位结构贴近真实内容,减少加载完成后的跳动。

Pulse 1.6 s / R 8–16
食谱卡片 · 首次加载

正在加载 3 份推荐食谱,内容区域尺寸已预留。

尺寸正文占位高 14 px、行距 12 px;头像 32–48 px;封面使用与内容一致的比例和圆角。

状态首次加载显示骨架;后台刷新保留已有内容;加载失败替换为错误说明与重试操作。

交互占位元素不进入 Tab 顺序,容器标记 aria-busy。动效 1.6 s,尊重减少动态效果设置。

上传组件 Upload

用于识别食材、记录餐食与分享食谱。上传前说清格式、大小和处理结果。

Dropzone ≥ 160 / Thumb 64
拖拽照片到这里,或点击上传支持 JPG、PNG、WebP,单张不超过 5 MB

交互演示:图片仅在浏览器本地预览,不会发送至服务器。

选择一张照片,体验校验与模拟上传。

文件状态与反馈
午餐记录.webp

820 KB · 上传成功状态示例

已完成
文件超过大小限制

错误时保留文件信息,提示压缩至 5 MB 内后重新上传。

上传中显示真实进度或不定进度;支持取消、失败重试与删除。

尺寸拖拽区高度至少 160 px,缩略图 64 × 64 px,点击上传按钮与操作触点至少 44 px。

状态空闲 / 拖入 / 校验失败 / 上传中 / 成功 / 失败;错误原因就近展示,不只使用红色表达。

交互点击与拖拽同等可用,Tab 可聚焦原生文件选择器。更换或删除释放预览资源,状态以 live region 播报。

空状态 Empty

解释当下发生了什么,再给出一个可以继续的动作。语气轻松,信息明确。

Icon 48 / Title 18 / Body 14

你的食谱收藏夹还空着

从喜欢的一道菜开始,
把每次灵感变成日常美味。

首次使用 · 引导开始

没有找到相关食谱

没有与「香煎三文鱼」匹配的结果,
试试更短的关键词或清除筛选。

无搜索结果 · 提供出路

连接暂时断开了

食谱正在等你回来,
检查网络连接后再试一次。

加载失败 · 可恢复操作

尺寸空状态图标 48 px,图形容器 88 px;标题 18 / 26 px,正文 14 / 22 px,主操作距正文 20 px。

状态区分首次无内容、筛选无结果和异常失败;提供上下文信息,避免统一显示「暂无数据」。

交互每个状态提供明确下一步;重试中反馈进度并防止重复操作。图形为装饰,信息完整保留在文字中。

数据图表 Charts

让营养数据易读、可比较。先呈现结论,再用清晰的单位与图例解释变化。

Plot ≥ 200 / Line 2–3 / Dot 6
每日能量摄入

固定演示数据 · 单位:kcal

1,821kcal / 日均7 天趋势
实际摄入 · 实线圆点参考线 2,000 kcal · 虚线
今日宏量营养占比

按能量计算 · 固定演示数据

ABC1,800kcal · 今日
  • A 碳水50%
  • B 蛋白质25%
  • C 脂肪25%
三餐蛋白质分布

单位:g · 合计 112.5 g

0102030405025 g45 g42.5 g早餐午餐晚餐
查看可访问数据表 / 与图表同步
能量摄入趋势(kcal)
日期 / 周期摄入能量参考线
今日营养数据(演示)
指标数值
碳水能量占比50%
蛋白质能量占比25%
脂肪能量占比25%
早餐 / 午餐 / 晚餐蛋白质25 / 45 / 42.5 g(合计 112.5 g)

尺寸绘图区高度至少 200 px;折线 2–3 px,数据点 6 px;轴标签至少 12 px,坐标与单位完整。

状态加载 / 有数据 / 无数据 / 错误;柱图从零起,环图总和为 100%。演示值不构成个体饮食建议。

交互周期按钮可键盘切换;形状、线型和文字共同编码,数据表提供完整等价信息,避免仅靠悬停获取数值。

落地约定 Design to Development

本文件以原生 HTML / CSS / JavaScript 演示设计规范;以下数值为私厨管家的 C 端主题扩展,不等同于 Ant Design 默认值。

single-file · no external dependency

Ant Design 主题映射

token: {
  colorPrimary: '#B94700', colorSuccess: '#237A4B',
  colorWarning: '#945400', colorError: '#B42318',
  colorInfo: '#245BD6', colorText: '#2B1B12',
  colorTextSecondary: '#71645B', borderRadius: 12,
  controlHeight: 44, controlHeightLG: 48,
  controlHeightSM: 36, fontSize: 16,
  colorBorder: '#958477'
}

交互与层级 Token

动效 180–240 ms,使用 ease-out;只为状态变化添加动画。系统启用“减少动态效果”时,停止旋转、闪动和过渡。

层级:内容 0 → 固定导航 20 → 弹出层 40 → 消息 60 → 工具提示 80。模态对话框使用浏览器顶层,避免被滚动容器裁切。

组件对应:Transfer = 双向选择器;InputNumber = 数字输入;Stepper = 微调器;DatePicker / Calendar = 日期与日历;Ant Design Mobile 补充触控场景。

一套规范,服务于真实的日常体验。

沿用品牌识别,统一交互反馈,让菜谱、饮食记录和家庭计划拥有一致的使用方式。