HaniBlindBox/README.md
2026-01-01 21:43:38 +08:00

339 lines
8.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 抽奖盲盒系统
欢迎来到抽奖盲盒系统!这是一个基于 **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地址
- 配置小程序AppIDmanifest.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