// Package api 是程序的"门面"——所有网页请求都先到这里,再转给背后的服务。 // // 大白话理解:这是前台接待处。页面上的每个按钮、每次查询, // 都会变成一个"请求"发到这里;这里分发给对应的办事窗口(controller), // 办完再用统一的格式回话。 package api import ( "net/http" "github.com/gin-gonic/gin" ) // Response 所有接口的统一回话格式: // - code:成功 200,出错 400/500 // - message:一句话说明(成功就是 success,出错就是原因) // - data:真正要返回的数据 type Response struct { Code int `json:"code"` Message string `json:"message"` Data interface{} `json:"data"` } // Success 返回成功回话(code=200)。 func Success(c *gin.Context, data interface{}) { c.JSON(http.StatusOK, Response{ Code: http.StatusOK, Message: "success", Data: data, }) } // Error 返回失败回话。statusCode 只允许 400(参数不对)/ 500(服务器出错)。 func Error(c *gin.Context, statusCode int, message string) { c.JSON(statusCode, Response{ Code: statusCode, Message: message, Data: nil, }) } // PageResult 分页列表的统一格式:list 是这一页的数据,total 是总条数。 type PageResult struct { List []interface{} `json:"list"` Total int64 `json:"total"` }