first commit
This commit is contained in:
96
README.md
Normal file
96
README.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# 抽奖系统
|
||||
|
||||
一个基于React + Node.js + SQLite的抽奖系统,支持多浏览器数据同步。
|
||||
|
||||
## 功能特点
|
||||
|
||||
- ✅ **统一数据库**: 使用SQLite数据库,确保所有浏览器访问相同数据
|
||||
- ✅ **实时同步**: 前后端分离架构,数据实时同步
|
||||
- ✅ **多浏览器支持**: 不同浏览器访问显示相同的抽奖数据
|
||||
- ✅ **管理功能**: 完整的后台管理系统
|
||||
- ✅ **抽奖记录**: 完整的抽奖历史记录
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 方式一:使用启动脚本(推荐)
|
||||
|
||||
```bash
|
||||
# 一键启动前后端服务
|
||||
./start.sh
|
||||
```
|
||||
|
||||
### 方式二:手动启动
|
||||
|
||||
1. 安装依赖:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
2. 启动后端服务器:
|
||||
```bash
|
||||
node server/index.js
|
||||
```
|
||||
|
||||
3. 启动前端开发服务器:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## 访问地址
|
||||
|
||||
- **前端页面**: http://localhost:5173
|
||||
- **后端API**: http://localhost:3001
|
||||
- **管理页面**: http://localhost:5173/admin
|
||||
|
||||
## 数据库说明
|
||||
|
||||
系统使用SQLite数据库存储所有数据,数据库文件位于:`/server/lottery.db`
|
||||
|
||||
### 数据表结构
|
||||
|
||||
- `system_config`: 系统配置
|
||||
- `prizes`: 奖项信息
|
||||
- `students`: 学生抽奖记录
|
||||
- `records`: 抽奖历史记录
|
||||
|
||||
## 多浏览器测试
|
||||
|
||||
1. 在Chrome中打开: http://localhost:5173
|
||||
2. 在Firefox中打开: http://localhost:5173
|
||||
3. 在Safari中打开: http://localhost:5173
|
||||
|
||||
所有浏览器将显示相同的数据,确保数据一致性。
|
||||
|
||||
## 默认配置
|
||||
|
||||
- 管理员密码: `123456`
|
||||
- 登录密码: `123456`
|
||||
- 最大抽奖次数: `1`
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **前端**: React 18 + TypeScript + Vite + Tailwind CSS
|
||||
- **后端**: Node.js + Express + SQLite3
|
||||
- **状态管理**: Zustand
|
||||
- **数据库**: SQLite
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 前端无法连接后端
|
||||
|
||||
1. 确保后端服务器正在运行(端口3001)
|
||||
2. 检查CORS配置
|
||||
3. 确认防火墙设置
|
||||
|
||||
### 数据不同步
|
||||
|
||||
1. 确认所有浏览器都访问同一个前端地址
|
||||
2. 检查后端数据库文件是否存在
|
||||
3. 清除浏览器缓存后重试
|
||||
|
||||
### 端口冲突
|
||||
|
||||
- 前端默认端口: 5173
|
||||
- 后端默认端口: 3001
|
||||
|
||||
如需修改端口,请编辑相应的配置文件。
|
||||
Reference in New Issue
Block a user