diff --git a/business/auth2/authprovider/weixin/weixin.go b/business/auth2/authprovider/weixin/weixin.go index 0786e86ed..98f3a12a9 100644 --- a/business/auth2/authprovider/weixin/weixin.go +++ b/business/auth2/authprovider/weixin/weixin.go @@ -3,6 +3,7 @@ package weixin import ( "errors" + "git.rosy.net.cn/baseapi/platformapi/weixinapi" "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/auth2/authprovider" "git.rosy.net.cn/jx-callback/globals" @@ -44,9 +45,9 @@ func init() { func (a *Auther) VerifySecret(state, code string) (authBindEx *auth2.AuthBindEx, err error) { globals.SugarLogger.Debugf("weixin VerifySecret code:%s", code) if state == "" { - token, err2 := api.WeixinPageAPI.SNSRetrieveToken(code) + token, err2 := a.getAPI().SNSRetrieveToken(code) if err = err2; err == nil { - wxUserinfo, err2 := api.WeixinPageAPI.SNSGetUserInfo(token.AccessToken, token.OpenID) + wxUserinfo, err2 := a.getAPI().SNSGetUserInfo(token.AccessToken, token.OpenID) if err = err2; err == nil { if authBindEx, err = a.UnionFindAuthBind(a.authType, []string{AuthTypeWeixin, AuthTypeMP, AuthTypeMini}, wxUserinfo.OpenID, wxUserinfo.UnionID, wxUserinfo); err == nil { authBindEx.UserHint = &auth2.UserBasic{ @@ -60,3 +61,10 @@ func (a *Auther) VerifySecret(state, code string) (authBindEx *auth2.AuthBindEx, } return authBindEx, err } + +func (a *Auther) getAPI() *weixinapi.API { + if a.authType == AuthTypeWeixin { + return api.WeixinPageAPI + } + return api.WeixinAPI +}