分类管理
分类管理帮助管理员创建有声书主题板块,并控制不同用户的访问权限。
核心功能入口路径
- Web 端:左侧导航 → 分类管理
- App 端:我的 → 我的分类(管理员可见删除等高级操作)
核心操作
- 新增分类:设置分类名称、颜色与描述
- 编辑分类:修改名称与展示样式
- 删除分类:彻底删除整个分类(仅删除分类关联关系,不影响书籍本身)
- 绑定书籍:为分类添加或移除书籍
- 分页与筛选:针对大量分类提供分页与快速定位能力
- AI 分类:可按储存库执行一键分类,自动把书籍归入已有分类
AI 分类
入口路径
- 分类管理页顶部:选择储存库后点击
一键生成预设分类
操作流程
- 选择目标储存库。
- 点击
一键生成预设分类。 - 在确认卡片中核对待处理数量后确认执行。
状态与回显
- 分类任务以服务端任务状态为准。
- 页面刷新后会按任务信息恢复
进行中/完成/失败状态,不会丢失进度展示。 - 页面会展示分类总数、待分类书籍数量、最近一次分类时间与 Token 消耗(如有)。
使用限制
- 仅管理员可执行 AI 分类。
- 大批量书籍会异步处理,期间可在任务列表持续查看进度与失败明细。
核心逻辑 (Technical Settings)
1. 显式授权机制
- 除管理员外,普通用户仅能查看被显式授权且状态为启用 (
enabled=1) 的分类。 - 授权关系存储在
user_category_access表中。
2. 排序一致性
- 全平台(Web/Flutter)统一使用
sort_order(升序) 作为首要排序依据。 - 若
sort_order相同,则以id(降序) 或name作为次要依据。
3. 后端数据约束
- 元数据表 (
book_category):存储分类名称、描述、排序权重、启用状态等。 - 关联表 (
book_category_item):维护书籍与分类的关联关系,支持分类内书籍的自定义排序。 - 权限表 (
user_category_access):记录用户对特定分类的访问权限。
常见注意事项
- 分类名称建议简洁清晰,便于首页展示
- 删除分类不会删除书籍,仅移除分类关系
- 批量操作:添加大量书籍到分类时可能需要几秒钟处理时间。
