123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package response
- import (
- "encoding/json"
- "fmt"
- "github.com/gin-gonic/gin"
- "hongze/hongze_yb/global"
- "hongze/hongze_yb/utils"
- "strings"
- )
- var (
- OK_CODE = 200 //业务成功
- FAIL_CODE = 400 //业务错误
- TOKEN_ERROR_CODE = 401 //toke异常
- NO_AUTH = 403 //没有权限
- SPECIFIC_FAIL_CODE = 4001 // 业务指定错误
- REPORT_NOT_RELEASE_CODE = 4002 // 报告未发布错误
- )
- type ResultData struct {
- Code int `json:"code" description:"状态码"`
- Msg string `json:"msg" description:"提示信息"`
- Data interface{} `json:"data" description:"返回数据"`
- ErrMsg string `json:"-" description:"错误信息,不用返回给前端,只是做日志记录"`
- }
- func result(code int, resultData ResultData, c *gin.Context) {
- jsonByte, _ := json.Marshal(resultData)
- logSlice := utils.GetContextLogListByClaims(c)
- logSlice = append(logSlice, fmt.Sprint("ResultData:", string(jsonByte)))
- //记录错误日志
- if resultData.ErrMsg != "" {
- logSlice = append(logSlice, fmt.Sprint("ErrMsg:", resultData.ErrMsg))
- //global.LOG.Info(strings.Join(logSlice, ";"))
- }
- global.LOG.Info(strings.Join(logSlice, "\n"))
- // 测试环境不加密
- if global.CONFIG.Serve.RunMode == "debug" {
- c.JSON(code, resultData)
- } else {
- encryptResult := utils.DesBase64Encrypt(jsonByte)
- c.JSON(code, string(encryptResult))
- }
- c.Abort()
- }
- // OK 操作成功
- func Ok(msg string, c *gin.Context) {
- resultData := ResultData{
- Code: OK_CODE,
- Msg: msg,
- }
- result(200, resultData, c)
- }
- // OkData 成功返回数据
- func OkData(msg string, data interface{}, c *gin.Context) {
- resultData := ResultData{
- Code: OK_CODE,
- Msg: msg,
- Data: data,
- }
- result(200, resultData, c)
- }
- // Fail 操作失败
- func Fail(msg string, c *gin.Context) {
- resultData := ResultData{
- Code: FAIL_CODE,
- Msg: msg,
- }
- result(200, resultData, c)
- }
- // FailData 成功返回数据
- func FailData(msg string, data interface{}, c *gin.Context) {
- resultData := ResultData{
- Code: FAIL_CODE,
- Msg: msg,
- Data: data,
- }
- result(200, resultData, c)
- }
- // Custom 自定义状态码+操作成功
- func Custom(code int, msg string, c *gin.Context) {
- resultData := ResultData{
- Code: code,
- Msg: msg,
- }
- result(200, resultData, c)
- }
- // CustomData 自定义状态码+返回数据
- func CustomData(code int, msg string, data interface{}, c *gin.Context) {
- resultData := ResultData{
- Code: code,
- Msg: msg,
- Data: data,
- }
- result(200, resultData, c)
- }
- // TokenError token异常
- func TokenError(data interface{}, message, errMsg string, c *gin.Context) {
- resultData := ResultData{
- Code: TOKEN_ERROR_CODE,
- Msg: message,
- Data: data,
- ErrMsg: errMsg,
- }
- result(200, resultData, c)
- }
- // AuthError 没有权限
- func AuthError(data interface{}, message string, c *gin.Context) {
- resultData := ResultData{
- Code: NO_AUTH,
- Msg: message,
- Data: data,
- }
- result(200, resultData, c)
- }
- // SpecificFail 业务指定错误
- func SpecificFail(data interface{}, message string, c *gin.Context) {
- resultData := ResultData{
- Code: SPECIFIC_FAIL_CODE,
- Msg: message,
- Data: data,
- }
- result(200, resultData, c)
- }
- // FailMsg 操作失败
- func FailMsg(msg, errMsg string, c *gin.Context) {
- resultData := ResultData{
- Code: FAIL_CODE,
- Msg: msg,
- ErrMsg: errMsg,
- }
- result(200, resultData, c)
- }
- type BaseResponse struct {
- Ret int
- Msg string
- ErrMsg string
- ErrCode string
- Data interface{}
- Success bool `description:"true 执行成功,false 执行失败"`
- IsSendEmail bool `json:"-" description:"true 发送邮件,false 不发送邮件"`
- IsAddLog bool `json:"-" description:"true 新增操作日志,false 不新增操作日志" `
- }
- // NotReleaseMsg 报告未发布错误
- func NotReleaseMsg(msg, errMsg string, c *gin.Context) {
- resultData := ResultData{
- Code: REPORT_NOT_RELEASE_CODE,
- Msg: msg,
- ErrMsg: errMsg,
- }
- result(200, resultData, c)
- }
|