1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-02-04 12:52:27 +08:00
Files
wechat/work/kf/error.go
Afeyer 917f1817e5 feat:支持微信客服回调请求的校验和消息的解析,复用原有的Signature和DecryptMsg方法 (#439)
* 添加微信客服SDK

* polish:优化签名函数

* polish:优化注释内容

* polish:复用已有的Token以及CommonError,移除无用的输出

* polish:复用已有的消息加解密

* fix:修复错误信息被覆盖的问题

* polish:go fmt 文件

* polish:客服链接支持自定义参数并更新注释文档内容

* feat:支持微信客服回调请求的校验和消息的解析,复用原有的Signature和DecryptMsg方法
2021-08-19 21:33:14 +08:00

76 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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参数"
// SDKInvalidCorpID 错误码40013
SDKInvalidCorpID Error = "无效的 CorpID"
// SDKAccessTokenInvalid 错误码40014
SDKAccessTokenInvalid Error = "AccessToken 无效"
// SDKValidateSignatureFailed 错误码40015
SDKValidateSignatureFailed Error = "校验签名错误"
// SDKDecryptMSGFailed 错误码40016
SDKDecryptMSGFailed Error = "消息解密失败"
// SDKAccessTokenMissing 错误码41001
SDKAccessTokenMissing Error = "缺少AccessToken参数"
// SDKAccessTokenExpired 错误码42001
SDKAccessTokenExpired Error = "AccessToken 已过期"
// SDKApiFreqOutOfLimit 错误码45009
SDKApiFreqOutOfLimit Error = "接口请求次数超频"
// SDKWeWorkAlready 错误码95011
SDKWeWorkAlready Error = "已在企业微信使用微信客服"
)
//Error 输出错误信息
func (r Error) Error() string {
return reflect.ValueOf(r).String()
}
// NewSDKErr 初始化SDK实例错误信息
func NewSDKErr(code int64, msgList ...string) Error {
switch code {
case 50001:
return SDKInitFailed
case 50002:
return SDKCacheUnavailable
case 40001:
return SDKInvalidCredential
case 41001:
return SDKAccessTokenMissing
case 42001:
return SDKAccessTokenExpired
case 40013:
return SDKInvalidCorpID
case 40014:
return SDKAccessTokenInvalid
case 40015:
return SDKValidateSignatureFailed
case 40016:
return SDKDecryptMSGFailed
case 45009:
return SDKApiFreqOutOfLimit
case 95011:
return SDKWeWorkAlready
default:
//返回未知的自定义错误
if len(msgList) > 0 {
return Error(strings.Join(msgList, ","))
}
return SDKUnknownError
}
}