Files
Aliyun-VOD-Media-Library-Ma…/MEMORY.md
T

72 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MEMORY.md
> 项目状态与关键决策记录,供跨会话参考。
## 当前状态
- **版本**v0.1.0MVP
- **阶段**:基础功能已完成,前后端均可构建并运行
- **最后更新**2026-06-29
## 已完成的里程碑
### MVPv0.1.0
- [x] 前后端项目初始化
- [x] SQLite 数据库与默认管理员账号
- [x] JWT 登录认证与管理员/只读角色
- [x] 阿里云 VOD 账号配置(多账号、切换、Secret 加密)
- [x] 视频列表、搜索、筛选
- [x] 视频详情查看
- [x] 批量获取下载地址(支持指定清晰度)
- [x] 批量删除视频
- [x] 批量更新视频元信息
- [x] VOD 分类树读取
- [x] 操作日志记录
- [x] Docker + Docker Compose 部署配置
- [x] README 与部署文档
- [x] GitHub Actions CI 配置
## 架构决策
1. **前后端分离**React 前端 + Express 后端,生产环境由后端 serve 前端静态资源。
2. **数据库选型**:使用 SQLite,零部署成本,适合个人/小团队自托管。
3. **密钥安全**AccessKey Secret 使用 AES-256-GCM 加密,密钥通过 `APP_ENCRYPTION_KEY` 环境变量注入。
4. **API 调用代理**:所有阿里云 VOD API 调用均通过后端代理,前端不接触密钥。
5. **权限模型**:简单双角色(admin / readonly),admin 可修改账号与执行删除/更新,readonly 仅可查看与下载。
## 已知问题 / 待优化
1. 下载地址获取是同步串行循环,后续应改为异步队列并增加进度条。
2. 前端构建产物单文件较大(>1MB),可考虑按路由懒加载。
3. 尚未接入真实阿里云 VOD 环境进行端到端验证,字段映射可能需要根据实际 API 响应微调。
4. 单元测试覆盖较少,目前仅覆盖 crypto 工具函数。
5. 分类树目前只读取一层子分类,未做递归展开。
## 后续规划
### 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 持久化。