init: init refactor
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package response
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Body 统一响应体
|
||||
type Body struct {
|
||||
Code int `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
Data interface{} `json:"data,omitempty"`
|
||||
}
|
||||
|
||||
func writeJSON(w http.ResponseWriter, body *Body) {
|
||||
w.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
w.WriteHeader(http.StatusOK)
|
||||
_ = json.NewEncoder(w).Encode(body)
|
||||
}
|
||||
|
||||
// OkWithData 成功响应(带数据)
|
||||
func OkWithData(w http.ResponseWriter, data interface{}) {
|
||||
writeJSON(w, &Body{Code: 200, Msg: "success", Data: data})
|
||||
}
|
||||
|
||||
// Ok 成功响应(无数据)
|
||||
func Ok(w http.ResponseWriter) {
|
||||
writeJSON(w, &Body{Code: 200, Msg: "success"})
|
||||
}
|
||||
|
||||
// OkWithMsg 成功响应(自定义消息)
|
||||
func OkWithMsg(w http.ResponseWriter, msg string) {
|
||||
writeJSON(w, &Body{Code: 200, Msg: msg})
|
||||
}
|
||||
|
||||
// Fail 失败响应
|
||||
func Fail(w http.ResponseWriter, msg string) {
|
||||
writeJSON(w, &Body{Code: 400, Msg: msg})
|
||||
}
|
||||
|
||||
// FailWithCode 失败响应(自定义错误码)
|
||||
func FailWithCode(w http.ResponseWriter, code int, msg string) {
|
||||
writeJSON(w, &Body{Code: code, Msg: msg})
|
||||
}
|
||||
|
||||
// NoAuth 未授权响应
|
||||
func NoAuth(w http.ResponseWriter, msg string) {
|
||||
writeJSON(w, &Body{Code: 401, Msg: msg})
|
||||
}
|
||||
|
||||
// PageResult 分页结果
|
||||
type PageResult struct {
|
||||
List interface{} `json:"list"`
|
||||
Total int64 `json:"total"`
|
||||
Current int `json:"current"`
|
||||
Size int `json:"size"`
|
||||
}
|
||||
|
||||
// OkWithPage 分页成功响应
|
||||
func OkWithPage(w http.ResponseWriter, list interface{}, total int64, current, size int) {
|
||||
OkWithData(w, PageResult{
|
||||
List: list,
|
||||
Total: total,
|
||||
Current: current,
|
||||
Size: size,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user