# 抽奖盲盒系统 欢迎来到抽奖盲盒系统!这是一个基于 **UniApp + ThinkPHP 6.0** 架构开发的**跨平台抽奖盲盒系统**,主要面向娱乐抽奖和商品销售场景。 ## 📚 文档目录 ### 🎯 [业务流程图](./docs/业务流程图.md) 详细展示了系统的核心业务流程,包括: - 系统整体业务流程 - 用户注册登录流程 - 抽奖核心流程 - 支付流程 - 商品管理流程 - 订单处理流程 - 集市交易流程 - 数据统计分析流程 ### 🏗️ [系统架构图](./docs/系统架构图.md) 全面介绍了系统的技术架构设计,包括: - 系统整体架构 - 前后端架构设计 - 小程序技术架构 - 抽奖算法架构 - 支付系统架构 - 缓存架构设计 - 消息队列架构 - 安全架构设计 - 监控运维架构 ### 🗄️ [数据库设计图](./docs/数据库设计图.md) 完整的数据库设计文档,包含: - 数据库整体ER图 - 核心业务表关系图 - 用户财务系统表关系图 - 商品管理系统表关系图 - 管理后台系统表关系图 - 数据表索引设计 - 数据库分表策略 - 数据备份与恢复策略 ### 🔌 [API接口文档](./docs/API接口文档.md) 详细的API接口说明文档,包括: - 用户认证接口 - 商品相关接口 - 订单相关接口 - 抽奖相关接口 - 盒柜相关接口 - 财务相关接口 - 福利相关接口 - 系统配置接口 - UniApp调用示例 ## 🎮 系统概述 ### 项目结构 ``` 抽奖盲盒系统/ ├── honey_box/ # 前端小程序项目(UniApp) │ ├── pages/ # 页面文件 │ ├── components/ # 组件库 │ ├── common/ # 公共模块 │ └── static/ # 静态资源 ├── server/php/ # 后端API项目(ThinkPHP 6.0) │ ├── app/ # 应用目录 │ ├── config/ # 配置文件 │ └── public/ # 入口文件 └── docs/ # 项目文档 ``` ### 核心特性 - 🎲 **多样化抽奖模式**:支持一番赏、无限赏、擂台赏、抽卡机等9种抽奖类型 - 📱 **跨平台支持**:一套代码支持微信小程序、H5、Android、iOS多端运行 - 💰 **灵活支付系统**:支持微信支付、支付宝、余额、虚拟货币等多种支付方式 - 🎁 **智能奖品管理**:支持普通奖品、宝箱奖品、特殊奖品等多种类型 - 🛒 **完整交易流程**:从下单到收货的完整闭环,支持发货、回收、集市交易 - 📊 **数据分析系统**:全方位的用户行为分析和销售数据统计 - 🔒 **安全防护机制**:多层安全防护,完善的权限控制体系 - ⚡ **高性能算法**:优化的抽奖算法,内存占用减少90%+ ### 技术栈 **前端技术栈:** - **框架**:UniApp + Vue.js 2.x - **构建工具**:HBuilderX - **UI组件**:uni-ui + 自定义组件 - **状态管理**:全局配置管理 + 本地存储 - **网络请求**:封装RequestManager - **多端支持**:微信小程序、H5、Android、iOS **后端技术栈:** - **框架**:ThinkPHP 6.0 - **数据库**:MySQL 5.7+ - **缓存**:Redis - **PHP版本**:7.1+ (兼容 PHP 8.0) - **依赖管理**:Composer - **文件存储**:腾讯云COS ## 🚀 快速开始 ### 环境要求 **前端环境:** - HBuilderX 3.0+ - Node.js 12+ - 微信开发者工具(小程序开发) **后端环境:** - PHP 7.1+ - MySQL 5.7+ - Redis 3.0+ - Composer ### 安装步骤 #### 后端安装 1. **克隆项目** ```bash git clone [项目地址] cd lottery-system/server/php ``` 2. **安装依赖** ```bash composer install ``` 3. **配置环境** ```bash cp .env.example .env # 编辑 .env 文件,配置数据库和其他服务 ``` 4. **导入数据库** ```bash mysql -u root -p < table.sql ``` 5. **启动服务** ```bash php think run ``` #### 前端安装 1. **打开项目** - 使用HBuilderX打开 `honey_box` 目录 2. **配置环境** - 修改 `common/env.js` 中的API地址 - 配置小程序AppID(manifest.json) 3. **运行项目** - 选择运行到微信小程序开发者工具 - 或运行到浏览器(H5版本) ### 配置说明 **后端配置文件位于 `server/php/config/` 目录下:** - `database.php` - 数据库配置 - `app.php` - 应用配置 - `cache.php` - 缓存配置 - `route.php` - 路由配置 **前端配置文件位于 `honey_box/common/` 目录下:** - `env.js` - 环境配置(API地址、图片地址等) - `config.js` - 全局配置管理 - `request.js` - 网络请求配置 ## 📋 业务模块 ### 用户系统 - 手机号注册登录 - 微信授权登录 - 用户信息管理 - 等级体系 - 推荐机制 ### 商品系统 - 商品分类管理 - 多种抽奖类型 - 奖品配置 - 库存管理 - 概率控制 ### 订单系统 - 订单创建 - 支付处理 - 抽奖执行 - 中奖记录 ### 财务系统 - 多币种支持 - 资金流水 - 优惠券系统 - 回收机制 ### 物流系统 - 发货管理 - 物流跟踪 - 收货确认 ### 集市系统 - 商品发布 - 交易撮合 - 安全保障 ## 🔧 开发指南 ### 代码结构 **前端结构(honey_box/):** ``` honey_box/ ├── pages/ # 页面文件 │ ├── shouye/ # 首页模块 │ ├── user/ # 用户中心 │ ├── mall/ # 商城模块 │ ├── infinite/ # 福利模块 │ └── hegui/ # 盒柜模块 ├── components/ # 组件库 ├── common/ # 公共模块 ├── static/ # 静态资源 ├── uni_modules/ # uni-app插件 └── package/ # 分包模块 ``` **后端结构(server/php/):** ``` server/php/ ├── app/ # 应用目录 │ ├── admin/ # 管理后台 │ ├── api/ # API接口 │ ├── index/ # 前台页面 │ ├── command/ # 命令行任务 │ └── common/ # 公共模块 ├── config/ # 配置文件 ├── public/ # 入口文件 ├── route/ # 路由定义 ├── view/ # 视图模板 └── vendor/ # 第三方依赖 ``` ### 开发规范 **前端开发规范:** - 遵循Vue.js开发规范 - 使用UniApp官方组件和API - 组件命名采用kebab-case - 页面路由统一管理 - 网络请求统一封装 **后端开发规范:** - 遵循 PSR-4 自动加载规范 - 使用 ThinkPHP 6.0 开发规范 - 数据库操作使用 ORM - 接口返回统一 JSON 格式 - 完善的异常处理机制 ## 🛡️ 安全特性 ### 数据安全 - 敏感信息加密存储 - SQL注入防护 - XSS攻击防护 - CSRF防护 ### 业务安全 - 防刷机制 - 风控系统 - 异常监控 - 操作审计 ### 系统安全 - Token认证 - 权限控制 - 访问日志 - 安全配置 ## 📈 性能优化 ### 数据库优化 - 合理的索引设计 - 读写分离 - 分表策略 - 查询优化 ### 缓存策略 - Redis缓存 - 数据缓存 - 页面缓存 - 对象缓存 ### 系统优化 - 异步处理 - 队列机制 - 负载均衡 - CDN加速 ## 🔍 监控运维 ### 日志管理 - 应用日志 - 错误日志 - 访问日志 - 业务日志 ### 性能监控 - 系统性能 - 数据库性能 - 接口性能 - 用户体验 ### 告警机制 - 实时告警 - 邮件通知 - 短信通知 - 钉钉通知 ## 🤝 贡献指南 ### 开发流程 1. Fork 项目 2. 创建功能分支 3. 提交代码 4. 创建 Pull Request ### 代码规范 - 遵循 PSR 标准 - 添加必要注释 - 编写单元测试 - 更新文档 ### 问题反馈 - 通过 Issue 反馈问题 - 提供详细的问题描述 - 包含复现步骤 - 提供环境信息 ## 📄 许可证 本项目采用 [Apache 2.0](./LICENSE) 许可证。 --- **注意**:本文档会持续更新,请关注最新版本。如有疑问或建议,欢迎提交 Issue 或 Pull Request。