修改api结构

This commit is contained in:
2025-11-01 23:38:51 +08:00
parent c2db98cd76
commit 6351539237
21 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
// 通用基础响应结构不含泛型兼容Goctl
type BaseResp {
Code int `json:"code"` // 状态码0成功非0失败
Msg string `json:"message"` // 提示信息
}
// 社会服务实体结构(与表字段对应)
type SocialService {
Id int64 `json:"id"` // 主键ID
Title string `json:"title"` // 标题
Subtitle string `json:"subtitle,omitempty"` // 副标题
CoverUrl string `json:"cover_url,omitempty"` // 封面图片URL
Intro string `json:"intro,omitempty"` // 简介(纯文字)
Content string `json:"content,omitempty"` // 内容Markdown格式
ImageEditors string `json:"image_editors,omitempty"` // 图片编辑者名单(逗号分隔)
TextEditors string `json:"text_editors,omitempty"` // 文字编辑者名单(逗号分隔)
ChiefEditor string `json:"chief_editor,omitempty"` // 总编辑
Proofreaders string `json:"proofreaders,omitempty"` // 校对者名单(逗号分隔)
Reviewers string `json:"reviewers,omitempty"` // 审核者名单(逗号分隔)
PublishTime string `json:"publish_time"` // 发布时间格式yyyy-MM-dd HH:mm:ss
UpdateTime string `json:"update_time"` // 最后更改时间格式yyyy-MM-dd HH:mm:ss
}
// 创建社会服务 - 请求参数
type CreateSocialServiceReq {
Title string `json:"title" validate:"required"` // 标题(必填)
Subtitle string `json:"subtitle,omitempty"` // 副标题
CoverUrl string `json:"cover_url,omitempty"` // 封面图片URL
Intro string `json:"intro,omitempty"` // 简介(纯文字)
Content string `json:"content,omitempty"` // 内容Markdown格式
ImageEditors string `json:"image_editors,omitempty"` // 图片编辑者名单(逗号分隔)
TextEditors string `json:"text_editors,omitempty"` // 文字编辑者名单(逗号分隔)
ChiefEditor string `json:"chief_editor,omitempty"` // 总编辑
Proofreaders string `json:"proofreaders,omitempty"` // 校对者名单(逗号分隔)
Reviewers string `json:"reviewers,omitempty"` // 审核者名单(逗号分隔)
}
// 创建社会服务 - 响应参数(嵌套数据,无泛型)
type CreateSocialServiceResp {
Code int `json:"code"`
Msg string `json:"message"`
Data CreateSocialServiceData `json:"data,omitempty"`
}
type CreateSocialServiceData {
Id int64 `json:"id"` // 新增记录的ID
}
// 获取社会服务列表 - 请求参数
type ListSocialServiceReq {
Page int `json:"page" form:"page" validate:"min=1"` // 页码默认1
PageSize int `json:"page_size" form:"page_size" validate:"min=1,max=100"` // 每页条数默认10最大100
}
// 获取社会服务列表 - 响应参数(嵌套数据,无泛型)
type ListSocialServiceResp {
Code int `json:"code"`
Msg string `json:"message"`
Data ListSocialServiceData `json:"data,omitempty"`
}
type ListSocialServiceData {
Total int64 `json:"total"` // 总条数
List []SocialService `json:"list"` // 列表数据
}
// 获取社会服务详情 - 请求参数(路径参数)
type GetSocialServiceReq {
Id int64 `json:"id" path:"id" validate:"min=1"` // 社会服务ID必填
}
// 获取社会服务详情 - 响应参数(嵌套数据,无泛型)
type GetSocialServiceResp {
Code int `json:"code"`
Msg string `json:"message"`
Data SocialService `json:"data,omitempty"`
}
// 更新社会服务 - 请求参数
type UpdateSocialServiceReq {
Id int64 `json:"-" path:"id" validate:"min=1"` // 社会服务ID路径参数必填
Title string `json:"title,omitempty"` // 标题
Subtitle string `json:"subtitle,omitempty"` // 副标题
CoverUrl string `json:"cover_url,omitempty"` // 封面图片URL
Intro string `json:"intro,omitempty"` // 简介(纯文字)
Content string `json:"content,omitempty"` // 内容Markdown格式
ImageEditors string `json:"image_editors,omitempty"` // 图片编辑者名单(逗号分隔)
TextEditors string `json:"text_editors,omitempty"` // 文字编辑者名单(逗号分隔)
ChiefEditor string `json:"chief_editor,omitempty"` // 总编辑
Proofreaders string `json:"proofreaders,omitempty"` // 校对者名单(逗号分隔)
Reviewers string `json:"reviewers,omitempty"` // 审核者名单(逗号分隔)
}
// 更新社会服务 - 响应参数(基础响应,无额外数据)
type UpdateSocialServiceResp {
Code int `json:"code"`
Msg string `json:"message"`
}
// 删除社会服务 - 请求参数(路径参数)
type DeleteSocialServiceReq {
Id int64 `json:"id" path:"id" validate:"min=1"` // 社会服务ID必填
}
// 删除社会服务 - 响应参数(基础响应,无额外数据)
type DeleteSocialServiceResp {
Code int `json:"code"`
Msg string `json:"message"`
}
@server (
group: socialService
prefix: /api/social-service // 统一前缀,接口路径无需重复
)
service social_service_api {
// 创建社会服务
@handler CreateSocialServiceHandler
post / (CreateSocialServiceReq) returns (CreateSocialServiceResp)
// 获取社会服务列表
@handler ListSocialServiceHandler
get /list (ListSocialServiceReq) returns (ListSocialServiceResp)
// 获取社会服务详情
@handler GetSocialServiceHandler
get /:id (GetSocialServiceReq) returns (GetSocialServiceResp)
// 更新社会服务
@handler UpdateSocialServiceHandler
put /:id (UpdateSocialServiceReq) returns (UpdateSocialServiceResp)
// 删除社会服务
@handler DeleteSocialServiceHandler
delete /:id (DeleteSocialServiceReq) returns (DeleteSocialServiceResp)
}