Files
hldrCenter/server/api/meeting/main_meeting/meeting.api
2025-11-01 23:38:51 +08:00

105 lines
4.4 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 MeetingDetail {
Id int64 `json:"id"` // 会议ID主键
Theme string `json:"theme"` // 会议主题
Subtitle string `json:"subtitle"` // 会议副标题
Intro string `json:"intro"` // 会议简介Markdown
CoverUrl string `json:"cover_url"` // 封面图URL
ScheduleImageUrl string `json:"schedule_image_url"` // 日程图URL
StartTime string `json:"start_time"` // 开始时间格式YYYY-MM-DD HH:MM:SS
EndTime string `json:"end_time"` // 结束时间格式YYYY-MM-DD HH:MM:SS
CreateTime string `json:"create_time"` // 创建时间(数据库自动生成)
UpdateTime string `json:"update_time"` // 更新时间(数据库自动生成)
}
// 1. 创建会议(增)
type CreateMeetingReq {
Theme string `json:"theme" validate:"required"` // 会议主题(必填)
Subtitle string `json:"subtitle,omitempty"` // 副标题(可选)
Intro string `json:"intro,omitempty"` // 简介(可选)
CoverUrl string `json:"cover_url,omitempty"` // 封面图URL可选
ScheduleImageUrl string `json:"schedule_image_url,omitempty"` // 日程图URL可选
StartTime string `json:"start_time" validate:"required"` // 开始时间(必填,格式同上)
EndTime string `json:"end_time" validate:"required"` // 结束时间(必填)
}
type CreateMeetingResp {
Msg string `json:"message"` // 操作提示(如:"创建成功"
MeetingId int64 `json:"meeting_id"` // 新增会议的ID创建成功返回
}
// 2. 查询单条会议(查-详情)
type GetMeetingReq {
Id int64 `json:"id" path:"id" validate:"required"` // 会议ID从路径参数获取必填
}
type GetMeetingResp {
Msg string `json:"message"` // 操作提示
Meeting *MeetingDetail `json:"meeting"` // 会议详情(查询成功返回)
}
// 3. 查询会议列表(查-分页)
type ListMeetingReq {
Page int `json:"page" query:"page" validate:"min=1"` // 页码默认1
PageSize int `json:"page_size" query:"page_size" validate:"min=1,max=100"` // 每页条数默认10最大100
}
type ListMeetingResp {
Msg string `json:"message"` // 操作提示
Total int64 `json:"total"` // 总条数
Meetings []*MeetingDetail `json:"meetings"` // 会议列表(当前页数据)
}
// 4. 更新会议(改)
type UpdateMeetingReq {
Id int64 `json:"id" validate:"required"` // 会议ID必填用于定位要更新的记录
Theme string `json:"theme,omitempty"` // 会议主题(可选,不填则不更新)
Subtitle string `json:"subtitle,omitempty"` // 副标题(可选)
Intro string `json:"intro,omitempty"` // 简介(可选)
CoverUrl string `json:"cover_url,omitempty"` // 封面图URL可选
ScheduleImageUrl string `json:"schedule_image_url,omitempty"` // 日程图URL可选
StartTime string `json:"start_time,omitempty"` // 开始时间(可选)
EndTime string `json:"end_time,omitempty"` // 结束时间(可选)
}
type UpdateMeetingResp {
Msg string `json:"message"` // 操作提示(如:"更新成功"
}
// 5. 删除会议(删)
type DeleteMeetingReq {
Id int64 `json:"id" path:"id" validate:"required"` // 会议ID从路径参数获取必填
}
type DeleteMeetingResp {
Msg string `json:"message"` // 操作提示(如:"删除成功"
}
// 接口服务定义
@server (
group: meeting // 接口分组:会议相关
prefix: /api/meeting
)
service meeting-api {
// 1. 创建会议POST请求提交会议信息
@handler CreateMeetingHandler
post /api/meetings (CreateMeetingReq) returns (CreateMeetingResp)
// 2. 查询单条会议GET请求路径带ID
@handler GetMeetingHandler
get /api/meetings/:id (GetMeetingReq) returns (GetMeetingResp)
// 3. 查询会议列表GET请求带分页参数
@handler ListMeetingHandler
get /api/meetings (ListMeetingReq) returns (ListMeetingResp)
// 4. 更新会议PUT请求全量/部分更新)
@handler UpdateMeetingHandler
put /api/meetings (UpdateMeetingReq) returns (UpdateMeetingResp)
// 5. 删除会议DELETE请求路径带ID
@handler DeleteMeetingHandler
delete /api/meetings/:id (DeleteMeetingReq) returns (DeleteMeetingResp)
}