- 新旧小程序兼容BUG修复
This commit is contained in:
@@ -3,6 +3,7 @@ package weixin
|
|||||||
import (
|
import (
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
|
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
|
||||||
"git.rosy.net.cn/jx-callback/business/auth2"
|
"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) {
|
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 {
|
if err != nil && api.WeixinMiniAPI2 != nil {
|
||||||
sessionInfo, err = api.WeixinMiniAPI2.SNSCode2Session(jsCode)
|
sessionInfo, err = miniApi.SNSCode2Session(jsCode)
|
||||||
}
|
}
|
||||||
return sessionInfo, err
|
return sessionInfo, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func ProxySNSDecodeMiniProgramData(encryptedData, sessionKey, iv string) (decryptedData []byte, err error) {
|
func ProxySNSDecodeMiniProgramData(encryptedData, sessionKey, iv string) (decryptedData []byte, err error) {
|
||||||
decryptedData, err = api.WeixinMiniAPI.SNSDecodeMiniProgramData(encryptedData, sessionKey, iv)
|
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
|
return decryptedData, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,16 +27,18 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
JdAPI *jdapi.API
|
JdAPI *jdapi.API
|
||||||
ElmAPI *elmapi.API
|
ElmAPI *elmapi.API
|
||||||
EbaiAPI *ebaiapi.API
|
EbaiAPI *ebaiapi.API
|
||||||
MtpsAPI *mtpsapi.API
|
MtpsAPI *mtpsapi.API
|
||||||
DadaAPI *dadaapi.API
|
DadaAPI *dadaapi.API
|
||||||
MtwmAPI *mtwmapi.API
|
MtwmAPI *mtwmapi.API
|
||||||
WeixinAPI *weixinapi.API // 微信公众号
|
WeixinAPI *weixinapi.API // 微信公众号
|
||||||
WeixinMiniAPI *weixinapi.API // 小程序
|
WeixinMiniAPI *weixinapi.API // 小程序
|
||||||
WeixinMiniAPI2 *weixinapi.API // 小程序2
|
WeixinMiniAPI2 *weixinapi.API // 小程序2
|
||||||
WeixinPageAPI *weixinapi.API // 用户微信扫码登录
|
WeixinMiniAppID2 string
|
||||||
|
|
||||||
|
WeixinPageAPI *weixinapi.API // 用户微信扫码登录
|
||||||
|
|
||||||
AutonaviAPI *autonavi.API
|
AutonaviAPI *autonavi.API
|
||||||
QiniuAPI *qbox.Mac
|
QiniuAPI *qbox.Mac
|
||||||
@@ -125,8 +127,8 @@ func Init() {
|
|||||||
WeimobAPI = nil
|
WeimobAPI = nil
|
||||||
}
|
}
|
||||||
WeixinMiniAPI = weixinapi.New(beego.AppConfig.String("weixinMiniAppID"), beego.AppConfig.String("weixinMiniSecret"))
|
WeixinMiniAPI = weixinapi.New(beego.AppConfig.String("weixinMiniAppID"), beego.AppConfig.String("weixinMiniSecret"))
|
||||||
if weixinMiniAppID2 := beego.AppConfig.String("weixinMiniAppID2"); weixinMiniAppID2 != "" {
|
if WeixinMiniAppID2 = beego.AppConfig.String("weixinMiniAppID2"); WeixinMiniAppID2 != "" {
|
||||||
WeixinMiniAPI2 = weixinapi.New(weixinMiniAppID2, beego.AppConfig.String("weixinMiniSecret2"))
|
WeixinMiniAPI2 = weixinapi.New(WeixinMiniAppID2, beego.AppConfig.String("weixinMiniSecret2"))
|
||||||
}
|
}
|
||||||
WeixinPageAPI = weixinapi.New(beego.AppConfig.String("weixinPageAppID"), beego.AppConfig.String("weixinPageSecret"))
|
WeixinPageAPI = weixinapi.New(beego.AppConfig.String("weixinPageAppID"), beego.AppConfig.String("weixinPageSecret"))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user