1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-02-13 17:22:26 +08:00

企业微信内部开发API:新增获取客户列表,客户详情,并群发消息

This commit is contained in:
hb
2021-11-29 11:01:20 +08:00
parent 7ae8e08a3e
commit 5704abb3b0
4 changed files with 351 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package externalcontact
import (
"errors"
"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, errors.New("SDK初始化失败")
}
//初始化 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
}