mirror of
https://github.com/tiger1103/gfast.git
synced 2026-10-06 06:46:08 +00:00
53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package response
|
|
|
|
import (
|
|
"github.com/gogf/gf/frame/g"
|
|
"github.com/gogf/gf/net/ghttp"
|
|
)
|
|
|
|
const (
|
|
SuccessCode int = 0
|
|
ErrorCode int = -1
|
|
)
|
|
|
|
// 返回JSON数据并退出当前HTTP执行函数。
|
|
func JsonExit(r *ghttp.Request, code int, msg string, data ...interface{}) {
|
|
RJson(r, code, msg, data...)
|
|
r.Exit()
|
|
}
|
|
|
|
// 标准返回结果数据结构封装。
|
|
// 返回固定数据结构的JSON:
|
|
// code: 状态码(200:成功,302跳转,和http请求状态码一至);
|
|
// msg: 请求结果信息;
|
|
// data: 请求结果,根据不同接口返回结果的数据结构不同;
|
|
func RJson(r *ghttp.Request, code int, msg string, data ...interface{}) {
|
|
responseData := interface{}(nil)
|
|
if len(data) > 0 {
|
|
responseData = data[0]
|
|
}
|
|
result := g.Map{
|
|
"code": code,
|
|
"msg": msg,
|
|
"data": responseData,
|
|
}
|
|
r.SetParam("apiReturnRes", result)
|
|
r.Response.WriteJson(result)
|
|
}
|
|
|
|
//成功返回JSON
|
|
func SusJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) {
|
|
if isExit {
|
|
JsonExit(r, SuccessCode, msg, data...)
|
|
}
|
|
RJson(r, SuccessCode, msg, data...)
|
|
}
|
|
|
|
//失败返回JSON
|
|
func FailJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) {
|
|
if isExit {
|
|
JsonExit(r, ErrorCode, msg, data...)
|
|
}
|
|
RJson(r, ErrorCode, msg, data...)
|
|
}
|