using UnityEngine; using Newtonsoft.Json; using BingoBrain; using DG.Tweening; using System; using ScrewsMaster; public class LoginSystem_sdk { //is debug test (LoginCountLimit 应该为 5, 测试改为2) private const int LoginCountLimit = 5; public int loginCount = 0; private LoginSystem_sdk() { } private static readonly LoginSystem_sdk _instance = new LoginSystem_sdk(); public static LoginSystem_sdk Instance { get { return _instance; } } public void RequestLogin() { var requestLoginData = new RequestLoginData_sdk { device_id = SystemInfo.deviceUniqueIdentifier, // device_id ="E742FE8B-C32E-56A7-8F8A-6B3BC0F3169", pack_name = NetworkManager.packName, app_version = Application.version, // channel = BingoBea.Instance.attribution, // sim = WebviewManager.haveSimCard }; Debug.Log(JsonConvert.SerializeObject(requestLoginData)); Debug.Log(SystemInfo.deviceUniqueIdentifier); Debug.Log(JsonConvert.SerializeObject(requestLoginData)); NetworkKit_sdk.Post("login", requestLoginData, (isSuccess, loginData) => { if (isSuccess) { Debug.Log("Login_sdk" + "-------------------" + JsonConvert.SerializeObject(loginData)); LoginModel_sdk loginModel = LoginModel_sdk.Instance; loginModel.cdn_url = loginData.cdn_url; loginModel.setting = loginData.setting; loginModel.play_data = loginData.play_data; loginModel.token = loginData.token; loginModel.uid = loginData.uid; loginModel.country = loginData.country; loginModel.expires_at = loginData.expires_at; loginModel.is_magic = loginData.is_magic; loginModel.invite_code = loginData.invite_code; loginModel.invite_url = loginData.invite_url; loginModel.last_login_time = loginData.last_login_time; loginModel.login_time = loginData.login_time; loginModel.reg_time = loginData.reg_time; loginModel.new_player = loginData.new_player; loginModel.debug_log = loginData.debug_log; loginModel.enwp = loginData.enwp; // if (loginData.is_magic) // { // if (PlayerPrefs.GetInt("is_gift") != 1) // { // AppDispatcher.Instance.Dispatch(CsjInfoC.UI_DisplayLoadingUI); // UICtrlDispatcher.Instance.Dispatch(SkinInfo.LoginAUI_Close); // } // PlayerPrefs.SetInt("is_gift", 1); // } // else // { // return; // } NetworkKit_sdk.CDNUrl = $"{loginData.cdn_url}/"; NetworkKit_sdk.SetCacheToken(loginData.token); // DateTimeBoardk.Instance.SetServerCurrTimestamp(loginData.login_time); // Sequence mLoopSequence = DOTween.Sequence(); // mLoopSequence.AppendCallback(() => // { // RequestHeart(); // GameHelper.PostFunnelLogin("loginRecv", true); ConfigSystem_sdk.Instance.OnRequestGetConfig(); // if (GameHelper.IsGiftSwitch()) // { // // GameObject.Find("MainCameraRoot").SetActive(false); // } } else { Debug.Log(JsonConvert.SerializeObject(loginData)); //UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close); Debug.Log("登陆请求失败"); float times = loginCount == 0 ? 0 : 5f; DOVirtual.DelayedCall(times, () => { if (loginCount < LoginCountLimit) { loginCount++; RequestLogin(); } else { loginCount = 0; Action _OnFail = () => { NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login); }; } }); } }); } private void RequestHeart() { NetworkKit.PostWithHeader("user/health"); } private void OnRequestLogin(object obj = null) { RequestLogin(); } } public partial class NetworkMsg_sdk { private static uint MsgRootLogic = 100000; public static uint GetConfig = ++MsgRootLogic; public static uint Reconnect = ++MsgRootLogic; public static uint Login = ++MsgRootLogic; public static uint SavePlayData = ++MsgRootLogic; public static uint GetPlayData = ++MsgRootLogic; public static uint SendInviteCode = ++MsgRootLogic; public static uint GetInviteData = ++MsgRootLogic; public static uint UpdateCheckInviteData = ++MsgRootLogic; public static string Identifier = "com.interactivegames.bingotornado"; public static uint Start = ++MsgRootLogic; public static uint NotNetwork = ++MsgRootLogic; } public class RequestLoginData_sdk { public string device_id; public string pack_name; public string app_version; public string channel; public bool sim; }