# 道台福 **Repository Path**: pas66/DaoTaiFu ## Basic Information - **Project Name**: 道台福 - **Description**: 野菜包子项目预订系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 野菜包子预定商城系统
[![GitHub stars](https://img.shields.io/github/stars/wild-vegetable-preorder?style=flat-square)](https://github.com/wild-vegetable-preorder) [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat-square)](LICENSE) 专注于野菜包子及野菜制品的B2C电商平台,采用统一配送模式,为个人消费者和企业客户提供便捷的在线预订服务。
## 产品特性 ### 核心功能 - **商品管理**: 野菜包子及野菜制品展示、搜索、分类、库存管理 - **会员系统**: 注册登录、邮箱验证、会员等级、积分奖励 - **购物车**: 商品添加、数量修改、结算 - **订单管理**: 订单创建、查询、取消、确认收货 - **定时配送**: 早餐/午餐/晚餐三个配送批次 - **企业定制**: 企业账户、批量订购、发票服务 - **PWA应用**: 可安装到桌面、离线访问、后台消息推送 ### 技术亮点 - PWA 支持:可安装到桌面、离线访问、后台消息推送 - Vue3 Composition API:使用最新的 Vue 3 组合式 API - TypeScript:全类型支持,提升代码质量 - 前后端分离:前台 Vue3 + 后台 FastAdmin - 定时配送:支持早餐/午餐/晚餐三个配送时段 ## 技术栈 | 层级 | 技术选型 | 说明 | |------|----------|------| | 前台框架 | Vue 3 + TypeScript | 组合式API + Pinia状态管理 | | PWA | VitePWA | Service Worker + 离线支持 | | 后台框架 | FastAdmin | 基于ThinkPHP6 | | API风格 | RESTful | JSON格式交互 | | 数据库 | MySQL 8.0 | 主从复制架构 | | 缓存 | Redis 7.0 | Session + 热数据缓存 | | 部署 | Docker |容器化部署 | ## 项目结构 ``` wild-vegetable-preorder/ ├── backend/ # FastAdmin 后台项目 │ ├── application/ # 应用目录 │ │ ├── admin/ # 后台管理模块 │ │ ├── api/ # API 模块 │ │ └── common/ # 公共模块 │ ├── database/ # 数据库脚本 │ └── public/ # 入口文件和静态资源 ├── frontend/ # Vue3 前台项目 │ ├── src/ # 源代码目录 │ │ ├── api/ # API 接口封装 │ │ ├── components/ # 公共组件 │ │ ├── pages/ # 页面组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ └── types/ # TypeScript 类型定义 │ └── public/ # 公共静态资源 ├── scripts/ # 部署脚本 ├── docker-compose.yml # Docker 配置 └── README.md ``` ## 快速开始 ### 环境要求 - Node.js 18+ - PHP 8.1+ - MySQL 8.0+ - Redis 7.0+ - Docker (可选) ### 使用 Docker 启动 (推荐) ```bash # 克隆项目 git clone cd wild-vegetable-preorder # 启动所有服务 chmod +x scripts/start.sh ./scripts/start.sh ``` 服务地址: - 前端: http://localhost:3000 - 后端API: http://localhost:8080 - 管理后台: http://localhost:8080/admin ### 手动启动 #### 后端启动 ```bash cd backend # 安装依赖 composer install # 复制配置 cp .env.example .env # 配置数据库连接 # 编辑 .env 文件设置数据库参数 # 导入数据库 mysql -u root -p < database/init.sql # 启动服务 php think run -H 0.0.0.0 -p 8080 ``` #### 前端启动 ```bash cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ## 功能模块详解 ### 会员等级制度 | 等级 | 消费门槛 | 订单数门槛 | 积分倍率 | 专属折扣 | |------|----------|------------|----------|----------| | 普通 | <2000元 | <5单 | 1.0倍 | - | | 银卡 | ≥2000元 | ≥15单 | 1.2倍 | 98折 | | 金卡 | ≥5000元 | ≥30单 | 1.5倍 | 95折 | | 钻石 | ≥10000元 | ≥50单 | 2.0倍 | 92折 | ### 积分规则 - 消费1元返1积分(按会员等级倍率) - 100积分可兑换1元价值的商品 - 积分不可提现 ### 配送时间 | 批次 | 时段 | 截单时间 | |------|------|----------| | 早餐 | 06:00-08:00 | 前一日20:00 | | 午餐 | 11:00-13:00 | 当日08:00 | | 晚餐 | 17:00-19:00 | 当日14:00 | ## API 接口 ### 认证接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/auth/register | 用户注册 | | POST | /api/auth/login | 用户登录 | | POST | /api/auth/logout | 退出登录 | | POST | /api/auth/sendVerifyEmail | 发送邮箱验证 | | POST | /api/auth/verifyEmail | 验证邮箱 | | POST | /api/auth/sendResetCode | 发送密码重置验证码 | ### 用户接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/user/info | 获取用户信息 | | PUT | /api/user/info | 更新用户信息 | | GET | /api/user/addresses | 获取地址列表 | | POST | /api/user/address | 添加地址 | | PUT | /api/user/address/:id | 更新地址 | | DELETE | /api/user/address/:id | 删除地址 | ### 商品接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/product/list | 商品列表 | | GET | /api/product/detail/:id | 商品详情 | | GET | /api/product/categories | 商品分类 | ### 订单接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/order/create | 创建订单 | | GET | /api/order/list | 订单列表 | | GET | /api/order/detail/:order_no | 订单详情 | | POST | /api/order/cancel/:order_no | 取消订单 | | POST | /api/order/confirm/:order_no | 确认收货 | ### 积分接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/integral/balance | 积分余额 | | GET | /api/integral/logs | 积分日志 | | POST | /api/integral/exchange | 积分兑换 | ### 配送接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/delivery/batches | 配送批次 | | GET | /api/delivery/track/:order_no | 配送跟踪 | ## 数据库表结构 | 表名 | 说明 | |------|------| | user | 用户表 | | user_address | 用户地址表 | | category | 商品分类表 | | product | 商品表 | | cart | 购物车表 | | order | 订单主表 | | order_item | 订单明细表 | | integral_log | 积分日志表 | | delivery | 配送表 | | enterprise | 企业表 | | login_log | 登录日志表 | | price_change_log | 价格变更日志表 | ## 安全特性 - JWT Token认证,有效期7天 - 密码加盐哈希存储(bcrypt) - 登录失败5次锁定30分钟 - 邮箱验证机制 - SQL注入防护 - XSS攻击防护 ## 部署架构 ```mermaid graph TB subgraph 前台客户端 PWA[Vue3 PWA应用] H5[移动端H5] WEB[PC Web端] end subgraph 网关层 NGINX[Nginx 反向代理] end subgraph 后台服务 ADMIN[FastAdmin 后台] API[RESTful API] end subgraph 数据层 MYSQL[(MySQL 数据库)] REDIS[(Redis 缓存)] end PWA --> NGINX H5 --> NGINX WEB --> NGINX NGINX --> ADMIN NGINX --> API API --> MYSQL API --> REDIS ``` ## 开发指南 ### 前端开发 ```bash # 安装依赖 npm install # 开发模式 npm run dev # 类型检查 npm run type-check # 构建生产版本 npm run build ``` ### 后端开发 请参考 FastAdmin 官方文档进行后台项目初始化: - FastAdmin 文档: https://doc.fastadmin.net - ThinkPHP6 文档: https://www.kancloud.cn/topthink/thinkphp6 ## 测试账号 | 角色 | 账号 | 密码 | |------|------|------| | 管理员 | admin | admin123 | | 测试用户 | test | test123 | ## 许可证 本项目基于 MIT 许可证开源,详情请参阅 [LICENSE](LICENSE) 文件。 ## 贡献指南 欢迎提交 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 ## 联系方式 - 项目主页: https://github.com/wild-vegetable-preorder - 问题反馈: https://github.com/wild-vegetable-preorder/issues ---
Made with ❤️ for wild vegetable lovers