| 12345678910111213141516171819202122232425262728293031323334 |
- package response
- import (
- "net/http"
- "slow_wild_api/apps/internal/types"
- "github.com/zeromicro/go-zero/rest/httpx"
- "google.golang.org/grpc/status"
- )
- type Body struct {
- Code int `json:"code"`
- Msg string `json:"msg"`
- Data interface{} `json:"data,omitempty"`
- }
- func Response(w http.ResponseWriter, resp *types.BaseReturnData, err error) {
- var body Body
- if err != nil {
- // 处理 RPC 错误
- if e, ok := status.FromError(err); ok {
- body.Code = int(e.Code())
- body.Msg = e.Message()
- } else {
- body.Code = -1
- body.Msg = err.Error()
- }
- } else {
- body.Code = 0
- body.Msg = "OK"
- body.Data = resp.Data
- }
- httpx.OkJson(w, body)
- }
|