)
HTML5 CSS3 JavaScript 高保真还原点餐 App 界面悦点餐 H5 界面演示站设计系统 页面流 纯前端交互一、前言在界面设计类的毕业课题里产出往往停留在一组静态效果图上设计稿画得很漂亮评审时却只能逐张翻图页面之间的跳转关系、按钮按下之后的反馈、列表数据的增减全都靠口头解释。效果图画得再精细也回答不了一个最常见的问题——「这个按钮点完之后呢」这个项目想解决的正是这个问题。它以一家连锁餐厅的移动端点餐应用为题材先完成了一套完整的设计系统定义品牌色板、字体阶梯、圆角与间距令牌、组件规范再按这套规范逐页搭建出八个高保真页面最后用原生 HTML5 CSS3 JavaScript 把页面串联成可点击的完整体验从开屏进入首页浏览菜单、加购菜品、调整数量、下单结算一直到订单状态流转全程无需任何后端参与。需要如实说明的是这是一个纯静态的 H5 实现没有服务器、没有数据库购物车与订单数据全部保存在浏览器的 localStorage 里页面之间的状态流转由前端脚本独立完成。也正因为如此它可以双击直接打开、断网运行非常适合作为界面设计成果的演示载体——设计做得多细点一遍就知道。二、技术栈与整体架构项目只用了三样最基础的东西HTML5 负责页面结构CSS3 负责视觉与响应式布局原生 JavaScript 负责数据与交互。没有引入任何框架与构建工具也没有一行外部依赖整个站点就是十几个文件的纯静态目录。架构上分为三层视觉层一份全局style.css承载全部设计令牌与公共组件。品牌色、渐变、圆角、阴影、字号都以 CSS 自定义属性CSS Variables定义在:root上页面内只写布局类样式保证八个页面共用同一套视觉语言数据层data.js定义菜品、套餐、会员与种子订单四组静态数据首次运行时写入 localStorage 形成业务初始状态状态层app.js统一管理购物车与订单的增删改查向各页面暴露加购、合计、下单、完成订单等原子操作底部导航与轻提示也由它统一注入。页面组织遵循「一页一文件」的原则通过底部五枚彩色圆底图标首页 / 菜单 / 购物车 / 订单 / 我的互通整体页面流如下图展示形态上做了一个小设计桌面浏览器打开时420px 的移动画布会居中落在一台深色机框里四周是火龙果品红渐变的衬托背景像一台立在展台上的样机窗口宽度收窄到手机尺寸时机框自动消失页面变为全屏移动视口。同一份代码桌面演示与真机预览两种场景都照顾到了。三、功能设计与页面结构八个业务页面按「浏览 → 决策 → 交易 → 售后」的动线排布页面文件核心内容关键交互开屏 / 登录index.html品牌字标、登录注册入口登录进入首页注册给出反馈首页home.html今日推荐、招牌餐品、特价餐品横滑卡片、一键加购菜单点单menu.html四大分类、十二道菜品分类胶囊筛选、关键字搜索、加购菜品详情dish.html大图、月售好评、份量加料选项联动计价、数量步进、加购购物车cart.html已选菜品、规格小计数量增减、自动合计、去结算下单成功success.html订单号、出餐小票、预计出餐时间查看订单、返回首页订单列表orders.html全部 / 进行中 / 已完成三段进度条、确认完成订单我的mine.html会员卡、积分券券、会员码、常用入口订单入口分发、轻提示反馈设计系统是本项目的重心之一单独做了一页总览design.html把抽象的规范变成看得见的实物色彩荧光火龙品红#FC48FC与深莓紫#37013D构成主色火龙红#FC2428与芒果金#E8FC78作点缀色主按钮与激活态胶囊统一使用#68FC58 → #FC48FC的果衣青到果肉品红渐变字体Display 26px / Heading 18px / Body 13px / Caption 11px 四级阶梯系统字体栈不依赖网络字体圆角与间距卡片 20px、按钮 14px、输入框 10px 三级圆角8pt 基线栅格页边距 20px、卡片间距 12px 全站统一组件渐变主按钮、幽灵次按钮、分类胶囊、搜索输入框、菜品卡、彩色圆底导航、进度条、状态徽标都在总览页有可直接对照的样例。所有页面遵循同一条硬规则不出现死按钮。每个可见入口要么跳转、要么给出明确的业务反馈保证演示时每一下点击都有回应。四、数据设计没有后端不等于没有数据设计。为了让状态流转经得起反复点按前端维护了一份带版本号的状态文档结构大致如下{v:1,cart:[{id:d01,qty:1,spec:例份,extras:[]},{id:d05,qty:2,spec:大份,extras:[加煎蛋]}],orders:[{no:YD202609120081,time:2026-09-12 18:42,status:doing,mode:自取 · 18:20 取餐,items:[{id:d05,name:葱油拌面,qty:2,price:14}],total:43}]}几个关键的设计取舍菜品不动状态动。菜品、套餐、会员是只读的静态数据购物车与订单才是可变状态二者分离页面渲染时按 id 关联避免同一份数据在多个页面各存一份副本购物车行带完整决策上下文。规格spec与加料extras直接记在购物车行上同菜不同规格会分成两行结算单价 菜品基价 加料价合计由脚本实时重算订单是一次性快照。下单时把购物车行展开成菜品名、数量、单价的快照写进订单之后清空购物车订单不随菜品数据变化状态机只有两态一跳doing → done。进行中的订单带三段进度已下单 / 后厨制作 / 已出餐点击「已出餐完成订单」推进到已完成并持久化刷新页面也不会回退种子数据兜底。状态文档缺失或版本不符时自动重置为内置种子购物车 4 件、订单 3 笔、三种状态各占其位保证任何一次打开演示每个页面都有真实内容可看不会出现空转的页面。五、系统演示开屏页以火龙果墨夜色为底品牌字标「悦点 yueDian」配三枚餐品图标登录与注册两枚按钮以火龙果渐变实底与幽灵底两款质感区分底部保留了设计系统总览与菜单的直达入口评审时可以一步跳到想看的页面。首页按「今日推荐、招牌餐品、特价餐品」三段组织推荐位是深色渐变压底的横滑套餐卡招牌与特价是白卡横滑与纵列混排每张卡都带独立的加购圆钮右上角头像可进入「我的」。菜单页顶部是搜索框其下四枚分类胶囊本帮热菜 / 面点主食 / 甜品小食 / 鲜榨饮品点击即筛选激活态使用品牌渐变列表行左侧渐变图块、右侧月售与好评数据加购后底部导航的购物车徽标实时累加。菜品详情页集中了完整的决策链路大图、标签、月售好评、降价对比往下是份量单选、加料多选、数量步进底部合计随每一次点按实时重算。购物车逐行展示规格与加料加减号到零即自动移除该行合计与去结算吸底常驻。下单成功页以火龙果品红圆底点赞图标与四散彩点呼应设计稿的轻快气质订单号、用餐方式、逐项小票与合计一次给全出餐时间按当前时刻加二十分钟动态推算。订单列表按三枚胶囊筛选进行中的订单以深莓紫到亮品红的渐变进度条展示「已下单、后厨制作、已出餐」三段状态点击「已出餐完成订单」即推进状态并持久保存已完成订单落回深莓紫状态字并显示评价分。「我的」页收拢了会员资产与常用入口渐变会员卡、积分与优惠券统计、四枚订单快捷入口、条码样式的会员码以及收货地址、优惠券、客服等常规设置项。设计系统总览页是整套视觉规范的实体化五枚色板与品牌渐变条、四级字体阶梯、三级圆角样板、按钮胶囊输入框等组件样例以及图标圆底与栅格说明一屏看全。六、小结这个项目把一份点餐应用界面设计方案从静态效果图推进成了可以逐页点按的高保真 H5 站点。过程里有三点体会值得记录其一设计令牌先行是对的。先定色板、字体、圆角、间距再写页面八个页面的视觉一致性几乎不需要回头修补CSS 自定义属性让「换一套主题色」变成改几行变量的事。其二纯前端状态机足以撑起演示级体验。购物车合并、合计重算、订单快照、两态流转这些逻辑都不复杂但把它们做扎实之后整个演示的「可信度」完全不同于翻页播放的图片轮播。其三展示形态本身也是设计的一部分。420px 画布加桌面机框的呈现方式让同一份代码在投影评审与真机预览之间无缝切换这对界面类成果的汇报效率提升非常明显。整个站点零依赖、零外部资源、双击即用源码结构简单清晰适合作为界面设计还原、静态原型与前端入门练习的参考实现。对实现细节感兴趣的话欢迎评论区交流。悦点餐H5界面演示站源码 高保真还原界面设计教学/前端入门