# course chapter 一句话:管理双层目录课程的章,仅机构管理员;每次只操作一章,底层全量提交。单层目录课程请用 [`course section`](zeyiji-course-section.md)。 向用户汇报前 MUST 遵循 [课程对外表达](zeyiji-course-presentation.md)。 ## 命令 ```bash # 添加章(默认追加到末尾;--sort 可指定排序值) zeyiji-cli course chapter add --course-id 123 --name "第一章 Go基础" zeyiji-cli course chapter add --course-id 123 --name "第二章 进阶" --sort 1 # 编辑章:--chapter-id 或 --index 二选一 zeyiji-cli course chapter edit --course-id 123 --chapter-id 456 --name "新名称" zeyiji-cli course chapter edit --course-id 123 --index 0 --name "第一章 入门" --sort 2 # 删除章(连带该章下所有节,不可逆) zeyiji-cli course chapter delete --course-id 123 --chapter-id 456 zeyiji-cli course chapter delete --course-id 123 --index 1 # 预览请求(不实际执行) zeyiji-cli course chapter add --course-id 123 --name "测试" --dry-run ``` ## 参数要点 | 参数 | 说明 | |---|---| | `--course-id` | 必填,课程 ID | | `--name` | add 必填;edit 时可只传 `--name` / `--sort` 之一 | | `--chapter-id` / `--index` | 定位章的两种方式,二选一;`--index` 从 0 开始(= detail 中「第 N 章」的 N - 1) | | `--sort` | add 不传则追加到末尾;edit 设置新排序值 | - 删除后 CLI 会重排剩余章的 sort;章内节随章一起删除。 - 先 `course detail --course-id ` 查看章名称与顺序;需要精确操作时才记录章 ID。 ## 对外结果 - 添加成功:说「已添加第 N 章《章名称》」。 - 编辑成功:说「已更新第 N 章《章名称》」,只补充实际变化的名称或顺序。 - 删除成功:说「已删除第 N 章《章名称》,该章下 N 个节已一并删除」;节数未知时不要编造。 ## 常见错误 | 现象 | 处理 | |---|---| | 该课程为单层目录,不支持目录操作 | 改用 `course section` 管理节 | | 请通过 --chapter-id 或 --index 指定要编辑/删除的目录 | 补定位参数 | | 请至少提供一个修改项:--name 或 --sort | edit 至少传一个 | | 未找到ID为 x 的目录 | 用 `course detail` 核对实际 ID | | 目录序号超出范围: x,当前共 N 个目录 | 序号从 0 起核对 | | 该课程当前没有目录,无需删除 | 无章可删,确认课程状态 |