package base import ( "net/http" "github.com/gin-gonic/gin" ) type BaseRequestAccessible interface { GetBaseRequest() BaseRequest } type BaseRequest struct { Mid int64 `json:"b_mid"` // 用户id Did string `json:"b_did"` // 设备id Version string `json:"b_ver"` // 版本 OsVersion string `json:"b_osver"` // 系统版本 DevType int32 `json:"b_dt"` // 设备类型 Channel string `json:"b_ch"` // 渠道 Model string `json:"b_model"` // 机型 NetType string `json:"b_nt"` // 网络类型 Timestamp int64 `json:"b_ts"` // 时间戳,毫秒 Token string `json:"b_token"` // 令牌 Location struct { Lat float64 `json:"b_lat"` Lon float64 `json:"b_lon"` } `json:"b_loc"` // 经纬度 } func CheckBadRequest(c *gin.Context, err error) bool { if err != nil { c.AbortWithStatusJSON(http.StatusBadRequest, &BaseResponse{ Ret: -1, Msg: err.Error(), }) return false } return true } func (p *BaseRequest) GetBaseRequest() BaseRequest { if p != nil { return *p } return BaseRequest{} } func (p *BaseRequest) IsValid() bool { if p.Mid <= 0 { return false } if len(p.Did) <= 0 { return false } return true }