work.go 946 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package work
  2. import (
  3. "github.com/silenceper/wechat/v2/credential"
  4. "github.com/silenceper/wechat/v2/work/config"
  5. "github.com/silenceper/wechat/v2/work/context"
  6. "github.com/silenceper/wechat/v2/work/msgaudit"
  7. "github.com/silenceper/wechat/v2/work/oauth"
  8. )
  9. // Work 企业微信
  10. type Work struct {
  11. ctx *context.Context
  12. }
  13. //NewWork init work
  14. func NewWork(cfg *config.Config) *Work {
  15. defaultAkHandle := credential.NewWorkAccessToken(cfg.CorpID, cfg.CorpSecret, credential.CacheKeyWorkPrefix, cfg.Cache)
  16. ctx := &context.Context{
  17. Config: cfg,
  18. AccessTokenHandle: defaultAkHandle,
  19. }
  20. return &Work{ctx: ctx}
  21. }
  22. //GetContext get Context
  23. func (wk *Work) GetContext() *context.Context {
  24. return wk.ctx
  25. }
  26. //GetOauth get oauth
  27. func (wk *Work) GetOauth() *oauth.Oauth {
  28. return oauth.NewOauth(wk.ctx)
  29. }
  30. // GetMsgAudit get msgAudit
  31. func (wk *Work) GetMsgAudit() (*msgaudit.Client, error) {
  32. return msgaudit.NewClient(wk.ctx.Config)
  33. }