Files
SI_TEALab_2025_LabWebsite/dofile/BACKEND_SETUP.md
T
pengxiao a3eb5c7b2d init: TEALab 2025 实验室网站项目
从百度网盘 /apps/bypy/dofile/ 下载的完整项目结构,包含:
- dofile/: Flask 后端(端口 5000)+ 静态前端(端口 6002)
- officefile/: 项目相关文档
- .gitignore: Python venv / 日志 / 缓存

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-14 01:07:19 +08:00

172 lines
3.5 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.
# 后端系统设置指南
## 登录前后的功能差别
### 登录前
- 只能查看公开内容
- 受保护内容显示"登录后查看"遮罩
- 无法下载受保护资源
- 无法查看详细统计数据
- 导航栏显示"登录"按钮
### 登录后
- 可以查看所有内容,包括受保护内容
- 可以下载受保护资源
- 可以查看详细统计数据(文章数、资源数、下载量等)
- 导航栏显示用户名和"退出"按钮
- 可以访问内部文章和资料
## 快速开始
### 1. 安装Python依赖
```bash
cd backend
pip install -r requirements.txt
```
或使用虚拟环境:
```bash
cd backend
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
pip install -r requirements.txt
```
### 2. 初始化数据库
```bash
cd backend
python init_data.py
```
这将创建:
- 数据库表
- 默认管理员账户:`admin` / `admin123`
- 测试用户账户:`user` / `user123`
- 示例受保护内容
### 3. 启动后端服务器
```bash
cd backend
python app.py
```
或使用启动脚本:
```bash
./start_backend.sh
```
服务器将在 `http://localhost:5000` 启动。
### 4. 启动前端服务器
在另一个终端:
```bash
cd dofile
python3 -m http.server 6002 --bind 0.0.0.0
```
## 测试登录功能
1. 访问 `http://localhost:6002/website.html`
2. 点击导航栏的"登录"按钮
3. 使用以下账户登录:
- 管理员:`admin` / `admin123`
- 普通用户:`user` / `user123`
4. 登录后,页面会显示受保护内容区块
## API端点说明
### 认证相关
- `POST /api/auth/login` - 用户登录
- `POST /api/auth/logout` - 用户登出
- `GET /api/auth/check` - 检查登录状态
### 内容管理
- `GET /api/cms/articles` - 获取文章列表
- `GET /api/cms/resources` - 获取资源列表
- `GET /api/cms/team` - 获取团队成员
### 受保护内容
- `GET /api/protected-content` - 获取受保护内容(需登录)
- `GET /api/stats` - 获取统计数据(需登录)
- `GET /api/download/<id>` - 下载资源文件
## 内容管理系统(CMS
管理员可以通过API管理内容:
1. **文章管理**
- 创建、编辑、删除文章
- 设置文章为受保护内容
- 控制文章发布状态
2. **资源管理**
- 上传文件资源
- 设置资源为受保护
- 跟踪下载次数
3. **团队管理**
- 添加、编辑团队成员信息
- 管理成员角色和排序
## 数据库
- 开发环境使用SQLite`data/dael.db`
- 生产环境建议使用PostgreSQL
- 数据库模型定义在 `backend/models.py`
## 文件结构
```
backend/
├── app.py # Flask主应用
├── models.py # 数据库模型
├── init_data.py # 初始化脚本
├── requirements.txt # Python依赖
├── routes/ # API路由
│ ├── auth.py # 认证路由
│ ├── cms.py # 内容管理路由
│ └── api.py # 其他API路由
└── README.md # 详细文档
data/
└── dael.db # SQLite数据库
uploads/ # 上传文件存储
```
## 注意事项
1. **安全性**
- 生产环境必须更改默认密码
- 使用强SECRET_KEY
- 启用HTTPS
- 配置CORS策略
2. **性能**
- 生产环境使用PostgreSQL
- 配置文件上传大小限制
- 使用CDN存储静态文件
3. **扩展性**
- 可以添加更多用户角色
- 可以实现更细粒度的权限控制
- 可以集成第三方认证服务