# WaiMai Platform **Repository Path**: CodingKeep/GoodShida ## Basic Information - **Project Name**: WaiMai Platform - **Description**: 一个功能完善的外卖平台系统,支持商业化运营。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-04 - **Last Updated**: 2026-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🍜 外卖平台 - WaiMai Platform
一个功能完善的外卖平台系统,支持商业化运营
--- ## 项目简介 **WaiMai Platform** 是一个基于 SpringBoot 3.0.5 + Vue 3 + UniApp 构建的完整外卖平台解决方案。系统采用前后端分离架构,支持多端部署,涵盖平台运营、商家管理、用户下单、骑手配送等完整业务流程。 ### 核心特性 - ✅ **多端支持**:PC管理端、商家端、用户小程序、骑手小程序 - ✅ **完整业务**:从用户下单到配送完成的完整业务流程 - ✅ **高性能**:虚拟滚动、批量操作、缓存优化等性能优化 - ✅ **易扩展**:模块化设计,支持二次开发和定制 - ✅ **生产就绪**:完善的错误处理、日志记录、权限控制 ### 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 用户端小程序 (UniApp) │ │ 浏览店铺、下单、支付、评价 │ └───────────────────────┬───────────────────────────────────────┘ │ ┌───────────────────────┴───────────────────────────────────────┐ │ 平台运营端 (Vue3 + Naive UI) │ │ 系统管理、数据统计、订单监控、财务管理 │ └───────────────────────┬───────────────────────────────────────┘ │ ┌───────────────────────┴───────────────────────────────────────┐ │ 商家管理端 (Vue3 + Naive UI) │ │ 店铺管理、商品管理、订单处理、数据统计 │ └───────────────────────┬───────────────────────────────────────┘ │ ┌───────────────────────┴───────────────────────────────────────┐ │ 骑手端小程序 (UniApp) │ │ 接单、配送、位置上报、收益管理 │ └───────────────────────┬───────────────────────────────────────┘ │ ┌───────────────┴───────────────┐ │ SpringBoot 后端服务集群 │ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │Admin │ │Merch │ │ App │ │ │ │ API │ │ API │ │ API │ │ │ └──────┘ └──────┘ └──────┘ │ └───────────────┬───────────────┘ │ ┌───────────────┴───────────────┐ │ MySQL + Redis + RabbitMQ │ └───────────────────────────────┘ ``` ## 技术栈 ### 后端技术 | 技术 | 说明 | 版本 | |------|------|------| | SpringBoot | 基础框架 | 3.0.5 | | MySQL | 数据库 | 8.0+ | | MyBatis-Plus | ORM框架 | 3.5.3.1 | | Redis | 缓存/分布式锁 | 7.0+ | | Sa-Token | 权限认证 | 1.35.0.RC | | RabbitMQ | 消息队列 | 3.12+ | | Knife4j | 接口文档 | 4.1.0 | | MinIO | 文件存储 | 8.5.2 | | Hutool | 工具类库 | 5.8.18 | ### 前端技术 | 技术 | 说明 | |------|------| | Vue 3 | 前端框架 | | TypeScript | 类型安全的 JavaScript | | Vite | 构建工具 | | Naive UI | PC端UI组件库 | | Pinia | 状态管理 | | Vue Router | 路由管理 | | Axios | HTTP 客户端 | | UniApp | 小程序框架 | | uView Plus | 小程序UI组件库 | | ECharts | 数据可视化图表库 | ## 项目结构 ``` SpringBoot+Vue WaiMaiPingTa/ ├── doc/ # 文档目录 │ └── sql/ # 数据库SQL脚本 │ └── waimai_platform.sql # 完整建表SQL(63张表) │ ├── waimai-server/ # 后端项目 │ ├── waimai-common/ # 公共模块(工具类、配置) │ ├── waimai-pojo/ # 实体类模块(Entity、DTO、VO) │ ├── waimai-admin/ # 平台管理端API(端口:8081) │ ├── waimai-merchant/ # 商家端API(端口:8082) │ ├── waimai-app/ # 用户端API(端口:8083) │ └── waimai-rider/ # 骑手端API(端口:8084) │ ├── waimai-admin/ # 平台运营端前端(Vue3 + Naive UI) │ ├── src/ │ │ ├── api/ # API 接口定义 │ │ ├── components/ # 公共组件 │ │ ├── layouts/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面组件 │ └── package.json │ ├── waimai-merchant-web/ # 商家管理端前端(Vue3 + Naive UI) │ └── ... │ ├── waimai-user-mp/ # 用户端小程序(UniApp + uView) │ └── ... │ └── waimai-rider-mp/ # 骑手端小程序(UniApp + uView) └── ... ``` ## 快速开始 ### 环境要求 - **JDK** 17+ - **Maven** 3.8+ - **MySQL** 8.0+ - **Redis** 7.0+ - **RabbitMQ** 3.12+(可选) - **Node.js** 18+ ### 一、数据库初始化 ```bash # 1. 创建数据库 mysql -u root -p CREATE DATABASE waimai_platform DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 2. 导入SQL脚本 mysql -u root -p waimai_platform < doc/sql/waimai_platform.sql ``` ### 二、后端服务启动 ```bash # 1. 克隆项目 git clone https://gitee.com/zhongshichaosss/GoodShida.git cd SpringBoot+Vue\ WaiMaiPingTa # 2. 修改配置文件 # 编辑 waimai-server/waimai-admin/src/main/resources/application-dev.yml # 配置数据库连接、Redis连接等信息 # 3. 编译项目 cd waimai-server mvn clean install -DskipTests # 4. 启动平台管理端服务 cd waimai-admin mvn spring-boot:run # 或使用IDE直接运行 WaimaiAdminApplication.java # 服务启动后访问:http://localhost:8081/admin-api/doc.html 查看API文档 ``` **默认管理员账号:** - 用户名:`admin` - 密码:`admin123`(请首次登录后修改) ### 三、前端项目启动 #### 平台运营端 ```bash cd waimai-admin npm install npm run dev ``` 访问地址:http://localhost:3000 #### 商家管理端 ```bash cd waimai-merchant-web npm install npm run dev ``` 访问地址:http://localhost:3001 #### 小程序端 1. 使用 **HBuilderX** 或 **微信开发者工具** 打开对应项目目录 2. 配置小程序 AppID 3. 修改 API 基础地址(`src/utils/request.ts`) 4. 编译运行 ### 四、服务端口说明 | 服务 | 端口 | 说明 | |------|------|------| | 平台管理端API | 8081 | 平台运营管理接口 | | 商家端API | 8082 | 商家管理接口 | | 用户端API | 8083 | 用户小程序接口 | | 骑手端API | 8084 | 骑手小程序接口 | | 平台管理前端 | 3000 | 平台运营管理界面 | | 商家管理前端 | 3001 | 商家管理界面 | ## 功能模块 ### 平台运营端 - **系统管理**:管理员、角色、菜单权限、操作日志、系统配置、数据字典、地区管理、文件管理 - **用户管理**:用户信息、地址管理、会员等级、积分记录、余额记录 - **商家管理**:商家入驻审核、店铺管理、商家余额、结算管理 - **骑手管理**:骑手注册审核、在线状态、配送记录、收益管理 - **订单管理**:订单列表、订单详情、订单统计、退款处理 - **财务管理**:商家结算、骑手结算、平台流水、提现审核 - **营销管理**:优惠券管理、活动管理、满减规则、广告管理 - **数据统计**:订单统计、销售统计、用户统计、排行榜 - **客服系统**:投诉处理、处理记录 ### 商家管理端 - **店铺管理**:店铺信息、营业时间、营业状态 - **商品管理**:商品列表、商品分类、规格管理、库存管理 - **订单管理**:订单列表、订单处理(接单/拒单/备餐/出餐) - **营销管理**:优惠券查看、活动查看 - **数据统计**:订单统计、销售趋势图表 - **财务管理**:结算记录、结算详情 ### 用户端小程序 - **首页**:店铺推荐、分类浏览、搜索功能 - **店铺**:店铺详情、商品列表、商品详情 - **购物车**:商品管理、规格选择、数量调整 - **订单**:下单确认、订单列表、订单详情、订单追踪、评价 - **我的**:个人信息、收货地址、优惠券、订单历史 ### 骑手端小程序 - **首页**:待接单列表、订单统计 - **订单**:订单列表、订单详情、配送导航 - **配送中**:实时位置、联系客户/商家、确认送达 - **收益**:收益统计、提现申请、收益记录 - **我的**:个人信息、认证信息、评价查看 ## 核心特性 ### 1. 权限管理 - 基于 Sa-Token 的权限认证 - 支持角色、菜单、按钮三级权限控制 - 支持动态权限配置 ### 2. 性能优化 - **虚拟滚动**:大数据量表格性能优化 - **批量操作**:支持批量删除、启用、禁用 - **缓存策略**:Redis 缓存热点数据 - **懒加载**:路由和组件按需加载 ### 3. 代码规范 - **TypeScript**:类型安全,减少运行时错误 - **Composables**:统一的数据管理(useTable、useModal、useApi) - **工具函数**:统一的格式化、验证、常量管理 - **错误处理**:统一的错误处理和用户提示 ### 4. 开发体验 - **API 文档**:Knife4j 自动生成接口文档 - **热更新**:前端开发热更新,后端热部署 - **代码提示**:完整的 TypeScript 类型定义 ## 配置说明 ### 后端配置 修改 `waimai-server/*/src/main/resources/application-dev.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/waimai_platform?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: your_password redis: host: localhost port: 6379 password: your_redis_password ``` ### 前端配置 修改 `vite.config.ts` 中的代理配置: ```typescript proxy: { '/admin-api': { target: 'http://localhost:8081', changeOrigin: true } } ``` ### 小程序配置 修改 `src/utils/request.ts` 中的 API 基础地址: ```typescript const baseURL = 'https://your-domain.com/app-api' ``` ## UI 主题 系统采用统一的设计规范,各端主题色如下: - **平台运营端**:`#F97316` (外卖橙) - **商家管理端**:`#FB923C` (橙色) - **用户端小程序**:`#FF6B00` (食欲橙) - **骑手端小程序**:`#06B6D4` (青蓝色) ## 生产部署 ### 后端部署 ```bash # 1. 打包 cd waimai-server mvn clean package -DskipTests # 2. 运行 java -jar waimai-admin/target/waimai-admin.jar --spring.profiles.active=prod ``` ### 前端部署 ```bash # 1. 构建 cd waimai-admin npm run build # 2. 部署 dist 目录到 Nginx # 配置 Nginx 反向代理到后端服务 ``` ### 小程序发布 1. 使用微信开发者工具上传代码 2. 在微信公众平台提交审核 3. 审核通过后发布 ## 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 开源协议 本项目基于 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) 开源协议。 ## 联系方式 - **微信**:Keep4212 - **邮箱**:3142277367@qq.com - **Gitee**:https://gitee.com/zhongshichaosss/GoodShida ## 更新日志 ### v1.0.0 (2026-02-04) - 项目初始化 - ✅ 完成数据库设计(63张表) - ✅ 搭建SpringBoot多模块项目框架 - ✅ 完成公共模块(工具类、配置、异常处理) - ✅ 集成Sa-Token、MyBatis-Plus、Redis、Knife4j - ✅ 完成平台运营端前端开发 - ✅ 完成商家管理端前端开发 - ✅ 完成用户端小程序开发 - ✅ 完成骑手端小程序开发 - ✅ 实现虚拟滚动优化 - ✅ 实现批量操作功能 - ✅ 完善错误处理和加载状态管理 ---如果这个项目对你有帮助,请给一个 ⭐ Star 支持一下!