// 公共结构体:会议详情(用于查询响应,包含表中所有字段) 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) }