# sky-take-out **Repository Path**: yang_codeSpace/sky-take-out ## Basic Information - **Project Name**: sky-take-out - **Description**: 解决大多苍穹外卖代码不全问题 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/zhang-zhibo131415/sky-take-out - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-06 - **Last Updated**: 2026-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 苍穹外卖系统 (Sky Take-Out) ## 项目概述 苍穹外卖系统是一个完整的全栈外卖平台解决方案,包含后端服务、前端管理端和微信小程序端三大部分。系统实现了从商家管理、菜品管理、订单处理到用户点餐、支付的全流程功能,为外卖业务提供了高效、便捷的数字化管理工具。 二次开发主要解决来单提醒没有弹窗和语音播报、微信支付不成功、取消订单、拒单失败等问题 原版请使用Nginx 1.20.2启动前端 使用前端代码启动需注意作者修改了名字:舌尖中国 当语音播报不成功时,打开开发者模式(F12),有如下显示 “Uncaught (in promise) NotAllowedError: play() failed because the user didn't interact with the document first.” 意思就是说,因为没有首先与浏览器页面进行交互,所以播放失败。现代浏览器为了提升用户体验并减少不必要的流量消耗,通常会阻止自动播放音频或视频。 解决方法很简单,只需要在页面随意进行交互即可。然后再回到微信开发者工具重新下单就会出现声音。到此就解决了没有弹窗和声音的两个问题。 ## 核心功能 ### 后端服务 - **员工管理**:员工信息管理、登录认证、权限控制 - **分类管理**:菜品分类、套餐分类的增删改查 - **菜品管理**:菜品信息、口味、图片的管理 - **套餐管理**:套餐组合、价格、图片的管理 - **订单管理**:订单处理、状态更新、订单统计 - **用户管理**:用户信息、地址管理 - **购物车管理**:购物车添加、修改、删除 - **数据统计**:运营数据报表生成 - **微信支付**:集成微信支付功能 - **WebSocket实时通知**:订单状态实时推送 ### 前端管理端 - **登录认证**:管理员登录、权限验证 - **仪表盘**:销售数据概览、订单状态监控 - **员工管理**:员工信息维护、账号管理 - **分类管理**:菜品和套餐分类管理 - **菜品管理**:菜品信息、图片、口味管理 - **套餐管理**:套餐组合、价格设置 - **订单管理**:订单详情查看、状态处理 - **数据统计**:销售数据、用户数据、菜品销量分析 - **通知管理**:系统通知、订单提醒 ### 微信小程序端 - **首页**:菜品浏览、分类筛选 - **商品详情**:菜品详情、口味选择 - **购物车**:商品添加、数量修改、结算 - **订单**:订单提交、支付、历史订单查看 - **地址管理**:地址添加、修改、删除、默认地址设置 - **个人中心**:用户信息、订单管理、地址管理 ## 技术栈 ### 后端 - **语言**:Java - **框架**:Spring Boot 2.7.3 - **持久层**:MyBatis、MyBatis-Plus - **数据库**:MySQL - **缓存**:Redis - **认证**:JWT - **API文档**:Knife4j - **文件存储**:阿里云OSS - **支付**:微信支付API v3 - **实时通信**:WebSocket - **工具库**:Lombok、Fastjson、PageHelper、POI ### 前端管理端 - **框架**:Vue 2.6.10 - **语言**:TypeScript 3.6.2 - **UI库**:Element UI - **图表**:ECharts 5.6.0 - **路由**:Vue Router - **状态管理**:Vuex - **HTTP客户端**:Axios - **构建工具**:Vue CLI 3.11.0 - **样式预处理**:Sass ### 微信小程序端 - **框架**:原生微信小程序 - **UI组件**:Uni-App组件库 ### 部署 - **Web服务器**:Nginx 1.20.2 ## 项目结构 ``` sky-take-out/ ├── sky-common/ # 公共模块 ├── sky-pojo/ # 数据模型 ├── sky-server/ # 后端服务 │ ├── src/main/java/com/sky/ # 后端代码 │ │ ├── aspect/ # 切面 │ │ ├── config/ # 配置 │ │ ├── controller/ # 控制器 │ │ ├── handler/ # 异常处理器 │ │ ├── interceptor/ # 拦截器 │ │ ├── mapper/ # 数据访问 │ │ ├── service/ # 业务逻辑 │ │ ├── task/ # 定时任务 │ │ ├── websocket/ # WebSocket │ │ └── SkyApplication.java # 应用入口 │ ├── src/main/resources/ # 资源文件 │ └── pom.xml # Maven配置 ├── project-sky-admin-vue-ts/ # 前端管理端 │ ├── src/ # 前端代码 │ │ ├── api/ # API调用 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 组件 │ │ ├── icons/ # 图标 │ │ ├── layout/ # 布局 │ │ ├── store/ # 状态管理 │ │ ├── styles/ # 样式 │ │ ├── utils/ # 工具 │ │ ├── views/ # 页面 │ │ ├── App.vue # 应用根组件 │ │ ├── main.ts # 应用入口 │ │ └── router.ts # 路由配置 │ └── package.json # 依赖配置 ├── mp-weixin/ # 微信小程序端 │ ├── pages/ # 页面 │ ├── components/ # 组件 │ ├── common/ # 公共文件 │ └── static/ # 静态资源 ├── nginx-1.20.2/ # Nginx服务器 └── README.md # 项目说明 ``` ## 环境配置 ### 后端环境 1. **JDK 1.8+**:确保安装了Java Development Kit 1.8或更高版本 2. **MySQL 5.7+**:安装并配置MySQL数据库 3. **Redis 5.0+**:安装并启动Redis服务 4. **Maven 3.6+**:用于项目构建和依赖管理 5. **IDE**:推荐使用IntelliJ IDEA或Eclipse ### 前端管理端环境 1. **Node.js 10.13+**:确保安装了Node.js 2. **npm 6.11+**:Node.js包管理器 3. **IDE**:推荐使用Visual Studio Code ### 微信小程序端环境 1. **微信开发者工具**:用于小程序开发和调试 2. **微信公众平台账号**:用于小程序注册和发布 ## 安装与部署 ### 后端服务 1. **克隆项目**: ```bash git clone cd sky-take-out ``` 2. **配置数据库**: - 创建数据库 `sky_take_out` - 导入数据库脚本(如果提供) 3. **修改配置文件**: - 编辑 `sky-server/src/main/resources/application-dev.yml` - 配置数据库连接信息 - 配置Redis连接信息 - 配置JWT密钥 - 配置阿里云OSS信息(如果使用) - 配置微信支付信息(如果使用) 4. **构建项目**: ```bash cd sky-server mvn clean package -DskipTests ``` 5. **启动服务**: ```bash java -jar target/sky-server-1.0-SNAPSHOT.jar ``` ### 前端管理端 1. **安装依赖**: ```bash cd project-sky-admin-vue-ts npm install ``` 2. **修改配置**: - 编辑 `.env.development` 文件 - 配置后端API地址 3. **开发环境启动**: ```bash npm run serve ``` 4. **构建生产版本**: ```bash npm run build ``` ### 微信小程序端 1. **导入项目**: - 打开微信开发者工具 - 导入 `mp-weixin` 目录 2. **修改配置**: - 编辑小程序配置文件 - 配置后端API地址 3. **预览与调试**: - 使用微信开发者工具进行预览和调试 ### Nginx部署 1. **配置Nginx**: - 编辑 `nginx-1.20.2/conf/nginx.conf` - 配置前端管理端和API代理 2. **启动Nginx**: ```bash cd nginx-1.20.2 nginx.exe ``` ## API文档 后端服务启动后,可以通过以下地址访问API文档: ``` http://localhost:8080/doc.html ``` API文档使用Knife4j生成,包含了所有接口的详细说明、请求参数和响应格式。 ## 使用指南 ### 后端管理 1. **登录系统**: - 访问前端管理端地址 - 使用管理员账号登录 2. **系统设置**: - 添加员工账号 - 配置菜品分类 - 添加菜品信息 - 设置套餐组合 3. **订单管理**: - 接收新订单通知 - 处理订单状态 - 查看订单详情 4. **数据统计**: - 查看销售数据报表 - 分析菜品销量 - 了解用户增长情况 ### 微信小程序使用 1. **用户注册/登录**: - 打开小程序 - 使用微信账号登录 2. **浏览菜品**: - 在首页浏览菜品 - 使用分类筛选菜品 3. **点餐流程**: - 选择菜品,添加到购物车 - 确认订单信息,选择地址 - 提交订单,完成支付 4. **订单管理**: - 查看订单状态 - 查看历史订单 - 管理收货地址 ## 贡献规范 1. **分支管理**: - `master`:主分支,用于发布稳定版本 - `develop`:开发分支,用于集成新功能 - `feature/*`:特性分支,用于开发新功能 - `bugfix/*`:修复分支,用于修复bug 2. **提交规范**: - 提交信息应清晰描述更改内容 - 使用英文提交信息 - 格式:`[类型] 描述`,例如:`[Feature] 添加用户注册功能` 3. **代码规范**: - 后端:遵循Java代码规范 - 前端:遵循Vue和TypeScript代码规范 - 确保代码风格一致 4. **Pull Request流程**: - 从`develop`分支创建特性分支 - 完成开发后,提交Pull Request到`develop`分支 - 等待代码审查 - 审查通过后,合并到`develop`分支 ## 许可证 本项目采用MIT许可证,详情请参阅LICENSE文件。 ## 联系方式 - **项目维护者**:zhibo - **邮箱**:255325851@qq.com - **问题反馈**:请在GitHub仓库提交Issue --- **感谢您使用苍穹外卖系统!** 如有任何问题或建议,欢迎联系我。