# 进度 (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)。 - **课程接口功能增强**: - `Course` Pydantic 模型已更新,包含 `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`。