
校园外卖点餐系统源码|微信小程序 + Vue 管理后台 + Spring Boot
校园外卖点餐系统全套源码,包含微信小程序、Vue 管理后台、Spring Boot 接口和 MySQL 数据脚本。支持堂食/外卖下单、菜品与订单管理、优惠券、会员积分等流程,适合演示与二次开发。
作品介绍
校园外卖点餐系统

项目概述
本项目面向校园餐饮、食堂窗口及中小餐饮门店的点餐场景,由微信小程序用户端、网页管理后台、Spring Boot 后端和 MySQL 数据库组成。用户可在小程序中浏览菜品、加入购物车,并选择堂食或外卖下单;经营者可在后台维护菜品、处理订单、管理优惠券与会员信息。
项目提供从浏览菜品、提交订单到后台接单和订单结算的业务链路,可用于课程设计、功能演示、业务原型验证及二次开发。代码按端划分,便于分别调整小程序界面、后台管理功能和服务端逻辑。
项目特点
- **前后端分离:**微信小程序、网页管理后台与 Java 后端各自独立,通过接口交互。
- **点餐流程完整:**涵盖菜品分类与搜索、购物车、堂食/外卖选择、订单提交、接单、取消、结算和完成等环节。
- **包含运营功能:**后台提供菜品、订单、店铺、桌号、优惠券、会员等级及用户权限管理。
- **附带演示资源:**仓库内包含数据库初始化脚本、示例图片以及小程序和后台的实际页面截图。
功能模块
| 模块 | 已有功能 |
|---|---|
| 微信小程序用户端 | 微信登录、首页入口、店铺与菜品浏览、分类/关键词查找、购物车、堂食/外卖选择、收货地址、优惠券领取与使用、订单列表/详情、个人中心、会员积分展示 |
| 订单流程 | 提交订单、生成订单号、后台接单、订单取消、结算状态更新、订单完成;订单包含菜品明细与金额信息 |
| 管理后台 | 管理台概览、菜品分类和菜品管理、订单查看与处理、店铺管理、桌号管理、优惠券管理、会员等级管理 |
| 系统管理 | 管理员登录、用户/角色/菜单/权限/部门管理,JWT 令牌鉴权 |
| 服务端 | REST 接口、MyBatis 数据访问、MySQL 持久化、图片上传与静态文件访问、基础跨域配置 |
**典型使用路径:**用户在小程序选择堂食或外卖 → 浏览菜品并加入购物车 → 选择地址或优惠券 → 提交订单 → 后台查看并接单 → 订单结算或取消 → 用户查看订单状态。
技术架构与源码目录
| 层次 | 主要技术 | 目录 |
|---|---|---|
| 小程序端 | 微信原生小程序,项目内置页面组件 | food-delivery-ordering-mp/ |
| 管理后台 | Vue 2、Vue Router、Element UI、Axios、ECharts、Webpack 3 | food-delivery-ordering-ui/ |
| 后端服务 | Spring Boot 2.2.1、MyBatis、JWT、Log4j2 | food-delivery-ordering-boot/ |
| 数据与图片 | MySQL 初始化 SQL、示例图片 | food-delivery-ordering-boot/orderfood.sql、food-delivery-ordering-boot/file/ |
项目采用前后端分离结构。小程序和管理后台通过 HTTP 接口与后端交互;后端使用 MyBatis 访问 MySQL,并通过 JWT 处理登录状态。真实支付、配送调度、消息通知、多门店隔离和更完整的生产安全配置尚需进一步开发。
微信小程序图

后台管理图

两张详情长图分别展示用户端与后台页面。项目封面位于 网站详情图/点餐系统_项目封面_1200x900.png,尺寸为 1200 × 900 像素。
运行与部署
- 准备 JDK、Maven、Node.js、MySQL 和微信开发者工具。该仓库的 Spring Boot 与 Webpack 版本较早,本地验证使用 Java 8、Node 19 和 MySQL 5.7;升级运行环境前建议单独做兼容性测试。
- 创建
orderfood数据库并导入food-delivery-ordering-boot/orderfood.sql。脚本来自 MySQL 8 环境;若使用 MySQL 5.7,需将脚本中的utf8mb3兼容为utf8。 - 按环境配置后端数据库连接、图片存储路径、微信小程序 AppID 与 AppSecret。后端默认端口为
10000,管理后台默认端口为8080。 - 在后端目录执行
mvn -DskipTests package,运行生成的 JAR;在后台目录安装 npm 依赖并执行npm run dev;在微信开发者工具中导入小程序目录。 - 正式发布时配置域名、HTTPS、小程序合法请求域名、数据库备份与生产环境密钥。源码中的本机地址、示例账号与开发配置需要替换。
不同机器上的数据库版本、Node.js 版本和微信账号配置需要逐项核对。修改后端配置后须重新构建 JAR,才能让打包运行的服务使用新配置。
项目范围与限制
**项目内容:**微信小程序、Vue 管理后台、Spring Boot 后端、MySQL 初始化脚本、仓库内示例图片和页面截图。整理发布包时,不应包含本机 node_modules/、构建缓存、日志或个人配置。
**支付:**当前 /specific/pay 接口执行订单状态更新与积分处理,未接入微信支付商户号、支付下单、回调验签或退款流程。
**上线要求:**当前源码适合演示和二次开发,正式商用前应检查支付与订单幂等、库存并发、账号权限、密码存储、输入校验、日志脱敏、备份监控及微信平台审核要求。
**素材与授权:**仓库根目录的 LICENSE 为 MIT 许可证,允许按条款使用、修改和销售软件副本,同时要求保留版权和许可声明。公开发布前应确认源代码、图片、字体、第三方组件及截图素材的使用权利;现有 MIT 许可不自动构成独家版权转让。
**配置与数据:**后端开发配置中有数据库密码与微信 AppSecret,小程序配置中有 AppID,示例数据库中有测试数据。公开仓库或部署线上环境前,应移除真实密钥、轮换已暴露凭据,并以环境变量或独立私有配置提供生产参数。
常见问题
Q:可以直接作为普通网站发布吗? 管理后台是网页,可部署到 Web 服务器;顾客点餐端是微信小程序,需要微信开发者工具、有效小程序账号及微信平台审核。若希望顾客在浏览器点餐,还需单独开发 H5/网站用户端。
Q:是否支持堂食和外卖? 小程序下单时有堂食与外卖两种订单类型;外卖流程包含收货地址。配送员调度与地图轨迹不在当前源码中。
Q:是否已经接入真实微信支付? 没有。现有结算接口更新订单状态及积分,真实收款需要另行对接微信支付与服务端回调。
Q:是否支持二次开发? 源码分为小程序、后台与后端三个模块,可根据业务需要分别修改界面、接口和数据模型。

