- 新旧小程序兼容BUG修复

This commit is contained in:
gazebo
2019-08-12 14:15:11 +08:00
parent 4ec85bbb73
commit 9ab43f291e
2 changed files with 24 additions and 17 deletions

View File

@@ -3,6 +3,7 @@ package weixin
import (
"encoding/base64"
"errors"
"strings"
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
"git.rosy.net.cn/jx-callback/business/auth2"
@@ -57,17 +58,21 @@ func (a *MiniAuther) DecryptData(authInfo *auth2.AuthInfo, encryptedData, iv str
}
func ProxySNSCode2Session(jsCode string) (sessionInfo *weixinapi.SessionInfo, err error) {
sessionInfo, err = api.WeixinMiniAPI.SNSCode2Session(jsCode)
miniApi := api.WeixinMiniAPI
list := strings.Split(jsCode, ",")
if len(list) >= 2 {
if list[0] == api.WeixinMiniAppID2 {
miniApi = api.WeixinMiniAPI2
}
}
sessionInfo, err = miniApi.SNSCode2Session(jsCode)
if err != nil && api.WeixinMiniAPI2 != nil {
sessionInfo, err = api.WeixinMiniAPI2.SNSCode2Session(jsCode)
sessionInfo, err = miniApi.SNSCode2Session(jsCode)
}
return sessionInfo, err
}
func ProxySNSDecodeMiniProgramData(encryptedData, sessionKey, iv string) (decryptedData []byte, err error) {
decryptedData, err = api.WeixinMiniAPI.SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)
if err != nil && api.WeixinMiniAPI2 != nil {
decryptedData, err = api.WeixinMiniAPI2.SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)
}
return decryptedData, err
}

View File

@@ -27,16 +27,18 @@ import (
)
var (
JdAPI *jdapi.API
ElmAPI *elmapi.API
EbaiAPI *ebaiapi.API
MtpsAPI *mtpsapi.API
DadaAPI *dadaapi.API
MtwmAPI *mtwmapi.API
WeixinAPI *weixinapi.API // 微信公众号
WeixinMiniAPI *weixinapi.API // 小程序
WeixinMiniAPI2 *weixinapi.API // 小程序2
WeixinPageAPI *weixinapi.API // 用户微信扫码登录
JdAPI *jdapi.API
ElmAPI *elmapi.API
EbaiAPI *ebaiapi.API
MtpsAPI *mtpsapi.API
DadaAPI *dadaapi.API
MtwmAPI *mtwmapi.API
WeixinAPI *weixinapi.API // 微信公众号
WeixinMiniAPI *weixinapi.API // 小程序
WeixinMiniAPI2 *weixinapi.API // 小程序2
WeixinMiniAppID2 string
WeixinPageAPI *weixinapi.API // 用户微信扫码登录
AutonaviAPI *autonavi.API
QiniuAPI *qbox.Mac
@@ -125,8 +127,8 @@ func Init() {
WeimobAPI = nil
}
WeixinMiniAPI = weixinapi.New(beego.AppConfig.String("weixinMiniAppID"), beego.AppConfig.String("weixinMiniSecret"))
if weixinMiniAppID2 := beego.AppConfig.String("weixinMiniAppID2"); weixinMiniAppID2 != "" {
WeixinMiniAPI2 = weixinapi.New(weixinMiniAppID2, beego.AppConfig.String("weixinMiniSecret2"))
if WeixinMiniAppID2 = beego.AppConfig.String("weixinMiniAppID2"); WeixinMiniAppID2 != "" {
WeixinMiniAPI2 = weixinapi.New(WeixinMiniAppID2, beego.AppConfig.String("weixinMiniSecret2"))
}
WeixinPageAPI = weixinapi.New(beego.AppConfig.String("weixinPageAppID"), beego.AppConfig.String("weixinPageSecret"))