55 lines
1.8 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|