Files
ichni_Official/Assets/Scripts/Online/Editor/LoginCacheEditor.cs
2026-06-15 14:54:30 +08:00

55 lines
1.8 KiB
C#

using IchniOnline.Online.Logic;
using IchniOnline.Online.Models;
using UnityEditor;
using UnityEngine;
namespace IchniOnline.Editor
{
public static class LoginCacheEditor
{
private const string MENU_PATH = "Ichni/Login Cache";
[MenuItem(MENU_PATH + "/Generate Mock Data")]
public static void GenerateMockData()
{
LoginCacheManager.SaveMockData();
var data = LoginCacheManager.CachedData;
Debug.Log($"[LoginCacheEditor] 模拟缓存已写入: openId={data.openId}, name={data.name}");
}
[MenuItem(MENU_PATH + "/Clear Cached Data")]
public static void ClearCachedData()
{
LoginCacheManager.Clear();
Debug.Log("[LoginCacheEditor] 登录缓存已清除");
}
[MenuItem(MENU_PATH + "/Show Cached Data", false, 200)]
public static void ShowCachedData()
{
if (LoginCacheManager.HasCachedLogin)
{
var data = LoginCacheManager.CachedData;
Debug.Log($"[LoginCacheEditor] 当前缓存:\n" +
$" openId: {data.openId}\n" +
$" unionId: {data.unionId}\n" +
$" name: {data.name}\n" +
$" email: {data.email}\n" +
$" timestamp: {data.cacheTimestamp}");
}
else
{
Debug.Log("[LoginCacheEditor] 无登录缓存");
}
}
// 动态禁用:没有缓存时灰显 Clear/Show
[MenuItem(MENU_PATH + "/Clear Cached Data", true)]
[MenuItem(MENU_PATH + "/Show Cached Data", true)]
public static bool ValidateHasCache()
{
return LoginCacheManager.HasCachedLogin;
}
}
}