From ff3cfcf62632bf43e51a6b6098c203bf0f5cddbc Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期二, 24 十二月 2019 19:53:29 +0800 Subject: [PATCH] 2019.12.24 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs | 122 +++++++++++++++++++++++----------------- 1 files changed, 71 insertions(+), 51 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs index a5ef6ca..cb7d026 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs @@ -89,7 +89,7 @@ } /// <summary> - /// <para>浠庝簯绔幏鍙栧浠界殑鏂囦欢锛岀劧鍚庡瓨鍏ユ湰鍦版寚瀹氱殑涓存椂鏂囦欢澶�(鍑芥暟鍐呴儴鏈夎繘搴︽潯)</para> + /// <para>浠庝簯绔幏鍙栧浠界殑鏂囦欢锛岀劧鍚庡瓨鍏ユ湰鍦版寚瀹氱殑涓存椂鏂囦欢澶�</para> /// <para>杩斿洖鏂囦欢澶瑰悕瀛�(閲岄潰瀛樻斁鐫�鍏ㄩ儴鐨勬枃浠�),杩斿洖null鏃讹紝浠h〃澶辫触</para> /// </summary> /// <param name="BackupClassId">BackupClassId</param> @@ -98,23 +98,25 @@ /// <returns></returns> public async Task<string> GetBackFileFromDBAndSetToLocation(string BackupClassId, bool IsGatewayAutoBackup = false, string ZigbeeUniqueId = null) { + //涓嶅厑璁告寜绯荤粺鐨勮繑鍥為敭 + Shared.Common.CommonPage.BackKeyCanClick = false; + UserCenterResourse.Option.AppCanSignout = false; + //棣栧厛鍏堝垱寤轰竴涓复鏃舵枃浠跺す,瀛樺湪鏂囦欢鍒欐竻绌� string newDir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadBackupTempDirectory); Global.CreateEmptyDirectory(newDir, true); - - //寮�鍚繘搴︽潯 - ProgressBar.Show(); //鑾峰彇杩欎釜澶囦唤涓嬮潰鏈夊灏戜釜鏂囦欢 List<string> listFile = await GetBackFileIDFromDB(BackupClassId, IsGatewayAutoBackup, ZigbeeUniqueId); if (listFile == null) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return null; } - //璁剧疆鏈�澶у�� - ProgressBar.SetMaxValue(listFile.Count); var pra = new LoadBackInfoPra(); pra.BackupClassId = BackupClassId; @@ -124,13 +126,18 @@ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); //涓�涓釜鐨勪笅杞芥枃浠� - foreach (string fileName in listFile) + int listFileCount = listFile.Count; + for (int i = 0; i < listFile.Count; i++) { + string fileName = listFile[i]; //璐﹀彿宸茬粡閫�鍑� if (HdlCheckLogic.Current.IsAccountLoginOut() == true) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(true); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return null; } @@ -140,16 +147,22 @@ if (result == null) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return null; } //灏嗚緭鍏ュ啓鍏ユ湰鍦扮殑涓存椂鏂囦欢澶� Global.WriteFileToDirectoryByBytes(newDir, fileName, result); //璁剧疆杩涘害鍊� - ProgressBar.SetValue(1); + ProgressFormBar.Current.SetValue(i + 1, listFileCount); } //鍏抽棴杩涘害鏉� - ProgressBar.Close(); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return newDir; } @@ -229,9 +242,9 @@ /// <param name="BackupClassId">澶囦唤涓婚敭ID</param> /// <param name="ManualBackupType">鎵嬪姩澶囦唤绫诲瀷(0:App鎵嬪姩澶囦唤,2锛氱綉鍏虫墜鍔ㄥ浠�)</param> /// <param name="upPath">鎸囧畾涓婁紶鐨勬槸鍝釜鏂囦欢澶圭殑鏂囦欢(鍏ㄨ矾寰�),涓嶆寚瀹氭椂锛屼笂浼犵殑鏄湰鍦拌矾寰勪笅鐨勬枃浠�</param> - /// <param name="setBarMaxValue">鏄惁璁剧疆杩涘害鏉$殑鏈�澶у��(杩欎釜涓滆タ涓�鑸笉鐢ㄥ姩瀹�)</param> + /// <param name="showBar">鏄惁璁剧疆鏄剧ず杩涘害鏉�</param> /// <returns></returns> - public async Task<bool> UpLoadBackupFileToDB(string BackupClassId, int ManualBackupType = 0, string upPath = "", bool setBarMaxValue = true) + public async Task<bool> UpLoadBackupFileToDB(string BackupClassId, int ManualBackupType = 0, string upPath = "", bool showBar = true) { List<string> listAllFile = null; //鏂囦欢澶圭殑鍏ㄨ矾寰� @@ -269,21 +282,31 @@ } //寮�鍚繘搴︽潯 - if (setBarMaxValue == true) + int listFileCount = listAllFile.Count; + if (showBar == true) { - ProgressBar.SetMaxValue(listAllFile.Count); - ProgressBar.Show(); + //寮�鍚繘搴︽潯 姝e湪涓婁紶澶囦唤鏂囦欢 + ProgressFormBar.Current.Start(); + ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uBackupFileUploading)); } + + //涓嶅厑璁告寜绯荤粺鐨勮繑鍥為敭 + Shared.Common.CommonPage.BackKeyCanClick = false; + UserCenterResourse.Option.AppCanSignout = false; //浣犺涓轰粈涔堣繖閲屼笉鍒嗕竴涓嚱鏁板嚭鏉ワ紙鐞嗚涓婃槸鍒嗗嚱鏁板嚭鏉ョ殑锛� //鏄洜涓哄鏋滃垎鍑芥暟鐨勮瘽锛屼細鍑虹幇鍙岄噸寮傛锛屽鑷翠富绾跨▼鐨勮繘搴︽潯鐨勭櫨鍒嗘瘮姘歌繙瀹氭0% - foreach (string file in listNormalFile) + for (int i = 0; i < listNormalFile.Count; i++) { + string file = listNormalFile[i]; //璐﹀彿宸茬粡閫�鍑� if (HdlCheckLogic.Current.IsAccountLoginOut() == true) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(true); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return false; } //鍒ゆ柇鏄惁鏄簲璇ヤ笂浼犵殑鏂囦欢 @@ -305,20 +328,27 @@ if (falge == false) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return false; } //璁剧疆杩涘害鍊� - ProgressBar.SetValue(list.Count); + ProgressFormBar.Current.SetValue(i + 1, listFileCount); } - foreach (string file in listPicFile) + for (int i = 0; i < listPicFile.Count; i++) { + string file = listPicFile[i]; //璐﹀彿宸茬粡閫�鍑� if (HdlCheckLogic.Current.IsAccountLoginOut() == true) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(true); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return false; } @@ -330,11 +360,14 @@ if (result == false) { //鍏抽棴杩涘害鏉� - ProgressBar.Close(); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return false; } //璁剧疆杩涘害鍊� - ProgressBar.SetValue(listPic.Count); + ProgressFormBar.Current.SetValue(i + 1 + listNormalFile.Count, listFileCount); } //涓婁紶Log澶囦唤 @@ -345,7 +378,10 @@ } //杩涘害鏉″叧闂� - ProgressBar.Close(); + ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� + Shared.Common.CommonPage.BackKeyCanClick = true; + UserCenterResourse.Option.AppCanSignout = true; return true; } @@ -577,12 +613,20 @@ /// <param name="BackupClassId"></param> public async Task<bool> LoadAppBackupInfo(string BackupClassId) { + //鎵撳紑杩涘害鏉� 姝e湪鑾峰彇澶囦唤鏂囦欢鍒楄〃 + ProgressFormBar.Current.Start(); + ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uBackupFileListGetting)); + //浠庝簯绔幏鍙栧浠界殑鏂囦欢锛岀劧鍚庡瓨鍏ユ湰鍦扮殑涓存椂鏂囦欢澶� string tempDirectory = await GetBackFileFromDBAndSetToLocation(BackupClassId); if (tempDirectory == null) { + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); return false; } + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); //濡傛灉璇诲彇鍒扮殑鏂囦欢瀹屽叏娌℃湁闂锛屽垯娓呯悊鏈湴鐨勬枃浠� UserCenterLogic.DeleteAllLocationFile(false); @@ -597,30 +641,6 @@ UserCenterLogic.RefreshAllMemory(); return true; - } - - /// <summary> - /// 璇诲彇缃戝叧澶囦唤鏂囨。(鍑芥暟鍐呴儴鏈夎繘搴︽潯) - /// </summary> - /// <param name="BackupClassId"></param> - /// <param name="zbGateway">缃戝叧瀵硅薄(璇蜂紶鍏ョ湡瀹炵墿鐞嗙綉鍏冲璞�)</param> - /// <param name="listGatewayFile">缃戝叧鐜版湁鐨勬枃浠跺悕</param> - public async Task<bool> LoadGatewayBackupInfo(string BackupClassId, ZigBee.Device.ZbGateway zbGateway, List<string> listGatewayFile) - { - //娣诲姞闄勫姞鎯呮姤:鑾峰彇澶囦唤鏁版嵁 - ProgressBar.SetAppendText(Language.StringByID(R.MyInternationalizationString.uGetBackupData)); - //浠庝簯绔幏鍙栧浠界殑鏂囦欢锛岀劧鍚庡瓨鍏ユ湰鍦扮殑涓存椂鏂囦欢澶� - string tempDirectory = await GetBackFileFromDBAndSetToLocation(BackupClassId, false, HdlGatewayLogic.Current.GetGatewayId(zbGateway)); - //娓呯┖闄勫姞鎯呮姤 - ProgressBar.SetAppendText(string.Empty); - - if (tempDirectory == null) - { - return false; - } - - //鎭㈠缃戝叧閰嶇疆 - return await HdlGatewayLogic.Current.RecoverGatewaySettion(zbGateway, listGatewayFile, tempDirectory); } #endregion @@ -670,7 +690,7 @@ /// <returns></returns> private string GetBase64Text(string fileName) { - string path = UserCenterResourse.LocalRootPath; + string path = Config.Instance.FullPath; string fullName = System.IO.Path.Combine(path, fileName); FileStream fs = File.OpenRead(fullName); -- Gitblit v1.8.0