gocron/internal/modules/utils/json.go

68 lines
1.4 KiB
Go
Raw Normal View History

2017-04-01 09:04:40 +00:00
package utils
2017-04-03 07:27:19 +00:00
import (
2017-09-16 09:58:33 +00:00
"encoding/json"
2018-01-30 11:26:04 +00:00
2018-03-25 05:12:12 +00:00
"github.com/ouqiang/gocron/internal/modules/logger"
2017-04-03 07:27:19 +00:00
)
2017-04-01 09:04:40 +00:00
// json 格式输出
type response struct {
2017-09-16 09:58:33 +00:00
Code int `json:"code"` // 状态码 0:成功 非0:失败
Message string `json:"message"` // 信息
Data interface{} `json:"data"` // 数据
2017-04-01 09:04:40 +00:00
}
2017-04-13 09:35:59 +00:00
type JsonResponse struct{}
2017-04-01 09:04:40 +00:00
2017-04-02 02:19:52 +00:00
const ResponseSuccess = 0
const ResponseFailure = 1
2018-05-02 12:41:41 +00:00
const UnauthorizedError = 403
const AuthError = 401
const NotFound = 404
const ServerError = 500
const AppNotInstall = 801
2017-04-01 09:04:40 +00:00
2017-04-13 09:35:59 +00:00
const SuccessContent = "操作成功"
const FailureContent = "操作失败"
2017-04-30 17:12:07 +00:00
func JsonResponseByErr(err error) string {
2018-05-02 12:41:41 +00:00
jsonResp := JsonResponse{}
2017-09-16 09:58:33 +00:00
if err != nil {
2018-05-02 12:41:41 +00:00
return jsonResp.CommonFailure(FailureContent, err)
2017-09-16 09:58:33 +00:00
}
2017-04-30 17:12:07 +00:00
2018-05-02 12:41:41 +00:00
return jsonResp.Success(SuccessContent, nil)
2017-04-30 17:12:07 +00:00
}
2017-04-13 09:35:59 +00:00
func (j *JsonResponse) Success(message string, data interface{}) string {
2017-09-16 09:58:33 +00:00
return j.response(ResponseSuccess, message, data)
2017-04-01 09:04:40 +00:00
}
2017-04-13 09:35:59 +00:00
func (j *JsonResponse) Failure(code int, message string) string {
2017-09-16 09:58:33 +00:00
return j.response(code, message, nil)
2017-04-01 09:04:40 +00:00
}
2017-09-16 09:58:33 +00:00
func (j *JsonResponse) CommonFailure(message string, err ...error) string {
if len(err) > 0 {
logger.Warn(err)
}
return j.Failure(ResponseFailure, message)
2017-04-13 09:35:59 +00:00
}
func (j *JsonResponse) response(code int, message string, data interface{}) string {
2017-09-16 09:58:33 +00:00
resp := response{
Code: code,
Message: message,
Data: data,
}
2017-04-02 02:38:49 +00:00
2017-09-16 09:58:33 +00:00
result, err := json.Marshal(resp)
if err != nil {
logger.Error(err)
}
2017-04-02 02:38:49 +00:00
2017-09-16 09:58:33 +00:00
return string(result)
2017-04-01 09:04:40 +00:00
}