diff --git a/README.md b/README.md index 5160a43..60bf959 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,11 @@ ## 特性 +- 多用户登录、角色与权限隔离(admin / privileged / user) +- 积分账户、预扣、成功扣除、失败退款 +- 兑换码批次生成、使用、撤销与审计 - 音乐搜索与分页 -- 下载队列、去重、失败重试 +- 下载队列、用户任务去重、跨用户媒体资源去重、失败重试 - 自动识别实际音频格式,避免错误扩展名 - 标记解析后的音质与实际音质 - WebDAV/NAS 同步 @@ -65,11 +68,40 @@ go build -o am-downloader . ## API +认证: + +- `POST /api/auth/login` +- `POST /api/auth/logout` +- `POST /api/auth/password` +- `GET /api/auth/me` + +用户功能: + - `GET /api/search` - `GET /api/tasks` - `POST /api/tasks` - `POST /api/tasks/:id/retry` - `DELETE /api/tasks/:id` -- `GET /api/settings` -- `PUT /api/settings` +- `GET /api/credits` +- `POST /api/redeem` +- `GET/PUT /api/webdav/config` - `POST /api/webdav/test` + +管理员功能: + +- `GET/POST /api/admin/users` +- `PUT /api/admin/users/:id` +- `GET /api/admin/redeem` +- `POST /api/admin/redeem` +- `POST /api/admin/redeem/:id/revoke` +- `GET /api/admin/audit` +- `GET/PUT /api/admin/settings` +- `POST /api/admin/webdav/test` + +## 数据库迁移注意事项 + +首次从旧版本升级时,启动过程会自动执行 GORM schema migration,并将旧任务归属到首次创建的管理员账号;同时把旧的全局任务唯一索引改为按用户隔离的唯一索引,并创建共享媒体资源表。 + +升级前仍建议先备份 `data/downloader.db`。Docker 部署时不要把 `data/` 或 `downloads/` 加入 Git。 + +当前版本不会主动删除旧媒体文件;媒体资源记录缺失本地文件时会在下一次请求中重新取得资源。