diff --git a/lua/app/net/net_manager.lua b/lua/app/net/net_manager.lua index 661203bd..b8513ed9 100644 --- a/lua/app/net/net_manager.lua +++ b/lua/app/net/net_manager.lua @@ -220,40 +220,44 @@ function NetManager:connect(domain, port, callback, socketName) if ok and pbData then pbData.status = not pbData.err_code and 0 or ProtoMsgDispatch:getErrCodeEnum(pbData.err_code) if pbData.status ~= 0 then - self:closeAndClear() - local accountInfo = LocalData:getAccountInfo() - local loginType - local lastLoginType - if accountInfo.google_id and accountInfo.google_id ~= "" then - loginType = SDKManager.BF_LOGIN_TYPE.GOOGLE - lastLoginType = NetManager.LOGIN_TYPE.GOOGLE - elseif accountInfo.apple_id and accountInfo.apple_id ~= "" then - loginType = SDKManager.BF_LOGIN_TYPE.APPLE - lastLoginType = NetManager.LOGIN_TYPE.APPLE - end - if loginType then - SDKManager:login(function(params) - if not params.token then - return - end - LocalData:setLastLoginInfo(lastLoginType, params.id, params.token) - ModuleManager.LoginManager:saveAuthArgs(true) - ModuleManager.LoginManager:initSocket() - end, loginType) + if msgName == "ReconnectRsp" then -- Reconnect失败就直接回登录界面 + self:closeAll() else - LocalData:setLastLoginInfo() - ModuleManager.LoginManager:saveAuthArgs(true) - local params = { - content = I18N:getGlobalText(I18N.GlobalConst.DISCONNECT_RELOGIN), - okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK), - noShowClose = true, - okFunc = function() + self:closeAndClear() + local accountInfo = LocalData:getAccountInfo() + local loginType + local lastLoginType + if accountInfo.google_id and accountInfo.google_id ~= "" then + loginType = SDKManager.BF_LOGIN_TYPE.GOOGLE + lastLoginType = NetManager.LOGIN_TYPE.GOOGLE + elseif accountInfo.apple_id and accountInfo.apple_id ~= "" then + loginType = SDKManager.BF_LOGIN_TYPE.APPLE + lastLoginType = NetManager.LOGIN_TYPE.APPLE + end + if loginType then + SDKManager:login(function(params) + if not params.token then + return + end + LocalData:setLastLoginInfo(lastLoginType, params.id, params.token) + ModuleManager.LoginManager:saveAuthArgs(true) ModuleManager.LoginManager:initSocket() - end, - boxType = GConst.MESSAGE_BOX_TYPE.MB_OK, - top = true, - } - GFunc.showMessageBox(params) + end, loginType) + else + LocalData:setLastLoginInfo() + ModuleManager.LoginManager:saveAuthArgs(true) + local params = { + content = I18N:getGlobalText(I18N.GlobalConst.DISCONNECT_RELOGIN), + okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK), + noShowClose = true, + okFunc = function() + ModuleManager.LoginManager:initSocket() + end, + boxType = GConst.MESSAGE_BOX_TYPE.MB_OK, + top = true, + } + GFunc.showMessageBox(params) + end end else UIManager:hideWaitNet(true)