1
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user