package kf import ( "reflect" "strings" ) // Error 错误 type Error string const ( // SDKInitFailed 错误码:50001 SDKInitFailed Error = "SDK初始化失败" // SDKCacheUnavailable 错误码:50002 SDKCacheUnavailable Error = "缓存无效" // SDKUnknownError 错误码:50003 SDKUnknownError Error = "未知错误" // SDKInvalidCredential 错误码:40001 SDKInvalidCredential Error = "不合法的secret参数" // SDKInvalidImageSize 错误码:40009 SDKInvalidImageSize Error = "无效的图片大小" // SDKInvalidCorpID 错误码:40013 SDKInvalidCorpID Error = "无效的 CorpID" // SDKAccessTokenInvalid 错误码:40014 SDKAccessTokenInvalid Error = "AccessToken 无效" // SDKValidateSignatureFailed 错误码:40015 SDKValidateSignatureFailed Error = "校验签名错误" // SDKDecryptMSGFailed 错误码:40016 SDKDecryptMSGFailed Error = "消息解密失败" // SDKMediaIDExceedMinLength 错误码:40058 SDKMediaIDExceedMinLength Error = "不合法的参数, 请参照具体 API 接口说明进行传参" // SDKContentContainsSensitiveInformation 错误码:40201 SDKContentContainsSensitiveInformation Error = "当前客服账号由于涉及敏感信息,已被封禁,请联系企业微信客服处理" // SDKAccessTokenMissing 错误码:41001 SDKAccessTokenMissing Error = "缺少AccessToken参数" // SDKAccessTokenExpired 错误码:42001 SDKAccessTokenExpired Error = "AccessToken 已过期" // SDKApiFreqOutOfLimit 错误码:45009 SDKApiFreqOutOfLimit Error = "接口请求次数超频" // SDKApiForbidden 错误码:48002 SDKApiForbidden Error = "API 禁止调用" // SDKInvalidOpenKFID 错误码:95000 SDKInvalidOpenKFID Error = "无效的 open_kfid" // SDKOpenKFIDNotExist 错误码:95004 SDKOpenKFIDNotExist Error = "open_kfid 不存在" // SDKWeWorkAlready 错误码:95011 SDKWeWorkAlready Error = "已在企业微信使用微信客服" // SDKNotUseInWeCom 错误码:95012 SDKNotUseInWeCom Error = "未在企业微信使用微信客服" // SDKApiNotOpen 错误码:95017 SDKApiNotOpen Error = "API 功能没有被开启" ) // Error 输出错误信息 func (r Error) Error() string { return reflect.ValueOf(r).String() } var codeDic = map[int64]error{ 50001: SDKInitFailed, 50002: SDKCacheUnavailable, 50003: SDKUnknownError, 40001: SDKInvalidCredential, 40009: SDKInvalidImageSize, 40013: SDKInvalidCorpID, 40014: SDKAccessTokenInvalid, 40015: SDKValidateSignatureFailed, 40016: SDKDecryptMSGFailed, 40058: SDKMediaIDExceedMinLength, 40201: SDKContentContainsSensitiveInformation, 41001: SDKAccessTokenMissing, 42001: SDKAccessTokenExpired, 45009: SDKApiFreqOutOfLimit, 48002: SDKApiForbidden, 95000: SDKInvalidOpenKFID, 95004: SDKOpenKFIDNotExist, 95011: SDKWeWorkAlready, 95012: SDKNotUseInWeCom, 95017: SDKApiNotOpen, } // NewSDKErr 初始化SDK实例错误信息 func NewSDKErr(code int64, msgList ...string) error { if err := codeDic[code]; err != nil { return err } // 返回未知的自定义错误 if len(msgList) > 0 { return Error(strings.Join(msgList, ",")) } return SDKUnknownError }