From 0011720dcecb7190f64773c1d3e6477662c698fc Mon Sep 17 00:00:00 2001 From: Mili Date: Sun, 2 Apr 2023 19:21:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E5=BC=BA=E5=88=B6=E5=B0=86=E7=8E=A9=E5=AE=B6=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FunGame.Desktop/Model/MainModel.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/FunGame.Desktop/Model/MainModel.cs b/FunGame.Desktop/Model/MainModel.cs index f874095..53abedc 100644 --- a/FunGame.Desktop/Model/MainModel.cs +++ b/FunGame.Desktop/Model/MainModel.cs @@ -34,7 +34,7 @@ namespace Milimoe.FunGame.Desktop.Model string msg = ""; Guid key = Guid.Empty; (msg, key) = await Task.Factory.StartNew(SocketHandler_LogOut); - if (key != Guid.Empty) + if (key == Config.Guid_LoginKey) { Config.Guid_LoginKey = Guid.Empty; Main.UpdateUI(MainInvokeType.LogOut, msg ?? ""); @@ -145,6 +145,7 @@ namespace Milimoe.FunGame.Desktop.Model Main.GetMessage(msg, TimeType.None); return true; } + else return false; } throw new CanNotSendTalkException(); } @@ -168,6 +169,20 @@ namespace Milimoe.FunGame.Desktop.Model if ((RunTime.Socket?.Connected ?? false) && Usercfg.LoginUser != null) Main.UpdateUI(MainInvokeType.SetGreenAndPing); } + else if (SocketObject.SocketType == SocketMessageType.ForceLogout) + { + // 服务器强制下线登录 + Guid key = Guid.Empty; + string? msg = ""; + if (SocketObject.Length > 0) key = SocketObject.GetParam(0); + if (SocketObject.Length > 1) msg = SocketObject.GetParam(1); + msg ??= ""; + if (key == Config.Guid_LoginKey) + { + Config.Guid_LoginKey = Guid.Empty; + Main.UpdateUI(MainInvokeType.LogOut, msg ?? ""); + } + } else if (SocketMessageTypes.Contains(SocketObject.SocketType)) { Work = SocketObject;