mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-04 12:52:27 +08:00
将获取AccessToken和jsTicket单独抽象为interface
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
package officialaccount
|
||||
|
||||
import (
|
||||
"github.com/silenceper/wechat/v2/credential"
|
||||
"github.com/silenceper/wechat/v2/officialaccount"
|
||||
offConfig "github.com/silenceper/wechat/v2/officialaccount/config"
|
||||
offContext "github.com/silenceper/wechat/v2/officialaccount/context"
|
||||
opContext "github.com/silenceper/wechat/v2/openplatform/context"
|
||||
)
|
||||
|
||||
@@ -25,9 +25,25 @@ func NewOfficialAccount(opCtx *opContext.Context, appID string) *OfficialAccount
|
||||
Cache: opCtx.Cache,
|
||||
})
|
||||
//设置获取access_token的函数
|
||||
officialAccount.GetContext().SetGetAccessTokenFunc(func(offCtx *offContext.Context) (accessToken string, err error) {
|
||||
// 获取授权方的access_token
|
||||
return opCtx.GetAuthrAccessToken(appID)
|
||||
})
|
||||
officialAccount.SetAccessTokenHandle(NewDefaultAuthrAccessToken(opCtx, appID))
|
||||
return &OfficialAccount{appID: appID, OfficialAccount: officialAccount}
|
||||
}
|
||||
|
||||
//DefaultAuthrAccessToken 默认获取授权ak的方法
|
||||
type DefaultAuthrAccessToken struct {
|
||||
opCtx *opContext.Context
|
||||
appID string
|
||||
}
|
||||
|
||||
//NewDefaultAuthrAccessToken New
|
||||
func NewDefaultAuthrAccessToken(opCtx *opContext.Context, appID string) credential.AccessTokenHandle {
|
||||
return &DefaultAuthrAccessToken{
|
||||
opCtx: opCtx,
|
||||
appID: appID,
|
||||
}
|
||||
}
|
||||
|
||||
//GetAccessToken 获取ak
|
||||
func (ak *DefaultAuthrAccessToken) GetAccessToken() (string, error) {
|
||||
return ak.opCtx.GetAuthrAccessToken(ak.appID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user