本项目是一款面向小型餐饮商户的微信点单小程序,旨在为商家提供轻量化、零成本的线上点餐解决方案,替代传统纸质菜单,提升点餐效率和用户体验。
核心功能模块包括:
商品展示与分类浏览:支持多分类菜单展示,用户可快速定位所需商品,每个商品支持图片、描述、价格展示。
购物车与下单系统:支持加减商品、实时计算金额、满减优惠自动计算、订单备注等功能,下单后数据实时写入云数据库。
店主通知推送:用户下单后自动通过PushPlus向店主微信推送订单详情,包含商品明细、金额、备注等信息,实现即时接单。
后台菜单管理:小程序内置管理页面,店主可直接进行商品的增删改查、图片上传、分类管理,无需修改代码,数据实时同步。
业务流程:用户进入小程序 → 浏览菜单选择商品 → 加入购物车 → 确认订单并提交 → 店主微信收到通知 → 开始制作。
整体采用微信小程序原生开发框架 + 微信云开发架构,前后端一体化,无需自建服务器。
前端使用WXML + WXSS + JavaScript实现页面交互,包含首页、菜单页、购物车、订单确认、管理后台共5个页面模块。菜单页采用左右分栏布局,左侧分类导航联动右侧商品列表。购物车模块实现了实时价格计算和满减逻辑。
后端基于微信云开发,使用云函数处理订单提交(placeOrder)和菜单管理(adminMenu)两个核心业务。数据库使用云开发NoSQL数据库,设计了menu和order两个集合,菜单数据支持动态加载并设有本地兜底机制确保可用性。
订单通知模块通过云函数内调用PushPlus的HTTPS接口,将订单信息实时推送至店主微信,解决了个人小程序无法使用模板消息主动触达商家的问题。图片上传功能使用云存储,支持商品图片的上传和管理。
开发过程中遇到的主要难点:一是小程序TabBar页面间导航限制,通过合理使用redirectTo/switchTab解决路由冲突;二是云数据库权限问题导致客户端无法直接修改数据,通过将管理操作迁移至云函数以管理员权限执行解决;三是菜单数据的加载时序问题,通过回调机制和本地兜底数据确保页面不会因网络延迟白屏。