From 2bc0536c0259126a4a3a6b78fbf19f8a9bd72979 Mon Sep 17 00:00:00 2001 From: "Mr. Yang" <625580134@qq.com> Date: Mon, 10 Oct 2022 10:08:53 +0800 Subject: [PATCH] =?UTF-8?q?mini=20=E5=BC=80=E5=8F=91=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E4=BB=A3=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=AE=9E=E7=8E=B0=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E9=80=BB=E8=BE=91=E5=AE=8C=E5=96=84=20(#623)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mini 代小程序实现业务逻辑完善 * mini fix ci * fix ci1 Co-authored-by: yanglaosan --- openplatform/miniprogram/miniprogram.go | 35 +++++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/openplatform/miniprogram/miniprogram.go b/openplatform/miniprogram/miniprogram.go index 2aaaf07..8bececb 100644 --- a/openplatform/miniprogram/miniprogram.go +++ b/openplatform/miniprogram/miniprogram.go @@ -3,6 +3,9 @@ package miniprogram import ( "fmt" + "github.com/silenceper/wechat/v2/credential" + "github.com/silenceper/wechat/v2/miniprogram" + miniConfig "github.com/silenceper/wechat/v2/miniprogram/config" miniContext "github.com/silenceper/wechat/v2/miniprogram/context" "github.com/silenceper/wechat/v2/miniprogram/urllink" openContext "github.com/silenceper/wechat/v2/openplatform/context" @@ -14,7 +17,7 @@ import ( type MiniProgram struct { AppID string openContext *openContext.Context - + *miniprogram.MiniProgram authorizerRefreshToken string } @@ -42,10 +45,13 @@ func (miniProgram *MiniProgram) SetAuthorizerRefreshToken(authorizerRefreshToken // NewMiniProgram 实例化 func NewMiniProgram(opCtx *openContext.Context, appID string) *MiniProgram { - return &MiniProgram{ - openContext: opCtx, - AppID: appID, - } + miniProgram := miniprogram.NewMiniProgram(&miniConfig.Config{ + AppID: opCtx.AppID, + Cache: opCtx.Cache, + }) + // 设置获取access_token的函数 + miniProgram.SetAccessTokenHandle(NewDefaultAuthrAccessToken(opCtx, appID)) + return &MiniProgram{AppID: appID, MiniProgram: miniProgram, openContext: opCtx} } // GetComponent get component @@ -65,3 +71,22 @@ func (miniProgram *MiniProgram) GetURLLink() *urllink.URLLink { AccessTokenHandle: miniProgram, }) } + +// DefaultAuthrAccessToken 默认获取授权ak的方法 +type DefaultAuthrAccessToken struct { + opCtx *openContext.Context + appID string +} + +// NewDefaultAuthrAccessToken 设置access_token +func NewDefaultAuthrAccessToken(opCtx *openContext.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) +}