私厨管家 · Design System 1.0AI 私厨管家
AI 私厨管家
C 端组件规范
从一抹食欲橙,到一套清晰、友好、易用的组件语言。
承接私厨管家品牌,参考 Ant Design,构建面向日常饮食生活的 C 端体验规范。
组件组合示例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 px | Semibold · 600 |
| 模块标题 · 章节入口 | 今天想吃点什么? | 24 / 34 px | Semibold · 600 |
| 卡片标题 · 重点内容 | 为你推荐的均衡晚餐 | 20 / 28 px | Semibold · 600 |
| 正文 / 主按钮 · 默认 | 用新鲜食材,照顾每一天的自己。 | 16 / 24 px | Regular · 400 / Medium · 500 |
| 次要信息 · 表单标签 | 烹饪约 25 分钟,适合 1–2 人享用。 | 14 / 22 px | Regular · 400 |
| 辅助信息 · 时间与说明 | 食材重量以可食用部分计算 | 12 / 18 px | Regular · 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 / 64010203040506070809101112
规范画布 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: 128 px小按钮 / 标签
radius-sm12 px输入框 / 按钮
radius-md16 px卡片 / 弹出框
radius-lg999 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 / 3216 px行内 / 紧凑按钮
20 px常规表单 / 按钮
24 px导航 / 工具栏
32 px功能入口 / 状态
图形尺寸 ≠ 点击区域
20 px 图标置于至少 44 × 44 px 操作区。移动端主要操作建议 48 × 48 px,并保留相邻间距。
20 px 图标置于至少 44 × 44 px 操作区。移动端主要操作建议 48 × 48 px,并保留相邻间距。
风格统一同一页面不混用线性与实心家族。选中态可用填充强调,但必须保持一致的语义与视觉中心。
无障碍命名纯图标按钮提供 aria-label;装饰图标设 aria-hidden。删除、收藏等操作给出文字或状态反馈。
光学对齐行内图标垂直居中;不同图形适当留白,不强行拉伸。SVG 继承 currentColor,缩放保持描边。
操作与反馈
Actions & Feedback · 每一次触达都有清晰回应
按钮规范 Button
一个区域优先保留一个主动作。按钮名称使用明确动词,持续操作显示加载状态并阻止重复提交。
height: 36 / 44 / 48 pxL · 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小昵称回退
在线状态
尺寸与图形评论 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%
完成
失败
0%
75饮水目标 %
今日饮水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 px0%50%100%
步长 5% · 支持方向键调节
烹饪时长范围
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选填 · 可拖动右下角调整高度
已选择「其他过敏原」,请补充名称
禁用 · 保留内容,降低视觉强调
尺寸内边距 12 × 14 px;行高 24 px;默认 4 行;最大高度 240 px 后滚动。
状态默认、聚焦、错误、禁用;字数接近限制时提示剩余量。
交互Enter 换行;保留用户输入;到达 200 字上限后停止输入,并显示计数。
数字输入框 InputNumber
输入克数、金额等精确数值,支持键入与键盘微调;单位固定在输入内容外。
H 44 · W 200 · STEP 10g
范围 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今天几人用餐
可交互 · 1–10 人 · 当前 2 人
最小值边界
减号禁用;加号仍可用
不可调整
配额锁定时,整个控件禁用
尺寸加减触控区 44 × 44 px;中间数值宽至少 48 px;图标 20 px;圆角 12 px。
状态默认、按下、聚焦、边界禁用、整体禁用;边界按钮即时更新状态。
交互单击调整 1;键盘 Tab + Enter / Space;读屏实时播报数量。
搜索框 Search
帮助用户按食材与菜名发现食谱;搜索图标固定在前,清空操作出现在末尾。
H 48 · R 12 · ICON 20常搜食材
状态与反馈
有内容:显示清空 · 无结果:保留关键词并给出建议
尺寸高 48 px;图标 20 px;内边距 14 px;搜索按钮与输入框间隔 8 px;32 px 热词按钮为桌面紧凑样式,移动端扩展至 44 px。
状态空白、输入、聚焦、搜索中、结果、无结果、禁用;保留最近的有效内容。
交互Enter 提交;× 清空并回到输入框;本页搜索使用本地示例食谱。
下拉选择 Select
从有限选项中选择一项;使用明确的标签,选中值和占位文字保持不同语义。
H 44 · OPTION-H 44已选择:午餐
展开菜单 · 选中与禁用示意
请选择一项饮食偏好
长选项完整展示;超过 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 月 24 日,星期四
22示例今日24已选日期28禁用 / 非本月
点击日期选择;左右按钮切换月份。键盘方向键移动,Home / End 跳转周首 / 周末,Enter 确认。
预约业务可根据可用性禁用日期;本示例可选择所有当前月日期,前后月份日期仅作日历补齐。
尺寸弹层建议宽 360 px;日期点击区 44 px;7 列固定栅格;左右留白 12 px。
状态默认、今天、选中、悬停、聚焦、禁用;范围场景增加起点、终点、区间色。
交互切月保留已选值;单日选择即确认;使用明确年月标题,避免数字日期歧义。
容器与数据
Surfaces & Data · 为复杂状态提供清晰结构
弹出框 Modal · Popup
用明确的标题和单一主操作帮助用户做决定;轻量选择使用底部弹层。
R 16 / P 24 / Mask 40%保存这份专属食谱?
收藏后,可在「我的食谱」随时查看,
也可以加入下一周的膳食计划。
选择饮食偏好
个性化推荐,可以随时调整
均衡饮食 高蛋白轻食低脂
尺寸居中弹窗宽 440–560 px,内边距 24 px,圆角 16 px;底部弹层仅顶部圆角 16 px,保留底部安全区。
状态默认 / 提交中 / 成功 / 失败;破坏性操作明确后果,使用危险色按钮;同屏仅一个主弹层。
交互打开后将焦点移入并约束 Tab;Esc 关闭并返回触发按钮。限制弹窗最大高度,超长内容在弹窗内滚动。
骨架展示 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 · 虚线
今日宏量营养占比
按能量计算 · 固定演示数据
- A 碳水50%
- B 蛋白质25%
- C 脂肪25%
三餐蛋白质分布
单位:g · 合计 112.5 g
查看可访问数据表 / 与图表同步
| 日期 / 周期 | 摄入能量 | 参考线 |
|---|
| 指标 | 数值 |
|---|---|
| 碳水能量占比 | 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 dependencyAnt 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 补充触控场景。