339 lines
8.0 KiB
Markdown
339 lines
8.0 KiB
Markdown
# 抽奖盲盒系统
|
||
|
||
欢迎来到抽奖盲盒系统!这是一个基于 **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。 |