# B2C点餐小程序开源完整系统 **Repository Path**: yunyustudio/yunyuOrderStoreSystem ## Basic Information - **Project Name**: B2C点餐小程序开源完整系统 - **Description**: 民间自研餐饮自营点餐系统,主要面向个体户等小商家的到店点餐微信小程序全栈系统,支持较为完整的商业化后台管理,覆盖门店全模块功能,已满足日常门店运营需求,对比专业商用版也有一战之力。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-01 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 蕴宇面享 · 面馆在线点餐系统

🍜 中小面馆全链路数字化经营解决方案
微信小程序扫码点餐 · Vue 管理后台 · Spring Boot 后端 · 生产级开源

简介 · 目录 · 功能 · 架构 · 快速启动 · 文档 · 许可证

--- ## ✨ 项目简介 **蕴宇面享** 是一套面向 **中小餐饮商户**(夫妻店 / 社区小馆 / 档口快餐 / 面馆)的一站式数字化经营解决方案。 覆盖**顾客扫码点餐 → 后厨出单 → 前台收银 → 经营分析 → 会员运营 → 成本管控**全链路场景,三端协同,开箱即用。 | 端 | 技术 | 说明 | |:--:|:----:|:-----| | 📱 微信小程序 | UniApp + Vue 3 | 顾客扫码点餐端 | | 🖥️ 管理后台 | Vue 3 + Element Plus | 店员/店长运营端(38 页面) | | ⚙️ 后端服务 | Spring Boot 3 + MyBatis-Plus | 12 业务模块 · 52 张表 | --- ## 📂 目录结构 ``` 面馆在线点餐系统/ ├── 🍜 面馆到店点餐微信小程序/ # 微信小程序端(顾客用) │ └── uniAppNoodleShop/ # UniApp + Vue 3 工程 │ ├── pages/ # 主包页面(首页/点餐/订单/商品/搜索/我的) │ ├── packageMember/ # 会员分包(余额/优惠券/积分/个人中心) │ ├── packageOrder/ # 订单分包(下单/支付/详情/评价) │ ├── packageStore/ # 门店分包(门店详情/证照) │ ├── components/diy/ # DIY 装修组件(14 个渲染器) │ ├── services/ # API 服务层(11 个模块) │ └── static/ # 静态资源(图标/样式) │ ├── 🖥️ Vue管理Web后台网站/ # 管理后台(店员/店长用) │ ├── src/ │ │ ├── views/ # 21 个页面模块 │ │ │ ├── dashboard/ # 经营看板 │ │ │ ├── orders/ # 订单管理 │ │ │ ├── products/ # 菜品管理 │ │ │ ├── categories/ # 分类管理 │ │ │ ├── members/ # 会员管理(含会员看板/积分/等级) │ │ │ ├── marketing/ # 营销管理(优惠券模板) │ │ │ ├── promotions/ # 促销活动 │ │ │ ├── cost/ # 成本管控(原料/BOM/采购/消耗/毛利) │ │ │ ├── stores/ # 门店管理 │ │ │ ├── printers/ # 打印机管理 │ │ │ ├── diy-editor/ # DIY 装修编辑器 │ │ │ ├── cashier/ # 前台收银台 │ │ │ └── system/ # 系统设置(角色/用户/日志/支付/图标库) │ │ ├── api/ # API 层(21 个模块) │ │ ├── store/ # Pinia 状态管理 │ │ ├── layouts/ # 布局组件 │ │ └── components/ # 公共组件 │ └── vite.config.ts # Vite 配置(代理到后端 8080) │ ├── ⚙️ yunyustudio_backend/ # Spring Boot 后端 │ └── noodlestore/ │ └── src/main/java/yunyu/noodlestore/ │ ├── common/ # 公共层(拦截器/异常/工具/配置) │ └── module/ # 12 个业务模块 │ ├── admin/ # 后台管理 + RBAC 权限 │ ├── user/ # 用户(微信登录) │ ├── store/ # 门店/桌台/轮播图 │ ├── product/ # 菜品/分类/规格/加料/评价 │ ├── order/ # 订单/状态机/KDS/订单号 │ ├── pay/ # 支付(微信/支付宝/余额/现金) │ ├── member/ # 会员/积分/余额/优惠券/等级 │ ├── marketing/ # 营销(优惠券模板/促销) │ ├── diy/ # DIY 装修页面配置 │ ├── icon/ # 图标库 │ ├── message/ # 消息(订阅/TTS/RabbitMQ) │ ├── cashier/ # 前台收银台 │ └── cost/ # 成本管控(原料/BOM/采购/消耗) │ ├── 📄 sql/ # 数据库迁移脚本(15 个) │ ├── mianxiang_v1.0.0_init.sql # 基础表(22+ 表 + 种子数据) │ ├── admin_tables.sql # 管理员账号体系 │ ├── cost_tables.sql # 成本管理表 │ ├── store_marketing_configs.sql # 营销配置表 │ ├── messages_table.sql # 消息表 │ ├── icon_library_tables.sql # 图标库表 │ ├── V2.0.0__cashier_module.sql # V2.0 收银台模块 │ ├── V2.1.0__rbac_permission.sql # V2.1 RBAC 权限 │ ├── V2.2.0__message_mq_upgrade.sql# V2.2 消息队列升级 │ ├── V3.0.0__diy_page_system.sql # V3.0 DIY 装修系统 │ ├── V3.0.1__diy_full_template_data.sql # V3.0.1 模板种子数据 │ ├── V3.0.2__add_diy_editor_permission.sql │ ├── V3.0.3__diy_order_mine_page_data.sql │ └── 全量数据库mianxiang.sql # 一键全量导入(推荐) │ ├── 📖 开源蕴宇开发直达文档/ # 完整开源文档 │ ├── 1.总开发文档.md # 技术架构 / 12 模块详解 / 核心实现 │ ├── 2.客户商户使用文档.md # 顾客点餐指南 / 店员操作 / 店长手册 │ ├── 3.维护文档.md # 部署配置 / 故障排查 / 扩展开发 │ └── 蕴宇面享点餐系统-代码深度分析报告.md │ └── 🖼️ demoPhotos/ # 系统截图(16 张) ``` --- ## 🚀 核心功能 ### 📱 小程序端(顾客) | 功能 | 说明 | |------|------| | 扫码点餐 | 桌台二维码扫码 → 选菜品(规格/加料) → 购物车 → 支付 → 取餐 | | DIY 首页 | 后台拖拽装修,12 种组件自由拼装,即时生效无需发版 | | 会员体系 | 4 级等级 / 积分(消费+签到+邀请) / 余额充值 / 优惠券 | | 订单中心 | 订单列表 / 详情 / 催单 / 评价 / 退款申请 | | 收藏夹 | 收藏喜欢的菜品 | | 门店信息 | 门店详情 / 营业时间 / 地址导航 / 证照查看 | ### 🖥️ 管理后台(店员/店长) | 模块 | 功能页面 | |------|---------| | **经营看板** | 今日数据 / 趋势图 / 热销排行 / RFM 会员分析 | | **订单管理** | 订单列表 / 详情 / 接单 / 出餐 / 退款 / 订单号规则 | | **菜品管理** | 菜品列表 / 新增 / 编辑 / 上下架 / 规格 / 加料 | | **分类管理** | 菜品分类 / 排序 / 图标 | | **会员管理** | 会员列表 / 详情 / 积分 / 等级规则 / 会员看板 | | **营销管理** | 优惠券模板 / 发放 / 核销 | | **促销活动** | 活动列表 / 新建 / 上下架 | | **成本管控** | 原料管理 / BOM 成本卡 / 采购入库 / 消耗记录 / 毛利报表 / 供应商 | | **门店管理** | 多门店 / 桌台 / 轮播图 / 营业状态 | | **打印机** | 飞鹅云打印机 / 厨房 / 前台 / 标签打印 | | **DIY 编辑器** | 拖拽式首页装修 / 12 组件 / 实时预览 | | **收银台** | 店员代下单 / N5D 碰一下 / 现金 / 余额支付 | | **系统设置** | 用户管理 / 角色权限 / 操作日志 / 支付配置 / 图标库 | ### ⚙️ 后端架构亮点 | 特性 | 说明 | |------|------| | 订单状态机 | 9 态 × 8 合法转换,RabbitMQ 事件驱动 | | RBAC 权限 | 3 表 + 7 预置角色 + 29 权限码 + AOP 注解鉴权 | | DIY 装修 | JSON Schema 驱动,12 组件动态渲染 | | IoT 打印 | 策略模式 + 飞鹅云 + KDS WebSocket + TTS 播报 | | 多商户 SaaS | `store_id` 全表隔离,一套代码多门店独立运营 | | 双令牌认证 | JWT Access + Refresh Token | --- ## 🏗️ 技术架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 客 户 端 层 │ │ ┌──────────────────────┐ ┌────────────────────────┐ │ │ │ Vue 3 + Element Plus│ │ UniApp + Vue 3 │ │ │ │ 管理后台(38 页面) │ │ 微信小程序(25 页面) │ │ │ └───────┬──────────────┘ └────────┬───────────────┘ │ │ │ REST API │ │ │ ┌───────┴────────────────────────────┴───────────────┐ │ │ │ Spring Boot 3.2.5 · JDK 17 │ │ │ │ 12 业务模块 + common · ~256 Java 文件 │ │ │ │ 30 Controller / 44 Service / 38 Mapper / 42 Entity │ │ │ └───────┬────────────────────────────────────────────┘ │ │ │ │ │ ┌───────┴────────────────────────────────────────────┐ │ │ │ MySQL 8 · Redis 7 · RabbitMQ 3 · WebSocket │ │ │ │ 微信支付 V3 · 支付宝当面付 · 飞鹅云打印 │ │ │ └─────────────────────────────────────────────────────┘ ┘ ``` ### 技术栈一览 | 层级 | 技术 | 版本 | |------|------|------| | **后端框架** | Spring Boot | 3.2.x | | **语言** | Java | 17 | | **ORM** | MyBatis-Plus | 3.5.6 | | **数据库** | MySQL | 8.0 (utf8mb4) | | **缓存** | Redis | 7+ (Lettuce) | | **消息队列** | RabbitMQ | 3.x (Manual ACK) | | **实时推送** | Spring WebSocket | — | | **认证** | JWT (jjwt 0.12.5) | 双令牌 | | **支付** | 微信支付 V3 / 支付宝当面付 | — | | **后台前端** | Vue 3 + TypeScript + Element Plus | 2.14.x | | **状态管理** | Pinia | 3.x | | **小程序** | UniApp + Vue 3 + Vite + SCSS | — | | **构建工具** | Maven / Vite | — | | **部署** | Docker + 阿里云 ECS | — | | **IoT** | 飞鹅云 API · MaryTTS 5.2.1 | — | --- ## 🚦 快速启动 ### 环境要求 | 依赖 | 版本要求 | |------|---------| | JDK | 17+ | | Maven | 3.8+ | | MySQL | 8.0+ | | Redis | 7+ | | RabbitMQ | 3.x | | Node.js | 18+ | | npm | 9+ | | HBuilderX | 最新(小程序编译) | ### 1. 克隆项目 ```bash git clone <仓库地址> cd 面馆在线点餐系统 ``` ### 2. 初始化数据库 **推荐一键导入**(含全部表结构 + 种子数据): ```bash mysql -u root -p mianxiang < sql/全量数据库mianxiang.sql ``` 或按版本顺序执行迁移脚本(14 个),详见 [`sql/`](sql/) 目录。 ### 3. 启动后端 ```bash cd yunyustudio_backend/noodlestore # 编辑配置文件,设置 MySQL/Redis/RabbitMQ/微信支付 等 vim src/main/resources/application.yml # 启动 mvn spring-boot:run # 默认端口:8080 ``` ### 4. 启动管理后台 ```bash cd Vue管理Web后台网站 npm install npm run dev # 默认端口:5173 → 自动代理到 localhost:8080 ``` 浏览器打开 `http://localhost:5173` ### 5. 运行小程序 用 **HBuilderX** 打开 `面馆到店点餐微信小程序/uniAppNoodleShop` 目录 → 运行 → 微信小程序模拟器 ### 默认账号 | 账号 | 密码 | 角色 | |:----:|:----:|:----:| | admin | admin123 | 超级管理员 | --- ## 📖 文档 完整开源文档位于 [`开源蕴宇开发直达文档/`](开源蕴宇开发直达文档/) 目录: | 文档 | 适合人群 | 内容 | |------|---------|------| | [1.总开发文档.md](开源蕴宇开发直达文档/1.总开发文档.md) | 开发者 | 技术栈 / 系统架构 / 12 模块详解 / 核心实现深度分析(状态机/支付/IoT/DIY/RabbitMQ/Redis) / 52 表设计 / 13 轮版本演进 | | [2.客户商户使用文档.md](开源蕴宇开发直达文档/2.客户商户使用文档.md) | 客户/商户 | 顾客点餐指南 / 店员收银操作 / 店长经营手册 / RBAC 7 角色说明 / FAQ | | [3.维护文档.md](开源蕴宇开发直达文档/3.维护文档.md) | 运维/开发 | 部署配置 / 14 脚本迁移 / RabbitMQ 队列 / Redis 键约定 / 故障排查表 / 安全清单 / 扩展开发指南 | | [代码深度分析报告.md](开源蕴宇开发直达文档/蕴宇面享点餐系统-代码深度分析报告.md) | 技术负责人 | 文档-代码一致性验证 / P0 安全漏洞 / P1/P2 问题 / 开源就绪度评估 | --- ## 🖼️ 系统截图 截图位于 [`demoPhotos/`](demoPhotos/) 目录,共 **16 张**: | 类别 | 截图 | |------|------| | 🏗️ 架构 | [面享-架构图.png](demoPhotos/面享-架构图.png) | | 📱 小程序 | [点餐小程序展示.png](demoPhotos/点餐小程序展示.png) · [DIY装修改造小程序页面首页.png](demoPhotos/DIY装修改造小程序页面首页.png) · [会员系统小程序展示.png](demoPhotos/会员系统小程序展示.png) · [积分-优惠卷小程序说明.png](demoPhotos/积分-优惠卷小程序说明.png) · [积分商城小程序页面.png](demoPhotos/积分商城小程序页面.png) | | 📊 后台 | [经营看板-老板视图.png](demoPhotos/老板视图.png) · [会员分析.png](demoPhotos/会员分析.png) · [毛利报表1.png](demoPhotos/毛利报表1.png) · [活动营销.png](demoPhotos/活动营销.png) · [RBAC角色控制.png](demoPhotos/RBAC角色控制.png) · [支付对接.png](demoPhotos/支付对接.png) | | 📚 文档 | [总开源文档说明.png](demoPhotos/总开源文档说明.png) · [运维维护文档.png](demoPhotos/运维维护文档.png) · [软件销售功能介绍文档.png](demoPhotos/软件销售功能介绍文档.png) | --- ## ⚠️ 生产环境注意事项 | 严重度 | 事项 | 说明 | |:-----:|:----|:----| | 🔴 | DEV 自动完成支付 | `PayController` 中 DEV 路径需 `@Profile("dev")` 限定 | | 🔴 | 退款回调存根 | 需实现真实退款逻辑 | | 🔴 | storeId 默认 1 | 部分 Controller 无 storeId 时默认 1L,生产需拒绝 | | 🟠 | 微信支付参数 | `createWxPayParams()` 需配置真实商户号 | | 🟠 | 订阅消息 | 微信审核需补充隐私协议 | 完整清单见 [3.维护文档.md](开源蕴宇开发直达文档/3.维护文档.md)。 --- ## 🤝 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'feat: add amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建 Pull Request ### 开发约定 - 后端 API 统一响应 `{code, msg, data}` - SQL 迁移按版本号命名 `Vx.x.x__description.sql` - 模块结构:`module/{name}/{controller,service,mapper,entity}/` - 状态枚举统一在 `common/constant/` 中定义 --- ## 📄 许可证 本项目基于 **Apache License 2.0** 协议开源。 ``` Copyright © 2026 刘峰宇 / 蕴宇数字智创工作室 (Yunyu Digital Creation Studio) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` ---

用 ❤️ 和 🍜 打造 · 蕴宇数字智创工作室