Files
hldrCenter/server/api/course.api
2025-10-31 13:24:07 +08:00

76 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 课程请求结构体
type CreateCourseReq {
Title string `json:"title" validate:"required"` // 课程标题
Subtitle string `json:"subtitle"` // 课程副标题
CoverUrl string `json:"cover_url"` // 课程封面图URL
Intro string `json:"intro"` // 课程简介
Status int8 `json:"status" default:"1"` // 课程状态0删除1-已发布)
}
type UpdateCourseReq {
Id int64 `json:"id" validate:"required"` // 课程ID
Title string `json:"title"` // 课程标题
Subtitle string `json:"subtitle"` // 课程副标题
CoverUrl string `json:"cover_url"` // 课程封面图URL
Intro string `json:"intro"` // 课程简介
Status int8 `json:"status"` // 课程状态0删除1-已发布)
}
type GetCourseReq {
Id int64 `json:"id" validate:"required"` // 课程ID
}
type DeleteCourseReq {
Id int64 `json:"id" validate:"required"` // 课程ID
}
type ListCourseReq {
Page int `json:"page" default:"1"` // 页码
Size int `json:"size" default:"10"` // 每页数量
Status int8 `json:"status"` // 课程状态筛选
Keyword string `json:"keyword"` // 搜索关键词(标题/副标题)
}
// 课程响应结构体
type CourseResp {
Id int64 `json:"id"` // 课程ID
Title string `json:"title"` // 课程标题
Subtitle string `json:"subtitle"` // 课程副标题
CoverUrl string `json:"cover_url"` // 课程封面图URL
Intro string `json:"intro"` // 课程简介
Status int8 `json:"status"` // 课程状态
CreateTime string `json:"create_time"` // 创建时间
UpdateTime string `json:"update_time"` // 更新时间
}
type ListCourseResp {
Total int64 `json:"total"` // 总条数
List []CourseResp `json:"list"` // 课程列表
}
type BaseResp {
Code int `json:"code"` // 状态码0成功非0失败
Msg string `json:"msg"` // 提示信息
}
@server (
group: course
)
service course-api {
@handler CreateCourseHandler
post /api/courses (CreateCourseReq) returns (BaseResp)
@handler UpdateCourseHandler
put /api/courses (UpdateCourseReq) returns (BaseResp)
@handler GetCourseHandler
get /api/courses/:id (GetCourseReq) returns (CourseResp)
@handler DeleteCourseHandler
delete /api/courses/:id (DeleteCourseReq) returns (BaseResp)
@handler ListCourseHandler
get /api/courses (ListCourseReq) returns (ListCourseResp)
}