程序聚合 软件案例 微信平台小程序-餐厅点餐,预约

微信平台小程序-餐厅点餐,预约

2026-06-01 18:26:14
行业:电商、外卖跑腿
载体:小程序
技术:JavaScript、weui、wxapp-readyapi

业务和功能介绍

一、立项背景
餐饮业正加速从线下向线上迁移。传统电话预约、纸质菜单、人工记单的方式效率低下,顾客等位时间长、点餐体验差,餐厅人力成本高、翻台率也上不去。
运营中逐渐暴露出几个痛点:包间预约全靠前台手工记录,漏单重单时有发生;高峰期顾客反复催促服务员,体验大打折扣;老客想远程下单只能打电话,菜品说不清楚。于是决定做一款微信小程序,把预约、点餐、门店展示整合到一起,一站式解决这些问题。
二、项目目标
统一线上入口,把包间预约、远程点餐、扫码点餐整合进一个小程序,降低顾客使用门槛。预约和下单自助完成,服务员只负责确认和执行,单桌服务效率预计提升四成。通过每日推荐和特价菜品持续触达老客,促进复购。覆盖从浏览菜品到下单、等餐、回访的完整闭环。
三、功能模块
首页:顶部轮播展示活动与特惠。每日推荐网格展示四到六道主厨精选菜品,标注特价。四个快捷入口分别通向扫码点餐、远程点餐、包间预约、店面介绍。下方横向滚动展示今日特价。
在线点餐:经典双栏布局,左侧六个菜品分类,右侧对应菜品列表。每道菜显示名称、标签、现价、原价和月销量。可点击进入详情页,也可一键加入购物车。底部悬浮栏实时显示已选数量和合计金额。
菜品详情:大图展示,配合名称、评分、月售数据和价格对比。数量选择器支持加减操作。提供加入购物车和立即购买两个入口。
购物车与下单:支持修改数量、删除单项、一键清空。可切换堂食或外带,设置用餐人数和备注信息。确认后生成订单并跳转到订单列表页。
扫码点餐:调用微信原生扫一扫能力,扫描桌面二维码识别桌号,自动进入该桌点餐界面。顶部常驻桌号标签和重新扫码按钮,下单时自动关联桌号,无需手动输入。
包间预约:日期可选择今起三十天内任意日期,时段分为午餐和晚餐两档。三种包间可选:雅竹轩小包适合二到四人,兰亭阁中包适合六到八人,聚贤厅大包可容纳十到十六人。选包间后展开表单,填写姓名和手机号,可附加备注。提交前校验必填项和手机号格式。下方展示预约记录,支持一键取消。
店面介绍:展示门面、品牌故事、环境照片、服务设施和联系方式。支持一键拨号和一键复制地址。
订单管理:进行中和已完成两个切换。进行中订单呈现完整状态流,待确认状态可取消。历史订单支持再来一单,一键把之前的菜品重新加入购物车。
四、业务流程
堂食扫码:顾客到店→扫桌面二维码→识别桌号→浏览菜单→加入购物车→下单→厨房接单→上菜
远程外卖:打开小程序→点餐→分类浏览→加购→选择外带→下单→到店自取
包间预约:打开小程序→预约→选择日期→选择时段→选择包间→填写信息→确认预约→按时到店
五、导航结构
底部四个Tab:首页承载每日推荐和四个快捷入口,点餐是完整的分类菜单,预约包含包间预约和预约记录管理,我的展示订单列表和状态跟踪。

项目实现

项目采用微信原生三层架构,无第三方依赖。App 层管理全局购物车和订单状态,所有页面通过 getApp() 共享同一实例,配合 Storage 做持久化。页面层含八个 Page 实例,四个 Tab 页可平级切换,其余通过 navigateTo 压栈跳转。工具层抽离模拟数据和公共函数,页面按需引用。
数据前置计算。WXML 不支持 filter、map 等数组方法和深层嵌套三元表达式。所有派生数据(分类菜品数、展示图标、订单状态文字和颜色)在 JS 层 onLoad 阶段算好写入 data,模板只做简单绑定和单层判断。
购物车全局化。购物车挂在 app.globalData.cart 上,任何页面修改后同步写 Storage,onShow 时重新读取。无论从首页推荐、点餐页浏览还是扫码桌台加入,菜品都进同一个购物车。
订单状态流。订单创建后沿待确认→已确认→烹饪中→上菜中→已完成流转,状态与其文字颜色集中映射在 util.js 的 STATUS_MAP 中,列表加载时统一注入,模板不写判断逻辑。
首页:swiper 实现轮播,curren t 索引驱动自定义指示器。每日推荐用 flex-wrap 网格,今日特价用 scroll-view 横向滚动。扫码入口调 wx.scanCode,失败兜底进演示模式。
在线点餐:左侧分类栏与右侧列表联动。点击分类更新 activeCategory 同时设 scrollToCategory 锚点触发滚动。加号按钮用 catchtap 阻止冒泡直接调 addToCart 并弹 toast。底部购物车栏 fixed 定位,有商品才显示。
扫码点餐:与在线点餐共用 UI。onLoad 从参数或扫码结果取桌号写入全局购物车,下单时自动关联。顶部多一条桌号标签栏,支持重新扫码。
菜品详情:通过 dishId 参数从数据集查找菜品,底部两个操作按钮——加购停留当前页、立即购买跳转购物车。
购物车:数量加减直接操作全局 updateCartItem,减到零自动删除。堂食外带切换和人数调整实时写 app 并持久化。提交时生成订单号,订单推入数组,清空购物车后跳转列表。
包间预约:日期用 picker 限制 30 天内,时段和包间点击选中。选包间后展开表单并滚动到表单区。提交逐项校验后写入本地 reservations 键。记录可取消。
订单管理:onShow 读取全局 orders,按状态拆分为进行中和已完成,注入展示字段。待确认订单可取消,已完成订单可再来一单——先清空再逐项加回购物车。
订单管理:onShow 读取全局 orders,按状态拆为进行中和已完成两组,注入展示字段。待确认订单可取消,已完成订单可再来一单——先清空购物车再逐项加回。

示例图片视频


冬初霁
30天前活跃
方向: 前端-小程序、后端-Node.js、
交付率:100.00%
相似推荐
Web 项目源码精简部署与域名切换
一、背景与目标 客户需要进行域名更换及服务器替换,要求对现有网站源码进行清理和重新部署。核心目标是剔除冗余文件以减小体积,并确保登录、注册等基础核心接口在新环境下响应正常,按时(7月31日前)完成上线。 二、功能模块 1.代码清洗: 扫描并删除项目中的 .git 历史文件夹、临时日志文件、无用图片及备份文件,精简代码体积。 2.环境重构: 在新服务器上配置 Web 服务器(Nginx/Apache)及运行语言环境。 3.功能验证: 重点验证用户鉴权模块(登录/注册)及数据库连接是否正常。
南方电网调度平台
立项背景和目标:在电网调度运行中,电话调度是调度中心与各电厂、变电站及现场作业人员联络的核心通道,承载故障报修、调度指令下达、操作通知等关键业务。传统电话调度依赖人工接听、纸质记录,存在记录效率低、录音难追溯、指令缺乏闭环等问题。为此立项研发本调度平台,目标是实现调度业务的在线化、流程化和可追溯,保障电网安全稳定运行。 软件功能、核心功能模块:平台涵盖电话调度、调度工单管理、运行监视、通讯录管理、统计分析等核心模块。其中电话调度模块提供:与调度软交换(CTI)对接、来电实时弹屏并展示来电单位与历史工单;通话中一键创建工单、录音与工单自动关联;指令"下达—复诵确认—执行反馈—确认归档"全流程管理;通话录音存储、检索与回放;未接来电提醒与交接班日志;通话量、指令执行情况等多维统计分析。 业务流程、功能路径:来电接入→系统识别号码并弹屏显示单位归属及历史联系记录→调度员接听并登记关键信息;若为故障报修,则一键生成故障工单,流转至现场处理并反馈;若为指令下达,则生成调度指令票,受令人复诵确认,执行完毕后回令汇报,调度员确认归档。全过程录音自动挂接,形成"电话—工单—录音"闭环,实现调度业务全链路可追溯。
企业级CRM数据清洗与迁移工具-DataBridge(个人演示项目)
本案例为个人演示项目,面向中小企业更换CRM或整合多来源客户资料时的数据整理需求。用户可导入Excel或CSV文件,配置字段映射规则,完成手机号、邮箱和公司名称标准化,并按组合条件识别重复记录;系统随后展示异常数据、冲突字段和处理建议,用户确认后可导出目标CRM可直接导入的数据文件及清洗报告。整个流程覆盖导入、预览、映射、去重、校验、修复和导出,重点降低人工反复核对带来的遗漏与时间成本。
高性能C++ HTTP服务器-Aether
对标Nginx核心能力自研的C++ HTTP服务器,可用于静态资源服务、API网关与高并发Web后端。核心功能:①主从Reactor事件驱动架构,支持Keep-Alive与HTTP Pipelining;②并发连接管理,空闲连接超时自动回收;③令牌桶限流抵御恶意流量;④异步双缓冲日志系统,自动滚动不阻塞业务线程。附完整压测数据与148条断言测试套件。
水务系统
1、水务大屏各数据指标展示,数据指标后台管理,项目管理流程处理; 2、经营数据大屏、生产信息大屏、人力资源大屏、资产管理大屏、技术科创大屏; 3、基础数据管理、项目管理、合同管理、工作台(我的项目、我的任务、我的日程、公告/消息)、定制化报表、文档管理;
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服