1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-02-04 12:52:27 +08:00

mini 开发平台代小程序实现业务逻辑完善 (#623)

* mini 代小程序实现业务逻辑完善

* mini fix ci

* fix ci1

Co-authored-by: yanglaosan <yang88can@163.com>
This commit is contained in:
Mr. Yang
2022-10-10 10:08:53 +08:00
committed by GitHub
parent bbbada1b44
commit 2bc0536c02

View File

@@ -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)
}