2026-06-08 08:55:10 +08:00
|
|
|
|
using System.Collections;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using Kill.Managers;
|
|
|
|
|
|
using Kill.Network;
|
|
|
|
|
|
using Kill.UI.Components;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
namespace Kill.UI.Pages
|
|
|
|
|
|
{
|
|
|
|
|
|
public class CheckPasswordPage : MonoBehaviour
|
|
|
|
|
|
{
|
|
|
|
|
|
class PasswordRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
public string password;
|
|
|
|
|
|
}
|
|
|
|
|
|
public InputField passwordInput;
|
|
|
|
|
|
public Text errorText;
|
|
|
|
|
|
public GameObject plane;
|
2026-07-03 14:41:12 +08:00
|
|
|
|
public void OnEnable()
|
|
|
|
|
|
{
|
|
|
|
|
|
errorText.text="";
|
|
|
|
|
|
}
|
2026-06-08 08:55:10 +08:00
|
|
|
|
public async void OnConfirm()
|
|
|
|
|
|
{
|
2026-07-03 14:41:12 +08:00
|
|
|
|
errorText.text="";
|
2026-06-08 08:55:10 +08:00
|
|
|
|
LoadingUI.Show();
|
2026-09-01 09:25:48 +08:00
|
|
|
|
try
|
2026-06-08 08:55:10 +08:00
|
|
|
|
{
|
2026-09-01 09:25:48 +08:00
|
|
|
|
string password = passwordInput != null ? passwordInput.text : "";
|
|
|
|
|
|
if (string.IsNullOrEmpty(password))
|
|
|
|
|
|
{
|
|
|
|
|
|
errorText.text = LanguageManager.Instance.GetLanguage("home_password_check_failed");
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
PasswordRequest requestData=new PasswordRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
password=passwordInput.text
|
|
|
|
|
|
};
|
2026-06-08 08:55:10 +08:00
|
|
|
|
|
2026-09-01 09:25:48 +08:00
|
|
|
|
var response = await NetworkCtrl.Instance.Post<LoginResponse>("/api/v1/auth/password/verify", requestData);
|
2026-06-08 08:55:10 +08:00
|
|
|
|
|
2026-09-01 09:25:48 +08:00
|
|
|
|
if (response != null && response.Data != null && response.Data.code == 200)
|
|
|
|
|
|
{
|
|
|
|
|
|
plane.SetActive(false);
|
|
|
|
|
|
gameObject.SetActive(false);
|
|
|
|
|
|
errorText.text="";
|
|
|
|
|
|
passwordInput.text="";
|
|
|
|
|
|
UIManager.Instance.isFirstTime=false;
|
2026-09-17 08:41:18 +08:00
|
|
|
|
// 解锁成功,记录解锁时间(自动锁定倒计时起点)
|
|
|
|
|
|
DataManager.Instance.RecordUnlock();
|
2026-09-01 09:25:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
errorText.text = LanguageManager.Instance.GetLanguage("home_password_check_failed");
|
|
|
|
|
|
passwordInput.text="";
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
catch (System.Exception ex)
|
2026-06-08 08:55:10 +08:00
|
|
|
|
{
|
2026-09-01 09:25:48 +08:00
|
|
|
|
Debug.LogError($"[CheckPasswordPage] 校验密码异常: {ex.Message}");
|
|
|
|
|
|
errorText.text = LanguageManager.Instance.GetLanguage("home_password_check_failed");
|
|
|
|
|
|
if (passwordInput != null) passwordInput.text = "";
|
2026-06-08 08:55:10 +08:00
|
|
|
|
}
|
2026-09-01 09:25:48 +08:00
|
|
|
|
finally
|
2026-06-08 08:55:10 +08:00
|
|
|
|
{
|
2026-09-01 09:25:48 +08:00
|
|
|
|
// 无论成功/失败/异常都关闭 Loading,避免一直挂着
|
|
|
|
|
|
LoadingUI.Hide();
|
2026-06-08 08:55:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|