2026-04-24 16:57:44 +08:00
|
|
|
using System;
|
2026-04-16 14:57:19 +08:00
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Kill.Network;
|
2026-04-24 16:57:44 +08:00
|
|
|
using Kill.UI.Components;
|
2026-04-16 14:57:19 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
namespace Kill.Managers
|
|
|
|
|
{
|
|
|
|
|
public class DataManager : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
public static DataManager Instance { get; private set; }
|
|
|
|
|
private void Awake()
|
|
|
|
|
{
|
|
|
|
|
Instance = this;
|
|
|
|
|
}
|
|
|
|
|
public async Task Init()
|
|
|
|
|
{
|
|
|
|
|
InitUser();
|
|
|
|
|
}
|
|
|
|
|
public string token = "";
|
|
|
|
|
public UserInfo userInfo = new UserInfo();
|
|
|
|
|
public void SetToken(string token,UserInfo userInfo)
|
|
|
|
|
{
|
|
|
|
|
this.token = token;
|
|
|
|
|
this.userInfo = userInfo;
|
|
|
|
|
string userData =JsonUtility.ToJson(userInfo);
|
2026-04-20 08:31:41 +08:00
|
|
|
Debug.Log(userData);
|
2026-04-16 14:57:19 +08:00
|
|
|
PlayerPrefs.SetString("token", token);
|
|
|
|
|
PlayerPrefs.SetString("userData", userData);
|
2026-04-24 16:57:44 +08:00
|
|
|
NetworkCtrl.Instance.RemoveGlobalHeader("token");
|
|
|
|
|
NetworkCtrl.Instance.AddGlobalHeader("token", token);
|
2026-04-16 14:57:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void InitUser()
|
|
|
|
|
{
|
|
|
|
|
token = PlayerPrefs.GetString("token", "");
|
|
|
|
|
string userData = PlayerPrefs.GetString("userData", "");
|
|
|
|
|
userInfo = JsonUtility.FromJson<UserInfo>(userData);
|
2026-04-24 16:57:44 +08:00
|
|
|
NetworkCtrl.Instance.RemoveGlobalHeader("token");
|
|
|
|
|
NetworkCtrl.Instance.AddGlobalHeader("token",token);
|
|
|
|
|
Debug.Log(token);
|
2026-04-16 14:57:19 +08:00
|
|
|
}
|
|
|
|
|
public void ClearInfo()
|
|
|
|
|
{
|
|
|
|
|
token = "";
|
|
|
|
|
userInfo = new UserInfo();
|
|
|
|
|
PlayerPrefs.DeleteKey("token");
|
|
|
|
|
PlayerPrefs.DeleteKey("userData");
|
|
|
|
|
}
|
2026-04-28 16:35:51 +08:00
|
|
|
public async Task<bool> TokenLogin()
|
2026-04-24 16:57:44 +08:00
|
|
|
{
|
|
|
|
|
LoadingUI.Show();
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 获取用户详情
|
|
|
|
|
var response = await NetworkCtrl.Instance.Post<LoginResponse>("/api/v1/auth/token-login");
|
|
|
|
|
LoadingUI.Hide();
|
2026-04-28 16:35:51 +08:00
|
|
|
if(response.Data.code==200)
|
|
|
|
|
{
|
|
|
|
|
SetToken(response.Data.data.token,response.Data.data.user);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ClearInfo();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2026-04-24 16:57:44 +08:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LoadingUI.Hide();
|
|
|
|
|
Debug.LogError($"TokenLogin 异常: {ex.Message}");
|
2026-04-28 16:35:51 +08:00
|
|
|
return false;
|
2026-04-24 16:57:44 +08:00
|
|
|
}
|
|
|
|
|
}
|
2026-04-16 14:57:19 +08:00
|
|
|
}
|
|
|
|
|
}
|