wecom

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2022 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package wecom 客服端

特性: 线程安全;access token过期自动

Index

Constants

View Source
const EntBaseUrl = "https://qyapi.weixin.qq.com"

Variables

This section is empty.

Functions

This section is empty.

Types

type WechatClient

type WechatClient struct {
	CorpId     string       // 企业ID
	CorpSecret string       // 应用的凭证密钥
	AgentId    int          // agentid
	HttpClient *http.Client // http.Client

	ExpiresIn time.Duration // 凭证的有效时间

	Mutex   *sync.Mutex     // 互斥锁
	BaseUrl string          // 微信服务器Url
	Storage storage.Storage // token存储器

	Log wechatgo.Logger // 日志
	// contains filtered or unexported fields
}

func NewWechatClient

func NewWechatClient(corpid, corpSecret string, agentId int, options ...WechatClientOption) *WechatClient

func (*WechatClient) AdvPost

func (client *WechatClient) AdvPost(ctx context.Context, url_, contentType string, values url.Values, data interface{}, errmsg wechatgo.WxMsgInterface, out interface{}) error

func (*WechatClient) FetchAccessToken

func (client *WechatClient) FetchAccessToken(ctx context.Context) error

FetchAccessToken 重新获取access token

当设置的过期时间为无效(<0 || >7200)时,将自动重置过期时间为远程指定时间

func (*WechatClient) Get

func (client *WechatClient) Get(ctx context.Context, url_ string, values url.Values, errmsg wechatgo.WxMsgInterface, out interface{}) error

func (*WechatClient) GetAccessToken

func (client *WechatClient) GetAccessToken(ctx context.Context) (string, error)

GetAccessToken 提供access_token的获取接口

当access_token过期或者为空字符串时,会重新获取一次access_token

func (WechatClient) GetAccessTokenStorageKey

func (client WechatClient) GetAccessTokenStorageKey() string

GetAccessTokenStorageKey 获取认证令牌缓存Key

func (*WechatClient) IsExpired

func (client *WechatClient) IsExpired(ctx context.Context) bool

IsExpired 检查access token是否过期

func (WechatClient) Post

func (client WechatClient) Post(ctx context.Context, url_ string, values url.Values, data interface{}, errmsg wechatgo.WxMsgInterface, out interface{}) error

func (*WechatClient) RawGet

func (client *WechatClient) RawGet(ctx context.Context, url_ string, values url.Values) (resp *http.Response, err error)

func (*WechatClient) UrlCompletion

func (client *WechatClient) UrlCompletion(reqUrl string) string

type WechatClientOption added in v0.1.1

type WechatClientOption func(client *WechatClient)

func WechatClientWithExpiresIn added in v0.1.1

func WechatClientWithExpiresIn(sec time.Duration) WechatClientOption

func WechatClientWithHTTPClient added in v0.1.1

func WechatClientWithHTTPClient(httpClient *http.Client) WechatClientOption

func WechatClientWithLogger added in v0.1.1

func WechatClientWithLogger(logger wechatgo.Logger) WechatClientOption

func WechatClientWithMutex added in v0.1.1

func WechatClientWithMutex(lock *sync.Mutex) WechatClientOption

func WechatClientWithStorage added in v0.1.1

func WechatClientWithStorage(storage storage.Storage) WechatClientOption

Directories

Path Synopsis
Package app 应用管理
Package app 应用管理
Package dept 部门管理
Package dept 部门管理
Package extcontact 外部联系人管理
Package extcontact 外部联系人管理
Package invoice 电子发票
Package invoice 电子发票
Package media 素材管理
Package media 素材管理
Package msg 发送应用消息
Package msg 发送应用消息
Package oa OA数据接口 Package oa OA数据接口 Package oa OA数据接口
Package oa OA数据接口 Package oa OA数据接口 Package oa OA数据接口
Package oauth 身份认证
Package oauth 身份认证
Package tag 标签管理
Package tag 标签管理
Package user 成员管理
Package user 成员管理

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL