This commit is contained in:
2026-07-27 23:30:25 +08:00
parent 738b2b2d36
commit 44a1029070
17 changed files with 611 additions and 21 deletions
+3
View File
@@ -249,6 +249,7 @@ namespace Assets.MyGame.Scripts.Net
Debug.Log("url----" + url+"--"+ "Json-"+json+"res--"+JsonConvert.SerializeObject(res));
#endif
Debug.Log("url----" + url + "--" + "Json-" + json + "res--" + JsonConvert.SerializeObject(res));
// 自动保存 token
if (typeof(T) == typeof(UserToken))
{
@@ -311,6 +312,8 @@ namespace Assets.MyGame.Scripts.Net
Debug.Log("url----" + url + "--" + "Json-" + json + "res--" + JsonConvert.SerializeObject(res));
#endif
Debug.Log("url----" + url + "--" + "Json-" + json + "res--" + JsonConvert.SerializeObject(res));
// 自动保存 token
if (typeof(T) == typeof(UserToken))
{
@@ -403,6 +403,12 @@ namespace Assets.MyGame.Scripts.Net
case "AccountKicked":
WebSocketReponseList.AccountKicked(msg);
break;
case "ChangeConfig":
WebSocketReponseList.ChangeConfig(msg);
break;
case "KickToMainPage":
WebSocketReponseList.KickToMainPage(msg);
break;
default:
break;
}
@@ -1,3 +1,4 @@
using Assets.MyGame.Scripts.Net.API;
using Assets.MyGame.Scripts.Net.WebResponses;
using Newtonsoft.Json;
using System;
@@ -715,6 +716,85 @@ namespace Assets.MyGame.Scripts.Net
public string userId;
}
/// <summary>
/// LoginHub ChangeConfig — 后台活动配置或游戏配置保存发布后广播
/// changeType: 1=活动配置更新 2=游戏配置更新
/// 前端按 changeType 重新请求对应配置
/// </summary>
public static void ChangeConfig(string msg)
{
try
{
var changeType = JsonConvert.DeserializeObject<WebSocketResponseBase<int>>(msg).arguments[0];
switch (changeType)
{
case 1:
// 活动配置更新
APIRequestList.GetActivityConfig(res =>
{
if (res != null) GameManager.Instance.activityConfig = res;
});
break;
case 2:
// 游戏配置更新
APIManager.Response<GameConfig>(APIType.GameConfig_Get, res =>
{
if (res != null)
{
GameManager.Instance.gameConfig = res;
var v = GameManager.Instance.dic_fishTypeConfigs;
if (v != null)
{
v.Clear();
foreach (var item in res.fishTypeConfigs)
v[item.fishNumber] = item;
}
}
});
break;
}
}
catch (Exception e)
{
Debug.LogWarning("[ChangeConfig] 解析失败: " + e.Message);
}
}
/// <summary>
/// LoginHub KickToMainPage — 强制退出到主页面
/// 当前账号连接已失效(被顶号/用户不匹配),前端应立即清除所有游戏 UI 并导航到主页面/登录页
/// </summary>
public static void KickToMainPage(string msg)
{
try
{
var data = JsonConvert.DeserializeObject<WebSocketResponseBase<KickToMainPageData>>(msg).arguments[0];
var userId = GameManager.Instance?.user?.id;
// 只处理当前登录用户被踢的情况
if (data != null && !string.IsNullOrEmpty(data.userId)
&& !string.IsNullOrEmpty(userId) && data.userId != userId)
return;
}
catch (Exception e)
{
Debug.LogWarning("[KickToMainPage] 解析失败: " + e.Message);
}
UIManager.Instance.ShowTiShi("连接已失效,请重新登录", () =>
{
GameManager.Instance.Logout();
});
}
/// <summary>
/// LoginHub KickToMainPage 数据
/// </summary>
[Serializable]
public class KickToMainPageData
{
public string userId;
}
// ---------------- FishGameHub 补充 ----------------
/// <summary>