Răsfoiți Sursa

修改登录使用直播间ID

大爷 1 an în urmă
părinte
comite
53fd464ed3

+ 8 - 6
Unity/Assets/Scripts/Codes/Hotfix/Client/Login/LoginHelper.cs

@@ -6,18 +6,19 @@ namespace ET.Client
 {
     public static class LoginHelper
     {
-        public static async ETTask<int> Login(string ip, int port)
+        public static async ETTask<int> Login(string ip, int port, int roomid)
         {
-            string account = "111";
-            string password = "111";
             Scene clientScene = ClientSceneManagerComponent.Instance.Get( 1 );
             if( clientScene == null )
             {
                 Log.Error( "Not found client scene" );
-                return 0;
+                return ErrorCode.ERR_SystemError;
             }
+
             try
             {
+                var strRoomid = roomid.ToString();
+
                 // 创建一个ETModel层的Session
                 clientScene.RemoveComponent<RouterAddressComponent>();
                 clientScene.RemoveComponent<NetClientComponent>();
@@ -30,13 +31,14 @@ namespace ET.Client
                 await routerAddressComponent.Init();
 
                 clientScene.AddComponent<NetClientComponent, AddressFamily>(routerAddressComponent.RouterManagerIPAddress.AddressFamily);
-                IPEndPoint realmAddress = routerAddressComponent.GetRealmAddress(account);
+                //如果有多个网关地址,则通过roomid弄点花样模拟随机获取一个地址
+                IPEndPoint realmAddress = routerAddressComponent.GetRealmAddress( strRoomid );
 
                 // 登陆验证
                 R2C_Login r2CLogin;
                 using (Session session = await RouterHelper.CreateRouterSession(clientScene, realmAddress))
                 {
-                    r2CLogin = (R2C_Login)await session.Call(new C2R_Login() { RoomId = account });
+                    r2CLogin = (R2C_Login)await session.Call(new C2R_Login() { RoomId = strRoomid } );
                 }
 
                 if (r2CLogin.Error != ErrorCode.ERR_Success)

+ 28 - 6
Unity/Assets/Scripts/Codes/HotfixView/Client/UI/UILogin/AppStartInitFinish_CreateLoginUI.cs

@@ -129,24 +129,42 @@ namespace ET.Client
             InitServerList(listSvr);
             InitResolutionList(listResolution);
 
-            var inputID = comp.GetChild("txtID");
+            var tips = comp.GetChild( "txt_tips" );
+            var inputID = comp.GetChild("txtID").asTextInput;
+            var roomid = GameSetting.Instance.GetInt( GameSetting.Sets.TiktokRoomId_int );
+            if(roomid > 0 )
+            {
+                inputID.text = roomid.ToString();
+            }
+            inputID.onChanged.Set( () => { tips.visible = false; } );
+            
             var btn = comp.GetChild("btn_go");
             btn.onClick.Add(async () =>
             {
                 var imgtips = comp.GetChild("img_tips");
-                var tips = comp.GetChild("txt_tips");
                 tips.visible = false;
                 imgtips.visible = false;
-                /*if (account.text.IsNullOrWhitespace() || password.text.IsNullOrWhitespace())
+                if (inputID.text.IsNullOrWhitespace())
                 {
                     tips.visible = true;
-                    tips.text = "用户名或密码为空";
+                    tips.text = "请输入直播间ID";
                     return;
-                }*/
+                }
+                var roomid = 0;
+                try
+                {
+                    roomid = Convert.ToInt32( inputID.text );
+                }
+                catch(Exception)
+                {
+                    tips.visible = true;
+                    tips.text = "请输入正确的直播间ID";
+                    return;
+                }
 
                 imgtips.visible = true;
                 btn.enabled = false;
-                var ret = await LoginHelper.Login(mIP, mPort);
+                var ret = await LoginHelper.Login(mIP, mPort, roomid);
                 if (ret != ErrorCode.ERR_Success)
                 {
                     imgtips.visible = false;
@@ -166,6 +184,10 @@ namespace ET.Client
                                                 "\n微信:[color=#FF0000]lvlh117[/color]";
                     }
                 }
+                else
+                {
+                    GameSetting.Instance.SetInt(GameSetting.Sets.TiktokRoomId_int, roomid);
+                }
             });
         }
     }

+ 1 - 1
Unity/Assets/Scripts/Codes/Model/Client/GameSetting.cs

@@ -9,7 +9,7 @@ namespace ET
             Mute_int,
             Server_str,
             Resolution_int,
-
+            TiktokRoomId_int,
         }
 
         public bool GetBool(Sets sets)