2026-04-20 13:49:36 +08:00
|
|
|
|
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
using BingoBrain.Core;
|
|
|
|
|
|
using BingoBrain;
|
|
|
|
|
|
using DG.Tweening;
|
|
|
|
|
|
using BingoBrain.HotFix;
|
|
|
|
|
|
using DontConfuse;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class LoginSystem : BaseSystem
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
//is debug test (LoginCountLimit 应该为 5, 测试改为2)
|
|
|
|
|
|
private const int LoginCountLimit = 5;
|
|
|
|
|
|
private int loginCount = 0;
|
|
|
|
|
|
public LoginSystem(bool isAutoInit = true)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (isAutoInit)
|
|
|
|
|
|
{
|
|
|
|
|
|
Init();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public sealed override void Init()
|
|
|
|
|
|
{
|
|
|
|
|
|
base.Init();
|
|
|
|
|
|
InitData();
|
|
|
|
|
|
|
|
|
|
|
|
AddListener();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void InitData()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void AddListener()
|
|
|
|
|
|
{
|
2026-05-08 11:03:00 +08:00
|
|
|
|
// NetworkDispatcher.Instance.AddListener(NetworkMsg.Login, OnRequestLogin);
|
|
|
|
|
|
// NetworkDispatcher.Instance.AddListener(NetworkMsg.Reconnect, OnResponseReconnect);
|
2026-04-20 13:49:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void RemoveListener()
|
|
|
|
|
|
{
|
2026-05-08 11:03:00 +08:00
|
|
|
|
// NetworkDispatcher.Instance.RemoveListener(NetworkMsg.Login, OnRequestLogin);
|
2026-04-20 13:49:36 +08:00
|
|
|
|
|
2026-05-08 11:03:00 +08:00
|
|
|
|
// NetworkDispatcher.Instance.RemoveListener(NetworkMsg.Reconnect, OnResponseReconnect);
|
2026-04-20 13:49:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void RequestLogin()
|
|
|
|
|
|
{
|
|
|
|
|
|
var requestLoginData = new RequestLoginData
|
|
|
|
|
|
{
|
|
|
|
|
|
device_id = SystemInfo.deviceUniqueIdentifier,
|
|
|
|
|
|
// device_id ="E742FE8B-C32E-56A7-8F8A-6B3BC0F3169",
|
|
|
|
|
|
pack_name = NetworkMsg.Identifier,
|
|
|
|
|
|
app_version = Application.version,
|
|
|
|
|
|
channel = BingoBea.Instance.attribution,
|
|
|
|
|
|
sim = WebviewManager.haveSimCard
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
Debug.Log(SystemInfo.deviceUniqueIdentifier);
|
|
|
|
|
|
GameHelper.PostFunnelLogin("loginSend");
|
|
|
|
|
|
Debug.Log(JsonConvert.SerializeObject(requestLoginData));
|
2026-05-08 11:03:00 +08:00
|
|
|
|
//zhushi // NetworkKit.Post<LoginModel>("login", requestLoginData, (isSuccess, loginData) =>
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (isSuccess)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// var loginModel = GameHelper.GetLoginModel();
|
|
|
|
|
|
// 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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// loginModel.preferences = new Preferences();
|
|
|
|
|
|
// NetworkKit.CDNUrl = $"{loginData.cdn_url}/";
|
|
|
|
|
|
// NetworkKit.SetCacheToken(loginData.token);
|
|
|
|
|
|
// //RequestHeart();
|
|
|
|
|
|
// DateTimeBoardk.Instance.SetServerCurrTimestamp(loginData.login_time);
|
|
|
|
|
|
// Sequence mLoopSequence = DOTween.Sequence();
|
|
|
|
|
|
// mLoopSequence.AppendCallback(() =>
|
|
|
|
|
|
// {
|
|
|
|
|
|
// RequestHeart();
|
|
|
|
|
|
|
|
|
|
|
|
// }).AppendInterval(60).SetLoops(-1);
|
|
|
|
|
|
// //TimerHelper.UnscaleGeneral.AddLoopTimer(60, (timer) => { RequestHeart(); });
|
|
|
|
|
|
// //NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetPlayData);
|
|
|
|
|
|
// //UICtrlDispatcher.Instance.Dispatch(SkinInfo.EnterBingoUI_Open);
|
|
|
|
|
|
// PreferencesMgr.Instance.PlayerName = loginData.invite_code;
|
|
|
|
|
|
// NetworkDispatcher.Instance.Dispatch(ExternalInfo.GetConfig);
|
|
|
|
|
|
// MaxADKit.Init();
|
|
|
|
|
|
// GameHelper.PostFunnelLogin("loginRecv", true);
|
|
|
|
|
|
// if (GameHelper.IsGiftSwitch())
|
|
|
|
|
|
// {
|
|
|
|
|
|
// GameObject.Find("MainCameraRoot").SetActive(false);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// else{
|
|
|
|
|
|
// GameObject.Find("sheep_parent").SetActive(false);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// else
|
|
|
|
|
|
// {
|
|
|
|
|
|
// //UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close);
|
|
|
|
|
|
// Debug.Log("登陆请求失败");
|
|
|
|
|
|
// GameHelper.PostFunnelLogin("loginRecv", false);
|
|
|
|
|
|
|
|
|
|
|
|
// float times = loginCount == 0 ? 0 : 5f;
|
|
|
|
|
|
|
|
|
|
|
|
// DOVirtual.DelayedCall(times,()=>{
|
|
|
|
|
|
// if (loginCount < LoginCountLimit) {
|
|
|
|
|
|
// loginCount++;
|
|
|
|
|
|
// RequestLogin();
|
2026-04-20 13:49:36 +08:00
|
|
|
|
|
2026-05-08 11:03:00 +08:00
|
|
|
|
// } else {
|
|
|
|
|
|
// loginCount = 0;
|
|
|
|
|
|
// Action _OnFail = () =>
|
|
|
|
|
|
// {
|
|
|
|
|
|
// NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login);
|
|
|
|
|
|
// };
|
|
|
|
|
|
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TipsViewUI_Open, _OnFail);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
2026-04-20 13:49:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void RequestHeart()
|
|
|
|
|
|
{
|
|
|
|
|
|
NetworkKit.PostWithHeader("user/health");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void OnRequestLogin(object obj = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
RequestLogin();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void OnResponseReconnect(object obj)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void Dispose()
|
|
|
|
|
|
{
|
|
|
|
|
|
base.Dispose();
|
|
|
|
|
|
RemoveListener();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public partial class NetworkMsg
|
|
|
|
|
|
{
|
|
|
|
|
|
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.interactivegames123.bingograssland";
|
|
|
|
|
|
public static uint Start = ++MsgRootLogic;
|
|
|
|
|
|
public static uint NotNetwork = ++MsgRootLogic;
|
|
|
|
|
|
}
|
|
|
|
|
|
public class RequestLoginData
|
|
|
|
|
|
{
|
|
|
|
|
|
public string device_id;
|
|
|
|
|
|
public string pack_name;
|
|
|
|
|
|
public string app_version;
|
|
|
|
|
|
public string channel;
|
|
|
|
|
|
public bool sim;
|
|
|
|
|
|
}
|