# 数字图书馆任务编排(v1) 后端(ruoyi-manage) - Domain:`Library` `LibraryAsset` `LibraryFavorite` `LibraryDownloadLog` `LibraryLog` `LibraryLibrarian` - Mapper:接口 + `resources/mapper/manage/*.xml` - Service:`ILibraryService` `LibraryServiceImpl` 等(写操作加事务) - Controller: - 门户:`/portal/library` 列表/详情/下载/收藏/上传/编辑/删除/资产增删 - 后台:`/manage/library` 列表/详情/审核通过/驳回/上下架/删除/硬删 - 管理员:`/manage/library/librarian` 列表/任命/卸任(联动 `sys_user_role`) - 权限:`manage:library:*`、`manage:libraryLibrarian:*`(与前端一致) - 校验:ISBN-13 数字与校验位;资产类型/大小白名单;重复 ISBN 提示 - 下载:计数 + 302 跳转;日志落 `tb_book_download_log` - 硬删除:删除 DB + OSS(按 `oss_object_key`) - PDF 封面:上传 PDF 后异步抽取首页缩略图(失败不阻塞) 前端(frontend/src) - API:`src/api/portal/library.js`、`src/api/manage/library.js` - 门户视图: - `views/portal/library/List.vue`(搜索/筛选/分页 + 上传入口) - `views/portal/library/Detail.vue`(多格式下载按钮 + 收藏) - `views/portal/library/Upload.vue`(提交/编辑表单 + 资产追加) - `views/portal/library/Top.vue`(下载榜/贡献榜) - `views/portal/library/Favorite.vue` - 后台视图: - `views/manage/library/Audit.vue`(待审列表 + 审批抽屉/驳回原因) - `views/manage/library/List.vue`(已通过/下架) - `views/manage/library/Librarian.vue`(任命/卸任) - 按钮权限:`v-hasPermi` 与后端一致 配置与菜单(RuoYi 后台) - 目录:数字图书馆(/manage/library) - 菜单:审核队列、图书列表、图书管理员、下载统计 - 按钮:`manage:library:list|get|approve|reject|offline|online|remove|hardRemove`、`manage:libraryLibrarian:list|add|remove` 测试(后端) - 成功:新增→追加资产→审核通过→下载→榜单 - 失败:ISBN 重复、ISBN 校验位错误、资产类型非法、无权限访问 - 权限:普通用户上传/编辑/删除、管理员审核与硬删、librarian 角色访问限制