From cf04c63261d4e1bf8aa4f769b5c3887058b51d25 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Thu, 18 Aug 2022 11:44:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=96=B0=E6=8A=96=E9=9F=B3?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth2/authprovider/douyin/tiktop_mini.go | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/business/auth2/authprovider/douyin/tiktop_mini.go b/business/auth2/authprovider/douyin/tiktop_mini.go index e94ae36d9..c7c52e218 100644 --- a/business/auth2/authprovider/douyin/tiktop_mini.go +++ b/business/auth2/authprovider/douyin/tiktop_mini.go @@ -9,6 +9,7 @@ import ( "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" + "strings" ) const ( @@ -30,15 +31,16 @@ func init() { func (a *TiktopMiniAuther) VerifySecret(dummy, code string) (authBindEx *auth2.AuthBindEx, err error) { globals.SugarLogger.Debugf("toktok mini VerifySecret jsCode:%s", code) - appID, code := weixin.SplitJsCode(code) + appID, code := splitCode(code) globals.SugarLogger.Debug("检测数据生成结果============", appID) sessionInfo, err := getTikTokApp(appID).GetTiktokOauth(code) + if err != nil { + return nil, err + } globals.SugarLogger.Debug("toktok mini VerifySecret sessionInfo:", sessionInfo) - if err == nil { - sessionKey := sessionInfo.Data.SessionKey - if authBindEx, err = a.UnionFindAuthBind(AuthTypeTiktokMini, api.TiktokApi.GetAppID(), []string{AuthTypeTiktokMini}, sessionInfo.Data.OpenId, sessionInfo.Data.Unionid, sessionInfo); err == nil { - authBindEx.UserData = sessionKey - } + sessionKey := sessionInfo.Data.SessionKey + if authBindEx, err = a.UnionFindAuthBind(AuthTypeTiktokMini, api.TiktokApi.GetAppID(), []string{AuthTypeTiktokMini}, sessionInfo.Data.OpenId, sessionInfo.Data.Unionid, sessionInfo); err == nil { + authBindEx.UserData = sessionKey } return authBindEx, err } @@ -97,3 +99,13 @@ func getTikTokApp(appID string) (TikTokMini *tiktok.API) { } return TikTokMini } +func splitCode(code string) (appID, realCode string) { + str := strings.Split(code, "&") + if len(str) == 2 { + appID = str[1] + realCode = str[0] + } else { + globals.SugarLogger.Warnf("splitCode abnormal code:%s", code) + } + return appID, realCode +}