officialaccount.go 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. package officialaccount
  2. import (
  3. "github.com/silenceper/wechat/v2/officialaccount"
  4. offConfig "github.com/silenceper/wechat/v2/officialaccount/config"
  5. offContext "github.com/silenceper/wechat/v2/officialaccount/context"
  6. opContext "github.com/silenceper/wechat/v2/openplatform/context"
  7. )
  8. type OfficialAccount struct {
  9. //授权的公众号的appID
  10. appID string
  11. *officialaccount.OfficialAccount
  12. opContext *opContext.Context
  13. }
  14. //NewOfficialAccount 实例化
  15. //appID :为授权方公众号 APPID,非开放平台第三方平台 APPID
  16. func NewOfficialAccount(opCtx *opContext.Context, appID string) *OfficialAccount {
  17. officialAccount := officialaccount.NewOfficialAccount(&offConfig.Config{
  18. AppID: opCtx.AppID,
  19. EncodingAESKey: opCtx.EncodingAESKey,
  20. Token: opCtx.Token,
  21. Cache: opCtx.Cache,
  22. })
  23. //设置获取access_token的函数
  24. officialAccount.GetContext().SetGetAccessTokenFunc(func(offCtx *offContext.Context) (accessToken string, err error) {
  25. // 获取授权方的access_token
  26. return opCtx.GetAuthrAccessToken(appID)
  27. })
  28. return &OfficialAccount{appID: appID, OfficialAccount: officialAccount}
  29. }