a3eb5c7b2d
从百度网盘 /apps/bypy/dofile/ 下载的完整项目结构,包含: - dofile/: Flask 后端(端口 5000)+ 静态前端(端口 6002) - officefile/: 项目相关文档 - .gitignore: Python venv / 日志 / 缓存 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
89 lines
1.8 KiB
Markdown
89 lines
1.8 KiB
Markdown
# DAEL Lab Backend API
|
|
|
|
Flask后端API服务器,提供用户认证、内容管理和数据API功能。
|
|
|
|
## 安装和设置
|
|
|
|
### 1. 安装依赖
|
|
|
|
```bash
|
|
cd backend
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 2. 配置环境变量
|
|
|
|
复制 `.env.example` 为 `.env` 并修改配置:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
### 3. 初始化数据库
|
|
|
|
```bash
|
|
python init_data.py
|
|
```
|
|
|
|
这将创建数据库表和默认账户:
|
|
- 管理员:`admin` / `admin123`
|
|
- 测试用户:`user` / `user123`
|
|
|
|
### 4. 启动服务器
|
|
|
|
```bash
|
|
python app.py
|
|
```
|
|
|
|
服务器将在 `http://localhost:5000` 启动。
|
|
|
|
## API端点
|
|
|
|
### 认证
|
|
- `POST /api/auth/register` - 用户注册
|
|
- `POST /api/auth/login` - 用户登录
|
|
- `POST /api/auth/logout` - 用户登出
|
|
- `GET /api/auth/check` - 检查认证状态
|
|
- `GET /api/auth/me` - 获取当前用户信息
|
|
|
|
### 内容管理
|
|
- `GET /api/cms/articles` - 获取文章列表
|
|
- `GET /api/cms/articles/<id>` - 获取单篇文章
|
|
- `POST /api/cms/articles` - 创建文章(管理员)
|
|
- `PUT /api/cms/articles/<id>` - 更新文章(管理员)
|
|
- `DELETE /api/cms/articles/<id>` - 删除文章(管理员)
|
|
|
|
- `GET /api/cms/resources` - 获取资源列表
|
|
- `POST /api/cms/resources` - 上传资源(管理员)
|
|
|
|
- `GET /api/cms/team` - 获取团队成员列表
|
|
- `POST /api/cms/team` - 创建团队成员(管理员)
|
|
|
|
### 其他API
|
|
- `GET /api/download/<resource_id>` - 下载资源文件
|
|
- `GET /api/stats` - 获取统计数据(需登录)
|
|
- `GET /api/protected-content` - 获取受保护内容(需登录)
|
|
|
|
## 数据库模型
|
|
|
|
- **User**: 用户模型
|
|
- **Article**: 文章/新闻模型
|
|
- **Resource**: 资源文件模型
|
|
- **TeamMember**: 团队成员模型
|
|
|
|
## 开发说明
|
|
|
|
- 数据库文件存储在 `../data/dael.db`
|
|
- 上传文件存储在 `../uploads/`
|
|
- 使用SQLite作为开发数据库,生产环境建议使用PostgreSQL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|