2.4 KiB
2.4 KiB
MEMORY.md
项目状态与关键决策记录,供跨会话参考。
当前状态
- 版本:v0.1.0(MVP)
- 阶段:基础功能已完成,前后端均可构建并运行
- 最后更新:2026-06-29
已完成的里程碑
MVP(v0.1.0)
- 前后端项目初始化
- SQLite 数据库与默认管理员账号
- JWT 登录认证与管理员/只读角色
- 阿里云 VOD 账号配置(多账号、切换、Secret 加密)
- 视频列表、搜索、筛选
- 视频详情查看
- 批量获取下载地址(支持指定清晰度)
- 批量删除视频
- 批量更新视频元信息
- VOD 分类树读取
- 操作日志记录
- Docker + Docker Compose 部署配置
- README 与部署文档
- GitHub Actions CI 配置
架构决策
- 前后端分离:React 前端 + Express 后端,生产环境由后端 serve 前端静态资源。
- 数据库选型:使用 SQLite,零部署成本,适合个人/小团队自托管。
- 密钥安全:AccessKey Secret 使用 AES-256-GCM 加密,密钥通过
APP_ENCRYPTION_KEY环境变量注入。 - API 调用代理:所有阿里云 VOD API 调用均通过后端代理,前端不接触密钥。
- 权限模型:简单双角色(admin / readonly),admin 可修改账号与执行删除/更新,readonly 仅可查看与下载。
已知问题 / 待优化
- 下载地址获取是同步串行循环,后续应改为异步队列并增加进度条。
- 前端构建产物单文件较大(>1MB),可考虑按路由懒加载。
- 尚未接入真实阿里云 VOD 环境进行端到端验证,字段映射可能需要根据实际 API 响应微调。
- 单元测试覆盖较少,目前仅覆盖 crypto 工具函数。
- 分类树目前只读取一层子分类,未做递归展开。
后续规划
v0.2.0
- 真实 VOD 环境联调与字段校准
- 批量任务异步队列与进度展示
- 标签管理
- 更完善的错误提示
v0.3.0
- 支持 STS 临时凭证
- 下载任务导出 CSV
- 前端路由懒加载优化
v1.0.0
- 中英文国际化
- 完善测试覆盖
- 发布正式 Release
部署注意
- 生产环境必须设置
JWT_SECRET和APP_ENCRYPTION_KEY。 - 默认管理员账号
admin/admin仅用于首次登录,务必修改。 - SQLite 数据库文件位于
apps/server/data/vod-manager.db,Docker 部署时通过 volume 持久化。