// Package define ... // // Description : define ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2024-05-31 12:34 package define import ( "github.com/go-resty/resty/v2" ) // Response 响应的数据结构定义 // // Author : go_developer@163.com<白茶清欢> // // Date : 12:34 2024/5/31 type Response struct { Header map[string]string `json:"header"` // 响应header Cookie map[string]string `json:"cookie"` // 响应cookie Data string `json:"data"` // 响应body Code string `json:"code"` // 业务状态码 Message string `json:"message"` // 业务状态码描述 Body map[string]any `json:"body"` // 响应数据 ExtendData map[string]string `json:"extend_data"` // 除去 code / message / data 之外的其他数据 HttpCode int `json:"http_code"` // http状态码 HttpCodeStatus string `json:"http_code_status"` // http状态码描述 ResponseDataRule map[string]any `json:"response_data_rule"` // 返回数据的验证规则 Seq int `json:"seq"` // 第几次请求 RequestStartTime int64 `json:"request_start_time"` // 请求开始时间 : ms RequestFinishTime int64 `json:"request_finish_time"` // 请求完成时间 : ms UsedTime int64 `json:"used_time"` // 请求耗时 : ms RestyResponse *resty.Response `json:"-"` // 请求返回 IsSuccess bool `json:"is_success"` // 是否请求成功 RequestCount int `json:"request_count"` // 请求次数 FailInfo *ResponseFailInfo `json:"fail_info"` // 请求失败信息记录 CacheInfo *ResponseCacheInfo `json:"cache_info"` // 缓存信息 } // ResponseFailInfo 失败信息 // // Author : go_developer@163.com<白茶清欢> // // Date : 17:48 2024/6/1 type ResponseFailInfo struct { Type string `json:"type"` // 失败类型 Message string `json:"message"` // 失败信息 } // ResponseCacheInfo 缓存信息 // // Author : go_developer@163.com<白茶清欢> // // Date : 22:26 2024/6/14 type ResponseCacheInfo struct { IsCache bool `json:"is_cache"` // 是否命中缓存 SetCache bool `json:"set_cache"` // 是否设置缓存 CacheKey string `json:"cache_key"` // 缓存key CacheValue string `json:"cache_value"` // 缓存值 CacheEnable bool `json:"cache_enable"` // 是否允许缓存 CacheError error `json:"-"` // 缓存是否异常 } const ( RequestFailTypeSend = "SEND_REQUEST_FAIL" // 发送请求即失败, 问题出现在客户端 RequestFailTypeClientError = "CLIENT_REQUEST_ERROR" // 请求失败, 原因出在客户端, 对应http code 4xx RequestFailTypeServerError = "SERVER_DEAL_ERROR" // 服务端处理失败, 对应 http code 5xx RequestFailTypeBusinessError = "SERVICE_BUSINESS_ERROR" // 返回状态码为200, 但是业务状态码非成功 )