// 课程内容请求和响应类型定义 type CourseContent { Id int `json:"id"` // 内容ID(主键) CourseId int `json:"course_id"` // 关联课程ID ParentId int `json:"parent_id"` // 父级ID(0表示章节,>0表示小节) Title string `json:"title"` // 章节/小节标题 Content string `json:"content"` // 内容详情 Sort int `json:"sort"` // 排序 } // 基础响应结构 type BaseResp { Code int `json:"code"` // 状态码,0表示成功 Message string `json:"message"` // 提示信息 Data interface{} `json:"data"` // 响应数据 } // 获取课程内容列表请求 type GetContentListReq { CourseId int `json:"course_id" form:"course_id"` // 课程ID,必填 ParentId int `json:"parent_id" form:"parent_id"` // 父级ID,可选,0表示获取章节 } // 获取课程内容列表响应 type GetContentListResp { BaseResp Data []CourseContent `json:"data"` // 内容列表 } // 获取单个内容详情请求 type GetContentReq { Id int `json:"id" form:"id" uri:"id"` // 内容ID,必填 } // 获取单个内容详情响应 type GetContentResp { BaseResp Data CourseContent `json:"data"` // 内容详情 } // 新增内容请求 type AddContentReq { CourseId int `json:"course_id" form:"course_id"` // 课程ID,必填 ParentId int `json:"parent_id" form:"parent_id"` // 父级ID,必填 Title string `json:"title" form:"title"` // 标题,必填 Content string `json:"content" form:"content"` // 内容详情,可选 Sort int `json:"sort" form:"sort"` // 排序,可选 } // 新增内容响应 type AddContentResp { BaseResp Data int `json:"data"` // 新增内容的ID } // 更新内容请求 type UpdateContentReq { Id int `json:"id" form:"id"` // 内容ID,必填 Title string `json:"title" form:"title"` // 标题,可选 Content string `json:"content" form:"content"` // 内容详情,可选 Sort int `json:"sort" form:"sort"` // 排序,可选 } // 更新内容响应 type UpdateContentResp { BaseResp } // 删除内容请求 type DeleteContentReq { Id int `json:"id" form:"id" uri:"id"` // 内容ID,必填 } // 删除内容响应 type DeleteContentResp { BaseResp } // 课程内容API服务 @server ( group: course_content prefix: /api/course-content ) service course_content_api { // 获取课程内容列表 @handler GetContentListHandler get /api/course-content/list (GetContentListReq) returns (GetContentListResp) // 获取单个内容详情 @handler GetContentHandler get /api/course-content/:id (GetContentReq) returns (GetContentResp) // 新增内容 @handler AddContentHandler post /api/course-content (AddContentReq) returns (AddContentResp) // 更新内容 @handler UpdateContentHandler put /api/course-content (UpdateContentReq) returns (UpdateContentResp) // 删除内容 @handler DeleteContentHandler delete /api/course-content/:id (DeleteContentReq) returns (DeleteContentResp) }