mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-04 12:52:27 +08:00
* [feature] Format the code and improve Mini Program authorization to obtain openid(miniprogram/auth/auth.go Code2Session) * [feature] CheckEncryptedData (https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.checkEncryptedData.html) * upgrade json error * upgrade json error * [feature] Wallet Transfer returns the pointer object * feat:Adaptation of new go-redis components * improve code * feat:upgrade golangci-lint-action version * fix * test ci * fix * test ci * fix * test * improve code * feat:GetPhoneNumber return ptr Co-authored-by: houseme <houseme@outlook.com>
44 lines
1.5 KiB
Go
44 lines
1.5 KiB
Go
package kf
|
||
|
||
import (
|
||
"github.com/silenceper/wechat/v2/cache"
|
||
"github.com/silenceper/wechat/v2/credential"
|
||
"github.com/silenceper/wechat/v2/work/config"
|
||
"github.com/silenceper/wechat/v2/work/context"
|
||
)
|
||
|
||
// Client 微信客服实例
|
||
type Client struct {
|
||
corpID string // 企业ID:企业开通的每个微信客服,都对应唯一的企业ID,企业可在微信客服管理后台的企业信息处查看
|
||
secret string // Secret是微信客服用于校验开发者身份的访问密钥,企业成功注册微信客服后,可在「微信客服管理后台-开发配置」处获取
|
||
token string // 用于生成签名校验回调请求的合法性
|
||
encodingAESKey string // 回调消息加解密参数是AES密钥的Base64编码,用于解密回调消息内容对应的密文
|
||
cache cache.Cache
|
||
ctx *context.Context
|
||
}
|
||
|
||
// NewClient 初始化微信客服实例
|
||
func NewClient(cfg *config.Config) (client *Client, err error) {
|
||
if cfg.Cache == nil {
|
||
return nil, NewSDKErr(50001)
|
||
}
|
||
|
||
// 初始化 AccessToken Handle
|
||
defaultAkHandle := credential.NewWorkAccessToken(cfg.CorpID, cfg.CorpSecret, credential.CacheKeyWorkPrefix, cfg.Cache)
|
||
ctx := &context.Context{
|
||
Config: cfg,
|
||
AccessTokenHandle: defaultAkHandle,
|
||
}
|
||
|
||
client = &Client{
|
||
corpID: cfg.CorpID,
|
||
secret: cfg.CorpSecret,
|
||
token: cfg.Token,
|
||
encodingAESKey: cfg.EncodingAESKey,
|
||
cache: cfg.Cache,
|
||
ctx: ctx,
|
||
}
|
||
|
||
return client, nil
|
||
}
|