Files
BallCrushBest_GP/Assets/Scripts/System/Network/LoginSystem.cs
T

103 lines
3.4 KiB
C#
Raw Normal View History

using System;
using IgnoreOPS;
using SGModule.Common.Extensions;
using SGModule.Common.Helper;
using SGModule.NetKit;
using UnityEngine;
namespace BallKingdomCrush {
public class LoginSystem : BaseSystem {
private int loginCount = 0;
private bool _isLogin = false;
private TimerTask timerTask = null;
public LoginSystem(bool isAutoInit = true) {
if (isAutoInit) {
Init();
}
}
public sealed override void Init() {
base.Init();
InitData();
AddListener();
}
private void InitData() {
}
private void AddListener() {
NetworkDispatcher.Instance.AddListener(NetworkMsg.Login, RequestLogin);
}
private void RemoveListener() {
NetworkDispatcher.Instance.RemoveListener(NetworkMsg.Login, RequestLogin);
}
private void RequestLogin(object obj = null) {
// if (!GameHelper.IsConnect())
// {
// LoginFail();
// }
// else
// {
if (_isLogin) return;
_isLogin = true;
TrackKit.TrackLoginFunnel(LoginFunnelEventType.LoginSend);
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetworkErrorTipsUI_Open);
Log.Info("login request", $"attribution: {SuperApplication.Instance.attribution}, haveSimCard: {NetworkManager.haveSimCard}");
LoginKit.Instance.LoginRequest(SuperApplication.Instance.attribution.ToLower(), NetworkManager.haveSimCard, (isSuccess, loginData) => {
TrackKit.TrackLoginFunnel(LoginFunnelEventType.LoginRecv, isSuccess ? "success" : "fail");
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetworkErrorTipsUI_Close);
Debug.Log($"loginData.uid======={loginData.Uid}");
if (isSuccess)
{
Debug.Log($"loginData.CdnURL======={loginData.CdnURL}");
// AB上传 BI
BIManager.Instance.TrackABConfig(loginData.IsMagic ? 30 : 15);
// loginData.CdnURL = "https://asserts.minskyfun.top";
// TextureHelper.imgUrl = loginData.CdnURL + "/encrypt/image/";
// LiveVideoManager.videoBaseUrl = loginData.CdnURL + "/encrypt/video/";
DateTimeManager.Instance.SetServerCurrTimestamp(loginData.LoginTime);
NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetPlayData);
MaxADKit.SetUserID(loginData.Uid.As<string>());
}
else
{
LoginFail();
}
});
// }
}
private static void LoginFail()
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close);
void OnFail() {
NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login);
}
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TipsViewUI_Open, (Action) OnFail);
}
public override void Dispose() {
base.Dispose();
RemoveListener();
}
}
}