From 7ef870fe24d79408b549bcb521771af9df15653f Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Sat, 1 Nov 2025 23:00:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=BE=E7=A8=8B=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E6=96=87=E4=BB=B6api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/course_file.api | 72 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/server/api/course_file.api b/server/api/course_file.api index e69de29b..b6fa9839 100644 --- a/server/api/course_file.api +++ b/server/api/course_file.api @@ -0,0 +1,72 @@ +// 课程文件创建请求(无需id、create_time、update_time,由数据库自动生成) +type CreateCourseFileReq { + ContentId int `json:"content_id" form:"content_id" validate:"required"` // 关联的内容ID(必填) + Title string `json:"title" form:"title" validate:"required,max=255"` // 文件标题(必填,最长255字符) + FileType string `json:"file_type" form:"file_type" validate:"required,max=30"` // 文件类型(必填,最长30字符) + FileUrl string `json:"file_url" form:"file_url" validate:"required,max=255"` // 文件URL(必填,最长255字符) +} + +// 课程文件创建响应 +type CreateCourseFileResp { + Id int `json:"id"` // 新增文件的ID + Message string `json:"message"` // 操作结果信息 +} + +// 课程文件查询请求(根据ID查询) +type GetCourseFileReq { + Id int `json:"id" form:"id" param:"id" validate:"required"` // 文件ID(必填,从路径参数获取) +} + +// 课程文件查询响应(返回完整文件信息) +type GetCourseFileResp { + Id int `json:"id"` // 文件ID + ContentId int `json:"content_id"` // 关联的内容ID + Title string `json:"title"` // 文件标题 + FileType string `json:"file_type"` // 文件类型 + FileUrl string `json:"file_url"` // 文件URL + CreateTime string `json:"create_time"` // 创建时间(格式化字符串) + UpdateTime string `json:"update_time"` // 更新时间(格式化字符串) +} + +// 课程文件更新请求(部分字段更新) +type UpdateCourseFileReq { + Id int `json:"id" form:"id" validate:"required"` // 文件ID(必填) + ContentId int `json:"content_id" form:"content_id"` // 可选:更新关联的内容ID + Title string `json:"title" form:"title" validate:"omitempty,max=255"` // 可选:更新标题 + FileType string `json:"file_type" form:"file_type" validate:"omitempty,max=30"` // 可选:更新文件类型 + FileUrl string `json:"file_url" form:"file_url" validate:"omitempty,max=255"` // 可选:更新文件URL +} + +// 课程文件更新响应 +type UpdateCourseFileResp { + Message string `json:"message"` // 操作结果信息 +} + +// 课程文件删除请求 +type DeleteCourseFileReq { + Id int `json:"id" form:"id" param:"id" validate:"required"` // 文件ID(必填,从路径参数获取) +} + +// 课程文件删除响应 +type DeleteCourseFileResp { + Message string `json:"message"` // 操作结果信息 +} + +@server ( + group: course_file // 接口分组改为课程文件相关 + prefix: /api/course-file +) +service course_file_api { // 服务名称修改为课程文件API + @handler CreateCourseFileHandler // 创建课程文件 + post /course-file (CreateCourseFileReq) returns (CreateCourseFileResp) + + @handler GetCourseFileHandler // 查询单个课程文件 + get /course-file/:id (GetCourseFileReq) returns (GetCourseFileResp) + + @handler UpdateCourseFileHandler // 更新课程文件 + put /course-file (UpdateCourseFileReq) returns (UpdateCourseFileResp) + + @handler DeleteCourseFileHandler // 删除课程文件 + delete /course-file/:id (DeleteCourseFileReq) returns (DeleteCourseFileResp) +} +