一键打包生成oem项目exe
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

86 lines
2.1 KiB

package response
import (
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gmutex"
)
const (
SuccessCode int = 1000
ErrorCode int = -1
)
type Response struct {
// 代码
Code int `json:"code" example:"200"`
// 数据集
Data interface{} `json:"data"`
// 消息
Message string `json:"message"`
}
var (
response = new(Response)
mu = gmutex.New()
)
func RJson(r *ghttp.Request, code int, message string, data ...interface{}) {
response.RJson(r, code, message, data...)
}
func SusJson(isExit bool, r *ghttp.Request, message string, data ...interface{}) {
// message = lang.ToKey(r.GetCtx(), message)
response.SusJson(isExit, r, message, data...)
}
func FailJson(isExit bool, r *ghttp.Request, message string, data ...interface{}) {
// message = lang.ToKey(r.GetCtx(), message)
response.FailJson(isExit, r, message, data...)
}
// 返回JSON数据并退出当前HTTP执行函数。
func (res *Response) JsonExit(r *ghttp.Request, code int, message string, data ...interface{}) {
res.RJson(r, code, message, data...)
r.Exit()
}
// 标准返回结果数据结构封装。
// 返回固定数据结构的JSON:
// code: 状态码(200:成功,302跳转,和http请求状态码一至);
// message: 请求结果信息;
// data: 请求结果,根据不同接口返回结果的数据结构不同;
func (res *Response) RJson(r *ghttp.Request, code int, message string, data ...interface{}) {
responseData := interface{}(nil)
if len(data) > 0 {
responseData = data[0]
}
response = &Response{
Code: code,
Message: message,
Data: responseData,
}
r.SetParam("apiReturnRes", response)
r.Response.WriteJson(response)
}
// 成功返回JSON
func (res *Response) SusJson(isExit bool, r *ghttp.Request, message string, data ...interface{}) {
if isExit {
res.JsonExit(r, SuccessCode, message, data...)
}
res.RJson(r, SuccessCode, message, data...)
}
// 失败返回JSON
func (res *Response) FailJson(isExit bool, r *ghttp.Request, message string, data ...interface{}) {
if isExit {
res.JsonExit(r, ErrorCode, message, data...)
}
res.RJson(r, ErrorCode, message, data...)
}