init: TEALab 2025 实验室网站项目

从百度网盘 /apps/bypy/dofile/ 下载的完整项目结构,包含:
- dofile/: Flask 后端(端口 5000)+ 静态前端(端口 6002)
- officefile/: 项目相关文档
- .gitignore: Python venv / 日志 / 缓存

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-14 01:07:19 +08:00
commit a3eb5c7b2d
39 changed files with 7110 additions and 0 deletions
+171
View File
@@ -0,0 +1,171 @@
# 后端系统设置指南
## 登录前后的功能差别
### 登录前
- 只能查看公开内容
- 受保护内容显示"登录后查看"遮罩
- 无法下载受保护资源
- 无法查看详细统计数据
- 导航栏显示"登录"按钮
### 登录后
- 可以查看所有内容,包括受保护内容
- 可以下载受保护资源
- 可以查看详细统计数据(文章数、资源数、下载量等)
- 导航栏显示用户名和"退出"按钮
- 可以访问内部文章和资料
## 快速开始
### 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. **扩展性**
- 可以添加更多用户角色
- 可以实现更细粒度的权限控制
- 可以集成第三方认证服务