package common // BusiError 业务错误类型 type BusiError struct { Code int `json:"code"` Msg string `json:"msg"` } func (e *BusiError) Error() string { return e.Msg } // 通用错误码 const ( Success = 200 ParamError = 400 Unauthorized = 401 Forbidden = 403 NotFound = 404 InternalError = 500 ) // 业务错误码(按模块分段) const ( // 认证/用户 51xxx UserPhoneExists = 51001 UserNotFound = 51002 PasswordError = 51003 TokenInvalid = 51004 TokenExpired = 51005 SmsCodeError = 51006 // 机巢 52xxx DockNotFound = 52001 DockOffline = 52002 DockPending = 52003 DockExists = 52004 CommandNotFound = 52005 // 无人机 53xxx DroneNotFound = 53001 // 告警 54xxx AlarmNotFound = 54001 // 固件 55xxx FirmwareNotFound = 55001 FirmwareVersionExist = 55002 FirmwareNotReleased = 55003 // 任务/航线 56xxx TaskNotFound = 56001 RouteNotFound = 56002 TaskStateErr = 56003 ExecutionNotFound = 56004 // 媒体 57xxx LiveNotFound = 57001 VideoNotFound = 57002 VideoUploading = 57003 LiveProviderDisabled = 57004 LiveProviderInvalid = 57005 LiveLeaseNotFound = 57006 // 计费 58xxx TrafficNotEnough = 58001 OrderPaid = 58002 SimCardNotFound = 58003 OrderNotFound = 58004 ) // 预定义的业务错误 var ( ErrSuccess = &BusiError{Code: Success, Msg: "成功"} ErrParam = &BusiError{Code: ParamError, Msg: "参数错误"} ErrUnauthorized = &BusiError{Code: Unauthorized, Msg: "未登录"} ErrToken = &BusiError{Code: Unauthorized, Msg: "Token异常"} SignOutToken = &BusiError{Code: Unauthorized, Msg: "Token已失效"} ErrForbidden = &BusiError{Code: Forbidden, Msg: "无权限访问"} ErrNotFound = &BusiError{Code: NotFound, Msg: "资源不存在"} ErrInternal = &BusiError{Code: InternalError, Msg: "系统内部错误"} ErrUserPhoneExists = &BusiError{Code: UserPhoneExists, Msg: "该手机号已注册"} ErrUserNotFound = &BusiError{Code: UserNotFound, Msg: "用户不存在"} ErrPasswordError = &BusiError{Code: PasswordError, Msg: "用户名或密码错误"} ErrTokenInvalid = &BusiError{Code: TokenInvalid, Msg: "Token无效"} ErrTokenExpired = &BusiError{Code: TokenExpired, Msg: "Token已过期"} ErrSmsCodeError = &BusiError{Code: SmsCodeError, Msg: "短信验证码错误"} ErrDockNotFound = &BusiError{Code: DockNotFound, Msg: "机巢不存在"} ErrDockOffline = &BusiError{Code: DockOffline, Msg: "机巢离线"} ErrDockPending = &BusiError{Code: DockPending, Msg: "机巢待登记"} ErrDockExists = &BusiError{Code: DockExists, Msg: "该机巢编号已存在"} ErrCommandNotFound = &BusiError{Code: CommandNotFound, Msg: "指令记录不存在"} ErrDroneNotFound = &BusiError{Code: DroneNotFound, Msg: "无人机不存在"} ErrAlarmNotFound = &BusiError{Code: AlarmNotFound, Msg: "告警不存在"} ErrFirmwareNotFound = &BusiError{Code: FirmwareNotFound, Msg: "固件版本不存在"} ErrFirmwareVersionExist = &BusiError{Code: FirmwareVersionExist, Msg: "该固件版本已存在"} ErrFirmwareNotReleased = &BusiError{Code: FirmwareNotReleased, Msg: "固件未发布,无法下发升级"} ErrTaskNotFound = &BusiError{Code: TaskNotFound, Msg: "任务不存在"} ErrRouteNotFound = &BusiError{Code: RouteNotFound, Msg: "航线不存在"} ErrTaskStateErr = &BusiError{Code: TaskStateErr, Msg: "任务状态不允许此操作"} ErrExecutionNotFound = &BusiError{Code: ExecutionNotFound, Msg: "执行记录不存在"} ErrLiveNotFound = &BusiError{Code: LiveNotFound, Msg: "直播会话不存在"} ErrLiveProviderDisabled = &BusiError{Code: LiveProviderDisabled, Msg: "直播服务未配置"} ErrLiveProviderInvalid = &BusiError{Code: LiveProviderInvalid, Msg: "直播服务配置无效"} ErrLiveLeaseNotFound = &BusiError{Code: LiveLeaseNotFound, Msg: "直播观看租约不存在或已过期"} ErrVideoNotFound = &BusiError{Code: VideoNotFound, Msg: "视频不存在"} ErrVideoUploading = &BusiError{Code: VideoUploading, Msg: "视频上传中"} ErrTrafficNotEnough = &BusiError{Code: TrafficNotEnough, Msg: "流量不足,请充值"} ErrOrderPaid = &BusiError{Code: OrderPaid, Msg: "该订单已支付"} ErrSimCardNotFound = &BusiError{Code: SimCardNotFound, Msg: "SIM卡不存在"} ErrOrderNotFound = &BusiError{Code: OrderNotFound, Msg: "订单不存在"} ) // NewBusiError 创建自定义业务错误 func NewBusiError(code int, msg string) *BusiError { return &BusiError{ Code: code, Msg: msg, } }