File tree Expand file tree Collapse file tree 3 files changed +39
-15
lines changed
Expand file tree Collapse file tree 3 files changed +39
-15
lines changed Original file line number Diff line number Diff line change 11package WeChatCustomerServiceSDK
22
33import (
4- "errors"
54 "github.com/NICEXAI/WeChatCustomerServiceSDK/cache"
65 "sync"
76 "time"
@@ -39,7 +38,7 @@ type Client struct {
3938// New 初始化微信客服实例
4039func New (options Options ) (client * Client , err error ) {
4140 if options .Cache == nil {
42- return nil , errors . New ( "the cache is nil, please set the cache first" )
41+ return nil , NewSDKErr ( 50001 )
4342 }
4443
4544 if options .ExpireTime == 0 {
Original file line number Diff line number Diff line change 11package WeChatCustomerServiceSDK
22
3- import "fmt"
3+ import (
4+ "reflect"
5+ "strings"
6+ )
47
58// Error 错误
6- type Error struct {
7- ErrCode int `json:"err_code,omitempty"`
8- ErrMsg string `json:"err_msg"`
9- }
9+ type Error string
10+
11+ const (
12+ // SDKInitFailed 错误码:50001
13+ SDKInitFailed Error = "SDK初始化失败"
14+ // SDKCacheUnavailable 错误码:50002
15+ SDKCacheUnavailable Error = "缓存无效"
16+ // SDKUnknownError 错误码:50003
17+ SDKUnknownError Error = "未知错误"
18+ // SDKInvalidCredential 错误码:40001
19+ SDKInvalidCredential Error = "不合法的secret参数"
20+ // SDKAccessTokenExpired 错误码:42001
21+ SDKAccessTokenExpired Error = "AccessToken 已过期"
22+ )
1023
1124//输出错误信息
1225func (r Error ) Error () string {
13- return fmt . Sprintf ( "%d:%s" , r . ErrCode , r . ErrMsg )
26+ return reflect . ValueOf ( r ). String ( )
1427}
1528
1629// NewSDKErr 初始化SDK实例错误信息
17- func NewSDKErr (code int , msg string ) Error {
18- return Error {
19- ErrCode : code ,
20- ErrMsg : msg ,
30+ func NewSDKErr (code int , msgList ... string ) Error {
31+ switch code {
32+ case 50001 :
33+ return SDKInitFailed
34+ case 50002 :
35+ return SDKCacheUnavailable
36+ case 40001 :
37+ return SDKInvalidCredential
38+ case 42001 :
39+ return SDKAccessTokenExpired
40+ default :
41+ //返回未知的自定义错误
42+ if len (msgList ) > 0 {
43+ return Error (strings .Join (msgList , "," ))
44+ }
45+ return SDKUnknownError
2146 }
2247}
Original file line number Diff line number Diff line change @@ -2,8 +2,7 @@ package WeChatCustomerServiceSDK
22
33import (
44 "encoding/json"
5- "errors"
6- "fmt"
5+ "fmt"
76 "github.com/NICEXAI/WeChatCustomerServiceSDK/util"
87)
98
@@ -25,6 +24,7 @@ func (r *Client) GetAccessToken() (info AccessTokenSchema, err error) {
2524 if err != nil {
2625 return info , err
2726 }
27+ fmt .Println (string (data ))
2828 _ = json .Unmarshal (data , & info )
2929 if info .ErrCode != 0 {
3030 return info , NewSDKErr (info .ErrCode , info .ErrMsg )
@@ -50,7 +50,7 @@ func (r *Client) initAccessToken() error {
5050 //判断是否已初始化完成,如果己初始化则直接返回当前实例
5151 token , err := r .getAccessToken ()
5252 if err != nil {
53- return errors . New ( "cache unavailable" )
53+ return NewSDKErr ( 50002 )
5454 }
5555 if token == "" {
5656 if err = r .RefreshAccessToken (); err != nil {
You can’t perform that action at this time.
0 commit comments