From f3ecc018ffdf5cafea1ad31beaa564b411801b56 Mon Sep 17 00:00:00 2001 From: chenbin Date: Sun, 2 Aug 2020 08:47:44 +0800 Subject: [PATCH] update --- .../Editor/Tools/ECLUpgradeBindingServer.cs | 130 +++++++++++++++--- Assets/CoolapeFrameData/cfg/projcet.cfg | Bin 948 -> 1004 bytes Assets/trCRM/_scene/Main.unity | 2 +- Assets/trCRM/serversCfg.meta | 8 ++ Assets/trCRM/serversCfg/servers.json | 32 +++++ Assets/trCRM/serversCfg/servers.json.meta | 7 + .../priority/lua/net/NetProto.lua | 19 +-- .../priority/lua/ui/cell/CLLCellServer.lua | 74 +++++----- .../priority/lua/ui/panel/CLLPSplash.lua | 28 ++-- .../priority/lua/ui/panel/CLLPStart.lua | 5 +- .../ui/panel/PanelSelectServer.prefab | 16 +++ 11 files changed, 232 insertions(+), 89 deletions(-) create mode 100644 Assets/trCRM/serversCfg.meta create mode 100644 Assets/trCRM/serversCfg/servers.json create mode 100644 Assets/trCRM/serversCfg/servers.json.meta diff --git a/Assets/CoolapeFrame/Editor/Tools/ECLUpgradeBindingServer.cs b/Assets/CoolapeFrame/Editor/Tools/ECLUpgradeBindingServer.cs index 91c22e2..99c59a6 100644 --- a/Assets/CoolapeFrame/Editor/Tools/ECLUpgradeBindingServer.cs +++ b/Assets/CoolapeFrame/Editor/Tools/ECLUpgradeBindingServer.cs @@ -8,6 +8,8 @@ using System.Net; public class ECLUpgradeBindingServer : EditorWindow { + Hashtable content; + Hashtable servers; Hashtable server; Vector2 scrollPos = Vector2.zero; @@ -15,6 +17,27 @@ public class ECLUpgradeBindingServer : EditorWindow bool isSelectAll = false; static int selectedServerIndex = 0; HotUpgradeServerInfor selectedServer = null; + static bool uploadResult = false; + static bool isFinishUpload = false; + + void OnUpdate() + { + if (isFinishUpload) + { + isFinishUpload = false; + //TODO: + Debug.Log("finished"); + if (uploadResult) + { + // success + EditorUtility.DisplayDialog("Success", "Success !", "Okey"); + } + else + { + EditorUtility.DisplayDialog("Fail", "Failed !", "Okey"); + } + } + } void OnGUI () { @@ -150,12 +173,12 @@ public class ECLUpgradeBindingServer : EditorWindow GUI.color = Color.white; } EditorGUILayout.TextField (MapEx.getString (server, "idx"), GUILayout.Width (80)); - EditorGUILayout.TextField (MapEx.getString (server, "servername"), GUILayout.Width (100)); + EditorGUILayout.TextField (MapEx.getString (server, "name"), GUILayout.Width (100)); GUI.color = Color.yellow; #if UNITY_ANDROID - EditorGUILayout.TextField (MapEx.getString (server, "androidversion"), GUILayout.Width (250)); + EditorGUILayout.TextField (MapEx.getString (server, "androidVer"), GUILayout.Width (250)); #elif UNITY_IPHONE || UNITY_IOS - EditorGUILayout.TextField (MapEx.getString (server, "iosversion"), GUILayout.Width (250)); + EditorGUILayout.TextField (MapEx.getString (server, "iosVer"), GUILayout.Width (250)); #elif UNITY_STANDALONE_WIN EditorGUILayout.TextField (MapEx.getString (server, "winversion"), GUILayout.Width (250)); #elif UNITY_STANDALONE_OSX @@ -163,7 +186,7 @@ public class ECLUpgradeBindingServer : EditorWindow #elif UNITY_WEBGL EditorGUILayout.TextField (MapEx.getString (server, "webglversion"), GUILayout.Width (250)); #endif - EditorGUILayout.TextField (MapEx.getString (server, "pkgName"), GUILayout.Width (160)); + EditorGUILayout.TextField (MapEx.getString (server, "pkgName"), GUILayout.Width (160)); EditorGUILayout.TextArea (MapEx.getString (server, "pkgRemark"), GUILayout.Width (250)); GUI.color = Color.white; #if UNITY_ANDROID @@ -208,11 +231,11 @@ public class ECLUpgradeBindingServer : EditorWindow string verKey = ""; string vetType = "1"; if (platform.Equals ("ios")) { - verKey = "iosversion"; + verKey = "iosVer"; vetType = "1"; } else if(platform.Equals("Android")) { - verKey = "androidversion"; + verKey = "androidVer"; vetType = "2"; } else if (platform.Equals("win")) @@ -268,12 +291,12 @@ public class ECLUpgradeBindingServer : EditorWindow string verKey = ""; string vetType = "1"; if (platform.Equals ("ios")) { - verKey = "iosversion"; + verKey = "iosVer"; vetType = "1"; } else if (platform.Equals("Android")) { - verKey = "androidversion"; + verKey = "androidVer"; vetType = "2"; } else if (platform.Equals("win")) @@ -292,7 +315,7 @@ public class ECLUpgradeBindingServer : EditorWindow server [verKey] = newMd5; server ["pkgName"] = MapEx.getString (d, "name"); server ["pkgRemark"] = MapEx.getString (d, "remark"); - saveData (MapEx.getString (server, "idx"), newMd5, vetType); + saveData (MapEx.getString (server, "id"), newMd5, verKey); } } } @@ -326,10 +349,9 @@ public class ECLUpgradeBindingServer : EditorWindow return null; } - public void saveData (string serverID, string version, string verType) + public void saveData (string serverID, string version, string verKey) { -// string __httpBaseUrl = PStr.b ().a ("http://").a (Net.self.gateHost).a (":").a (Net.self.gatePort).e (); -// string url = PStr.b ().a (__httpBaseUrl).a ("/KokDirServer/UpdateVerServlet").e (); + /* string url = selectedServer.setServerPkgMd5Url; Dictionary paras = new Dictionary (); paras ["serverid"] = serverID; @@ -339,6 +361,62 @@ public class ECLUpgradeBindingServer : EditorWindow if (response == null) return; response.Close (); + */ + Hashtable server = servers[serverID] as Hashtable; + server[verKey] = version; + string str = JSON.JsonEncode(content); + Debug.Log(str); + string path = Path.Combine(Application.dataPath, CLPathCfg.self.basePath, "serversCfg/servers.json"); + File.WriteAllText(path, str); + + ThreadEx.exec(new System.Threading.ParameterizedThreadStart(doUploadServers), path); + } + + + public void doUploadServers(object serversFilePath) + { + if (selectedServer == null) + { + Debug.LogError("Please select a server!"); + return; + } + + isFinishUpload = false; + if (selectedServer.useSFTP) + { + RenciSFTPHelper sftp = new RenciSFTPHelper( + selectedServer.host4UploadUpgradePackage, + selectedServer.port4UploadUpgradePackage, + selectedServer.ftpUser, + selectedServer.ftpPassword); + if (sftp.connect()) + { + sftp.put(serversFilePath.ToString(), selectedServer.RemoteBaseDir, (Callback)onftpFinish); + sftp.disConnect(); + sftp = null; + } + else + { + Utl.doCallback((Callback)onftpFinish, false); + } + } + else + { + float progress = 0; + FTP ftp = new FTP( + selectedServer.host4UploadUpgradePackage, + selectedServer.ftpUser, + selectedServer.ftpPassword); + bool ret = ftp.Upload(serversFilePath.ToString(), + selectedServer.RemoteBaseDir); + Utl.doCallback((Callback)onftpFinish, ret); + } + } + void onftpFinish(params object[] pars) + { + isFinishUpload = true; + bool ret = (bool)(pars[0]); + ECLUpgradeBindingServer.uploadResult = ret; } public void refreshData () @@ -350,13 +428,13 @@ public class ECLUpgradeBindingServer : EditorWindow } // string __httpBaseUrl = PStr.b ().a ("http://").a (Net.self.gateHost).a (":").a (Net.self.gatePort).e (); // string url = PStr.b ().a (__httpBaseUrl).a ("/KokDirServer/ServerServlet").e (); - string url = selectedServer.getServerListUrl; + string url = Utl.urlAddTimes(selectedServer.getServerListUrl); if (string.IsNullOrEmpty (url)) { return; } Dictionary paras = new Dictionary (); - paras ["serverType"] = 1; - HttpWebResponse response = HttpEx.CreatePostHttpResponse (url, paras, 10000, System.Text.Encoding.UTF8); + //paras ["serverType"] = 1; + HttpWebResponse response = HttpEx.CreateGetHttpResponse(url, 10000); if (response == null) return; string str = HttpEx.readString (response); @@ -364,13 +442,31 @@ public class ECLUpgradeBindingServer : EditorWindow // Debug.Log (url); // string str = HttpEx.readString (url, null); Debug.Log (str); - servers = JSON.DecodeMap (str); + content = JSON.DecodeMap(str); + servers = MapEx.getMap(content, CLCfgBase.self.appUniqueID); Hashtable server = null; Hashtable pkg = null; if (servers != null) { + string verKey = ""; foreach (DictionaryEntry cell in servers) { server = cell.Value as Hashtable; - pkg = getUpgradePkgByMd5 (MapEx.getString (server, "version")); + if (CLPathCfg.self.platform.Equals("ios")) + { + verKey = "iosVer"; + } + else if (CLPathCfg.self.platform.Equals("Android")) + { + verKey = "androidVer"; + } + else if (CLPathCfg.self.platform.Equals("win")) + { + verKey = "winversion"; + } + else if (CLPathCfg.self.platform.Equals("osx")) + { + verKey = "osxversion"; + } + pkg = getUpgradePkgByMd5 (MapEx.getString (server, verKey)); server ["pkgName"] = MapEx.getString (pkg, "name"); server ["pkgRemark"] = MapEx.getString (pkg, "remark"); } diff --git a/Assets/CoolapeFrameData/cfg/projcet.cfg b/Assets/CoolapeFrameData/cfg/projcet.cfg index 030841e23324d2464610b4f06e58f79713c26b91..1e00c233696ba3f080c11d7d2f9c0c9b3deb7d8b 100644 GIT binary patch delta 48 zcmdnO{)U~i+$uALn?dff-A2}VjLa6CMw2s{RC)D_Q;W({i;DHKiu3a(>V$9p&A5{h E0B!CN2><{9 delta 22 ecmaFEzJ;B&+$uALV