a3eb5c7b2d
从百度网盘 /apps/bypy/dofile/ 下载的完整项目结构,包含: - dofile/: Flask 后端(端口 5000)+ 静态前端(端口 6002) - officefile/: 项目相关文档 - .gitignore: Python venv / 日志 / 缓存 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
后端系统设置指南
登录前后的功能差别
登录前
- 只能查看公开内容
- 受保护内容显示"登录后查看"遮罩
- 无法下载受保护资源
- 无法查看详细统计数据
- 导航栏显示"登录"按钮
登录后
- 可以查看所有内容,包括受保护内容
- 可以下载受保护资源
- 可以查看详细统计数据(文章数、资源数、下载量等)
- 导航栏显示用户名和"退出"按钮
- 可以访问内部文章和资料
快速开始
1. 安装Python依赖
cd backend
pip install -r requirements.txt
或使用虚拟环境:
cd backend
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
pip install -r requirements.txt
2. 初始化数据库
cd backend
python init_data.py
这将创建:
- 数据库表
- 默认管理员账户:
admin/admin123 - 测试用户账户:
user/user123 - 示例受保护内容
3. 启动后端服务器
cd backend
python app.py
或使用启动脚本:
./start_backend.sh
服务器将在 http://localhost:5000 启动。
4. 启动前端服务器
在另一个终端:
cd dofile
python3 -m http.server 6002 --bind 0.0.0.0
测试登录功能
- 访问
http://localhost:6002/website.html - 点击导航栏的"登录"按钮
- 使用以下账户登录:
- 管理员:
admin/admin123 - 普通用户:
user/user123
- 管理员:
- 登录后,页面会显示受保护内容区块
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管理内容:
-
文章管理
- 创建、编辑、删除文章
- 设置文章为受保护内容
- 控制文章发布状态
-
资源管理
- 上传文件资源
- 设置资源为受保护
- 跟踪下载次数
-
团队管理
- 添加、编辑团队成员信息
- 管理成员角色和排序
数据库
- 开发环境使用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/ # 上传文件存储
注意事项
-
安全性
- 生产环境必须更改默认密码
- 使用强SECRET_KEY
- 启用HTTPS
- 配置CORS策略
-
性能
- 生产环境使用PostgreSQL
- 配置文件上传大小限制
- 使用CDN存储静态文件
-
扩展性
- 可以添加更多用户角色
- 可以实现更细粒度的权限控制
- 可以集成第三方认证服务