Spaces:
Sleeping
Sleeping
进度 (progress.md)
已完成的工作
- FastAPI 应用启动: 成功运行 FastAPI 应用。
- CORS 配置: 解决了跨域请求问题。
- 用户注册接口:
- 实现了
/api/auth/register接口。 - 用户 ID 使用 UUID 生成。
- 用户名、密码和用户 ID 存储到 SQLite 数据库的
users表。 - 处理了用户名重复的错误。
- 响应数据结构符合要求。
- 实现了
- 用户登录接口:
- 实现了
/api/auth/login接口。 - 验证用户名和密码。
- 登录成功返回用户 ID 和用户名。
- 登录失败返回自定义错误码和信息。
- 优化了错误捕获和日志输出。
- 实现了
- 类型提示兼容性修复: 修复了
app.py中Course模型因 Python 版本导致的类型提示错误。 - 课程表字段扩展: 在
courses表中增加了page_info字段(TEXT 类型,用于存储 JSON)。 - 课程接口功能增强:
CoursePydantic 模型已更新,包含page_info字段。add_course接口现在支持page_info字段的 JSON 序列化存储。get_course_details接口现在支持page_info字段的 JSON 反序列化。
- 文件系统:
- 创建了
upload/images目录。
- 创建了
待完成的工作
- 安全性增强:
- 密码哈希: 实现用户密码的哈希存储,而不是明文存储。
- 会话管理/JWT: 实现用户登录后的认证机制,确保后续请求的安全性。
- 更多业务接口: 根据 AI-EDU H5 的具体需求,逐步添加其他 API 接口。
- 数据库抽象: 考虑引入 ORM(如 SQLAlchemy)来更好地管理数据库操作。
已完成的工作
- 课程管理接口:
- 实现了
courses表的创建。 - 实现了
/api/course/add接口,用于添加课程。 - 实现了
/api/course/details/{course_id}接口,用于获取课程详情。
- 实现了
当前状态
- 基本的用户认证功能已实现并可运行。
- 数据库集成已完成。
- 接口响应格式已统一。
已知问题
- 密码明文存储,存在安全风险。
项目决策演变
- 从简单的
{"Hello": "World!"}接口逐步扩展到完整的用户认证流程。 - 从模拟
user_id到使用uuid确保唯一性。 - 从默认的 404 错误到自定义的业务错误响应。
- 从未处理 CORS 到添加
CORSMiddleware。