From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 18 九月 2020 13:58:19 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs | 420 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 317 insertions(+), 103 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs index cb7d026..04a86a6 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlBackupLogic.cs @@ -5,7 +5,6 @@ using System.IO; using System.Net; using System.Text; -using System.Threading.Tasks; namespace Shared.Phone.UserCenter { @@ -35,11 +34,6 @@ } } - /// <summary> - /// Log澶囦唤鐨勫悕瀛� - /// </summary> - private string LogBackupName = "##Log##"; - #endregion #region 鈻� 鑾峰彇澶囦唤鍚嶅瓧鍒楄〃___________________ @@ -49,9 +43,9 @@ /// </summary> /// <param name="ZigbeeBackupType">0:App鎵嬪姩澶囦唤 1: App 鑷姩澶囦唤 2锛氱綉鍏虫墜鍔ㄥ浠� 3:缃戝叧鑷姩澶囦唤</param> /// <param name="ZigbeeUniqueId">缃戝叧鐨勫敮涓�Id,鑾峰彇缃戝叧澶囦唤闇�瑕�</param> - /// <param name="getLogBackup">鏄惁鑾峰彇Log澶囦唤</param> + /// <param name="getOptionBackup">鏄惁鑾峰彇鍔熻兘澶囦唤</param> /// <returns></returns> - public async Task<List<BackupListNameInfo>> GetBackupListNameFromDB(int ZigbeeBackupType = 0, string ZigbeeUniqueId = null, bool getLogBackup = false) + public List<BackupListNameInfo> GetBackupListNameFromDB(int ZigbeeBackupType = 0, string ZigbeeUniqueId = null, bool getOptionBackup = false) { //澶囦唤鍚嶅瓧寰堝皯鐨勫唴瀛橈紝鍙互鐩存帴涓�娆℃�у叏閮ㄥ彇瀹� var pra = new GetBackupListPra(); @@ -63,8 +57,7 @@ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); //璁块棶鎺ュ彛 - var listNotShow = new List<string>() { "NotSetAgain" }; - string result = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomeDataBackupPagger", true, pra, listNotShow); + string result = UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomeDataBackupPagger", true, pra); if (string.IsNullOrEmpty(result) == true) { return null; @@ -78,9 +71,9 @@ { continue; } - if (getLogBackup == false && data2.BackupName == LogBackupName) + if (getOptionBackup == false && data2.BackupName == DirNameResourse.OptionBackupName) { - //涓嶈幏鍙朙og澶囦唤 + //涓嶈幏鍙栧姛鑳藉浠� continue; } list.Add(data2); @@ -96,25 +89,25 @@ /// <param name="IsGatewayAutoBackup">褰撳墠鑾峰彇鏄惁涓虹綉鍏宠嚜鍔ㄥ浠�</param> /// <param name="ZigbeeUniqueId">ZigbeeUniqueId 缃戝叧鐨勫敮涓�Id(褰揑sGatewayBackup=true鏃讹紝姝ゅ弬鏁板繀椤绘彁渚�</param> /// <returns></returns> - public async Task<string> GetBackFileFromDBAndSetToLocation(string BackupClassId, bool IsGatewayAutoBackup = false, string ZigbeeUniqueId = null) + public string GetBackFileFromDBAndSetToLocation(string BackupClassId, bool IsGatewayAutoBackup = false, string ZigbeeUniqueId = null) { //涓嶅厑璁告寜绯荤粺鐨勮繑鍥為敭 Shared.Common.CommonPage.BackKeyCanClick = false; - UserCenterResourse.Option.AppCanSignout = false; + UserCenterResourse.AccountOption.AppCanSignout = false; //棣栧厛鍏堝垱寤轰竴涓复鏃舵枃浠跺す,瀛樺湪鏂囦欢鍒欐竻绌� - string newDir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.DownLoadBackupTempDirectory); - Global.CreateEmptyDirectory(newDir, true); + string newDir = DirNameResourse.DownLoadBackupTempDirectory; + HdlFileLogic.Current.CreateDirectory(newDir, true); //鑾峰彇杩欎釜澶囦唤涓嬮潰鏈夊灏戜釜鏂囦欢 - List<string> listFile = await GetBackFileIDFromDB(BackupClassId, IsGatewayAutoBackup, ZigbeeUniqueId); + List<string> listFile = GetBackFileIDFromDB(BackupClassId, IsGatewayAutoBackup, ZigbeeUniqueId); if (listFile == null) { //鍏抽棴杩涘害鏉� ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; return null; } @@ -137,32 +130,31 @@ ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; return null; } //鈽呰缃渶瑕佽幏鍙栫殑鏂囦欢鍚嶅瓧鈽� pra.BackupFileName = fileName; - var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("App/DownloadSomeDataBackup", true, pra); + var result = UserCenterLogic.GetByteResponseDataByRequestHttps("App/DownloadSomeDataBackup", true, pra, null, true); if (result == null) { //鍏抽棴杩涘害鏉� ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; return null; } //灏嗚緭鍏ュ啓鍏ユ湰鍦扮殑涓存椂鏂囦欢澶� - Global.WriteFileToDirectoryByBytes(newDir, fileName, result); + HdlFileLogic.Current.SaveByteToFile(System.IO.Path.Combine(newDir, fileName), result); //璁剧疆杩涘害鍊� ProgressFormBar.Current.SetValue(i + 1, listFileCount); } - //鍏抽棴杩涘害鏉� - ProgressFormBar.Current.Close(); + //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; return newDir; } @@ -174,7 +166,7 @@ /// <param name="IsGatewayAutoBackup">褰撳墠鑾峰彇鏄惁涓虹綉鍏宠嚜鍔ㄥ浠�</param> /// <param name="ZigbeeUniqueId">ZigbeeUniqueId 缃戝叧鐨勫敮涓�Id(褰揑sGatewayBackup=true鏃讹紝姝ゅ弬鏁板繀椤绘彁渚�</param> /// <returns></returns> - private async Task<List<string>> GetBackFileIDFromDB(string BackupClassId, bool IsGatewayAutoBackup, string ZigbeeUniqueId) + private List<string> GetBackFileIDFromDB(string BackupClassId, bool IsGatewayAutoBackup, string ZigbeeUniqueId) { var pra = new LoadBackInfoPra(); pra.BackupClassId = BackupClassId; @@ -186,8 +178,8 @@ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); //棣栧厛鍏堣幏鍙栦簯绔湁浠�涔堟枃浠� - string result = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomeDataBackupUploadListPagger", true, pra); - if (result == null) + string result = UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomeDataBackupUploadListPagger", true, pra); + if (string.IsNullOrEmpty(result) == true) { return null; } @@ -213,7 +205,7 @@ /// <param name="ManualBackupType">鎵嬪姩澶囦唤绫诲瀷(0:App鎵嬪姩澶囦唤,2锛氱綉鍏虫墜鍔ㄥ浠�)</param> /// <param name="ZigbeeUniqueId">缃戝叧鐨勫敮涓�Id,褰揗anualBackupType=2鏃�,姝ゅ�间笉鑳戒负绌�!</param> /// <returns></returns> - public async Task<string> CreatNewBackupNameToDB(string backupName, int ManualBackupType = 0, string ZigbeeUniqueId = null) + public string CreatNewBackupNameToDB(string backupName, int ManualBackupType = 0, string ZigbeeUniqueId = null) { var pra = new AddBackUpNamePra(); pra.BackupName = backupName; @@ -222,8 +214,8 @@ //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - var result = await UserCenterLogic.GetResponseDataByRequestHttps("App/AddHomeAppGatewayName", true, pra); - if (result == null) + var result = UserCenterLogic.GetResponseDataByRequestHttps("App/AddHomeAppGatewayName", true, pra); + if (string.IsNullOrEmpty(result) == true) { return null; } @@ -244,20 +236,30 @@ /// <param name="upPath">鎸囧畾涓婁紶鐨勬槸鍝釜鏂囦欢澶圭殑鏂囦欢(鍏ㄨ矾寰�),涓嶆寚瀹氭椂锛屼笂浼犵殑鏄湰鍦拌矾寰勪笅鐨勬枃浠�</param> /// <param name="showBar">鏄惁璁剧疆鏄剧ず杩涘害鏉�</param> /// <returns></returns> - public async Task<bool> UpLoadBackupFileToDB(string BackupClassId, int ManualBackupType = 0, string upPath = "", bool showBar = true) + public bool UpLoadBackupFileToDB(string BackupClassId, int ManualBackupType = 0, string upPath = "", bool showBar = true) { List<string> listAllFile = null; //鏂囦欢澶圭殑鍏ㄨ矾寰� string fullDir = string.Empty; + string localTemplateName = string.Empty; if (upPath == string.Empty) { + //灏嗘ā鏉挎暟鎹繚瀛樺埌鍒版寚瀹氱殑鏂囦欢澶逛腑 + var templateName = TemplateData.TemplateCommonLogic.Current.GetNewTemplateFileName(); + var templateFile = TemplateData.TemplateCommonLogic.Current.SaveTemplateDataToFile(templateName, "HomeTemplate"); + + //灏嗘ā鏉縝in鏂囦欢绉诲姩鍒板浠芥枃浠跺す涓� + localTemplateName = System.IO.Path.Combine(Config.Instance.FullPath, templateName); + try { System.IO.File.Move(templateFile, localTemplateName); } + catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex, "绉诲姩妯℃澘澶辫触"); } + //鑾峰彇鏈湴鏂囦欢 - listAllFile = Global.FileListByHomeId(); - fullDir = UserCenterLogic.CombinePath(); + listAllFile = HdlFileLogic.Current.GetRootPathListFile(); + fullDir = Common.Config.Instance.FullPath; } else { - listAllFile = HdlAutoBackupLogic.GetFileFromDirectory(upPath); + listAllFile = HdlFileLogic.Current.GetFileFromDirectory(upPath); fullDir = upPath; } if (listAllFile.Count == 0) @@ -272,7 +274,13 @@ foreach (string fileName in listAllFile) { - if (fileName.EndsWith(".png") == true) + //鍒ゆ柇鎸囧畾鏂囦欢鏄惁闇�瑕佷笂浼�(鏍圭洰褰曠殑鎵嶅垽鏂�) + if (upPath == string.Empty && this.IsNotUpLoadFile(fileName) == true) + { + continue; + } + if (fileName.EndsWith(".png") == true + || fileName.EndsWith(".bin") == true) { //鍥剧墖鏂囦欢 listPicFile.Add(fileName); @@ -282,7 +290,7 @@ } //寮�鍚繘搴︽潯 - int listFileCount = listAllFile.Count; + int listFileCount = listPicFile.Count + listNormalFile.Count; if (showBar == true) { //寮�鍚繘搴︽潯 姝e湪涓婁紶澶囦唤鏂囦欢 @@ -292,7 +300,7 @@ //涓嶅厑璁告寜绯荤粺鐨勮繑鍥為敭 Shared.Common.CommonPage.BackKeyCanClick = false; - UserCenterResourse.Option.AppCanSignout = false; + UserCenterResourse.AccountOption.AppCanSignout = false; //浣犺涓轰粈涔堣繖閲屼笉鍒嗕竴涓嚱鏁板嚭鏉ワ紙鐞嗚涓婃槸鍒嗗嚱鏁板嚭鏉ョ殑锛� //鏄洜涓哄鏋滃垎鍑芥暟鐨勮瘽锛屼細鍑虹幇鍙岄噸寮傛锛屽鑷翠富绾跨▼鐨勮繘搴︽潯鐨勭櫨鍒嗘瘮姘歌繙瀹氭0% @@ -306,32 +314,37 @@ ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; + if (localTemplateName != string.Empty) + { + //鍒犻櫎鎺夎繖涓ā鏉挎枃浠� + HdlFileLogic.Current.DeleteFile(localTemplateName); + } return false; - } - //鍒ゆ柇鏄惁鏄簲璇ヤ笂浼犵殑鏂囦欢 - if (IsNotUpLoadFile(file) == true && upPath == string.Empty) - { - continue; } //鏁寸悊鏁版嵁 var datainfo = new FileInfoData(); datainfo.BackupFileName = file; string fullFileName = System.IO.Path.Combine(fullDir, file); - datainfo.BackupFileContent = Shared.IO.FileUtils.ReadFile(fullFileName); + datainfo.BackupFileContent = HdlFileLogic.Current.ReadFileByteContent(fullFileName); var list = new List<FileInfoData>(); list.Add(datainfo); //鎵ц涓婁紶 - bool falge = await DoUpLoadInfoToDB(BackupClassId, list, ManualBackupType); + bool falge = DoUpLoadInfoToDB(BackupClassId, list, ManualBackupType); if (falge == false) { //鍏抽棴杩涘害鏉� ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; + if (localTemplateName != string.Empty) + { + //鍒犻櫎鎺夎繖涓ā鏉挎枃浠� + HdlFileLogic.Current.DeleteFile(localTemplateName); + } return false; } //璁剧疆杩涘害鍊� @@ -348,7 +361,12 @@ ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; + if (localTemplateName != string.Empty) + { + //鍒犻櫎鎺夎繖涓ā鏉挎枃浠� + HdlFileLogic.Current.DeleteFile(localTemplateName); + } return false; } @@ -363,25 +381,29 @@ ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; + if (localTemplateName != string.Empty) + { + //鍒犻櫎鎺夎繖涓ā鏉挎枃浠� + HdlFileLogic.Current.DeleteFile(localTemplateName); + } return false; } //璁剧疆杩涘害鍊� ProgressFormBar.Current.SetValue(i + 1 + listNormalFile.Count, listFileCount); } - //涓婁紶Log澶囦唤 - if (upPath != UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory)) + if (localTemplateName != string.Empty) { - //閲岄潰鏈変釜鍥炶皟鑷韩鐨勬柟娉�,鎵�浠ヨ繖閲屽姞涓垽鏂�,涓嶇劧浼氭寰幆 - await this.UpLoadLogBackup(); + //鍒犻櫎鎺夎繖涓ā鏉挎枃浠� + HdlFileLogic.Current.DeleteFile(localTemplateName); } //杩涘害鏉″叧闂� ProgressFormBar.Current.Close(); //鍏佽鎸夌郴缁熺殑杩斿洖閿� Shared.Common.CommonPage.BackKeyCanClick = true; - UserCenterResourse.Option.AppCanSignout = true; + UserCenterResourse.AccountOption.AppCanSignout = true; return true; } @@ -393,7 +415,7 @@ /// <param name="listData">涓婁紶鐨勬暟鎹�</param> /// <param name="ManualBackupType">鎵嬪姩澶囦唤绫诲瀷(0:App鎵嬪姩澶囦唤,2锛氱綉鍏虫墜鍔ㄥ浠�)</param> /// <returns></returns> - private async Task<bool> DoUpLoadInfoToDB(string BackupClassId, List<FileInfoData> listData, int ManualBackupType = 0) + private bool DoUpLoadInfoToDB(string BackupClassId, List<FileInfoData> listData, int ManualBackupType = 0) { var upData = new UpLoadDataPra(); upData.ManualBackupType = ManualBackupType; @@ -402,7 +424,7 @@ //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken upData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - bool falge = await UserCenterLogic.GetResultStatuByRequestHttps("App/UploadHomeAppGatewaySubFiles", true, upData); + bool falge = UserCenterLogic.GetResultStatuByRequestHttps("App/UploadHomeAppGatewaySubFiles", true, upData, null, true); if (falge == false) { return false; @@ -430,14 +452,11 @@ nvc.Add("HomeId", Shared.Common.Config.Instance.Home.Id); nvc.Add("BackupClassId", BackupClassId); nvc.Add("ManualBackupType", ManualBackupType.ToString()); - nvc.Add("IsOtherAccountCtrl", Common.Config.Instance.isAdministrator.ToString()); + nvc.Add("IsOtherAccountCtrl", Common.Config.Instance.Home.IsOthreShare.ToString()); - for (int i = 0; i < listPicFile.Count; i++) - { - string base64 = GetBase64Text(fullName); - nvc.Add("UploadSubFileLists[" + i + "].BackupFileName", fileName); - nvc.Add("UploadSubFileLists[" + i + "].BackupFileContent", base64); - } + string base64 = GetBase64Text(fullName); + nvc.Add("UploadSubFileLists[0].BackupFileName", fileName); + nvc.Add("UploadSubFileLists[0].BackupFileContent", base64); bool result = UpLoadBigBackupFileToDB("App/UploadHomeAppGatewaySubFiles", fullName, nvc); if (result == false) @@ -461,7 +480,7 @@ string contentType = "application/octet-stream"; string requestUrl = string.Empty; //鍚敤绠$悊鍛樻潈闄� - if (Config.Instance.isAdministrator == true) + if (Config.Instance.Home.IsOthreShare == true) { requestUrl = $"{Config.Instance.AdminRequestBaseUrl}/{RequestName}"; } @@ -541,66 +560,250 @@ #region 鈻� 涓婁紶Log澶囦唤________________________ /// <summary> - /// 涓婁紶Log澶囦唤 + /// 涓婁紶Log澶囦唤(闅愬尶鍔熻兘) /// </summary> /// <returns></returns> - private async Task<bool> UpLoadLogBackup() + public bool UpLoadLogBackup() { - string upPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory); - if (HdlAutoBackupLogic.GetFileFromDirectory(upPath).Count == 0) + string upPath = DirNameResourse.LogDirectory; + if (HdlFileLogic.Current.GetFileFromDirectory(upPath).Count == 0) { //娌℃湁Log鏂囦欢 + return true; + } + + ProgressFormBar.Current.Start(); + ProgressFormBar.Current.SetMsg("姝e湪涓婁紶Log鏂囦欢"); + + //浠庝簯绔幏鍙栨暟鎹� + var pageData = HdlBackupLogic.Current.GetBackupListNameFromDB(0, null, true); + if (pageData == null) + { + ProgressFormBar.Current.Close(); + return false; + } + string backId = string.Empty; + for (int i = 0; i < pageData.Count; i++) + { + if (pageData[i].BackupName == DirNameResourse.OptionBackupName) + { + //鑾峰彇鍔熻兘澶囦唤鐨処D + backId = pageData[i].Id; + break; + } + } + if (backId == string.Empty) + { + //鍒涘缓鏂扮殑澶囦唤 + backId = HdlBackupLogic.Current.CreatNewBackupNameToDB(DirNameResourse.OptionBackupName); + if (backId == null) + { + ProgressFormBar.Current.Close(); + return false; + } + } + //涓婁紶Log鏂囦欢 + bool result = this.UpLoadBackupFileToDB(backId, 0, upPath, false); + if (result == true) + { + try + { + var listAllFile = HdlFileLogic.Current.GetFileFromDirectory(upPath); + if (listAllFile.Count > 10) + { + listAllFile.Sort(); + while (listAllFile.Count >= 10) + { + System.IO.File.Delete(listAllFile[0]); + listAllFile.RemoveAt(0); + } + } + } + catch { } + } + ProgressFormBar.Current.Close(); + + HdlThreadLogic.Current.RunMain(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, "Log涓婁紶鎴愬姛"); + contr.Show(); + }); + + return result; + } + + /// <summary> + /// 涓婁紶涓滆タ鍒伴殣鍖垮姛鑳藉浠� + /// </summary> + /// <param name="fileName"></param> + /// <param name="byteData"></param> + /// <returns></returns> + public bool UpLoadByteDataToOptionBackup(string fileName, byte[] byteData) + { + ProgressFormBar.Current.Start(); + ProgressFormBar.Current.SetMsg("姝e湪涓婁紶鏂囦欢"); + + //浠庝簯绔幏鍙栨暟鎹� + var pageData = HdlBackupLogic.Current.GetBackupListNameFromDB(0, null, true); + if (pageData == null) + { + ProgressFormBar.Current.Close(); + HdlThreadLogic.Current.RunMain(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, "鑾峰彇鍔熻兘澶囦唤澶辫触"); + contr.Show(); + }); + return false; + } + string backId = string.Empty; + for (int i = 0; i < pageData.Count; i++) + { + if (pageData[i].BackupName == DirNameResourse.OptionBackupName) + { + //鑾峰彇鍔熻兘澶囦唤鐨処D + backId = pageData[i].Id; + break; + } + } + if (backId == string.Empty) + { + //鍒涘缓鏂扮殑澶囦唤 + backId = this.CreatNewBackupNameToDB(DirNameResourse.OptionBackupName); + if (backId == null) + { + ProgressFormBar.Current.Close(); + HdlThreadLogic.Current.RunMain(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, "鍒涘缓鍔熻兘澶囦唤澶辫触"); + contr.Show(); + }); + return false; + } + } + //涓婁紶Log鏂囦欢 + var datainfo = new FileInfoData(); + datainfo.BackupFileName = fileName; + datainfo.BackupFileContent = byteData; + + var list = new List<FileInfoData>(); + list.Add(datainfo); + + //鎵ц涓婁紶 + bool falge = DoUpLoadInfoToDB(backId, list, 0); + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); + + if (falge == false) + { + HdlThreadLogic.Current.RunMain(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, "鏂囦欢涓婁紶鎴愬姛"); + contr.Show(); + }); + return false; + } + HdlThreadLogic.Current.RunMain(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, "鏂囦欢涓婁紶鎴愬姛"); + contr.Show(); + }); + + return true; + } + + #endregion + + #region 鈻� 璇诲彇闅愬尶鍔熻兘閰嶇疆___________________ + + /// <summary> + /// 璇诲彇闅愬尶鍔熻兘閰嶇疆(涓嶈鍦ㄦ剰杩斿洖鍊�) + /// </summary> + /// <returns></returns> + public bool LoadHideOption() + { + //鍏堝垵濮嬪寲 + UserCenterResourse.HideOption = new HideOptionInfo(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1 && UserCenterResourse.UserInfo.AuthorityNo != 2) + { return true; } //鏃犺閿欒 IMessageCommon.Current.IgnoreError = true; //浠庝簯绔幏鍙栨暟鎹� - var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(0, null, true); + var pageData = this.GetBackupListNameFromDB(0, null, true); if (pageData == null) { //鎭㈠ IMessageCommon.Current.IgnoreError = false; return false; } + string backId = string.Empty; for (int i = 0; i < pageData.Count; i++) { - if (pageData[i].BackupName == LogBackupName) + if (pageData[i].BackupName == DirNameResourse.OptionBackupName) { - //鍒犻櫎鎺夎繖涓浠� - bool flage = await this.DeleteDbBackupData(pageData[i].Id); - if (flage == false) - { - //鎭㈠ - IMessageCommon.Current.IgnoreError = false; - return false; - } + //鑾峰彇鍔熻兘澶囦唤鐨処D + backId = pageData[i].Id; break; } } - //鍒涘缓鏂扮殑澶囦唤 - string backupClassId = await HdlBackupLogic.Current.CreatNewBackupNameToDB(LogBackupName); - if (backupClassId == null) + if (backId == string.Empty) + { + //娌℃湁鍔熻兘閰嶇疆 + IMessageCommon.Current.IgnoreError = false; + return true; + } + //鑾峰彇杩欎釜澶囦唤涓嬮潰鏈夊灏戜釜鏂囦欢 + List<string> listFile = GetBackFileIDFromDB(backId, false, null); + if (listFile == null) { //鎭㈠ IMessageCommon.Current.IgnoreError = false; return false; } - //涓婁紶Log鏂囦欢 - bool result = await this.UpLoadBackupFileToDB(backupClassId, 0, upPath, false); - if (result == true) + if (listFile.Count == 0) { - try - { - //鍒犻櫎鏈湴鍏ㄩ儴Log - Global.CreateEmptyDirectory(Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory), true); - } - catch { } + //鎭㈠ + IMessageCommon.Current.IgnoreError = false; + return true; } + + //妫�娴� + string checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.ShowOptionMenuFile + UserCenterResourse.UserInfo.Account); + if (listFile.Contains(checkKeys) == true) + { + //鏄剧ず涓婚〉闅愯棌鑿滃崟(Debug鐢�) + UserCenterResourse.HideOption.CenterHideMenu = 1; + } + checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.DetailedLogFile + UserCenterResourse.UserInfo.Account); + if (listFile.Contains(checkKeys) == true) + { + //鍑哄姏璇︾粏Log(Debug鐢�) + UserCenterResourse.HideOption.DetailedLog = 1; + } + checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.DeviceHistoryFile + UserCenterResourse.UserInfo.Account); + if (listFile.Contains(checkKeys) == true) + { + //鏄剧ず璁惧鍘嗗彶鐗堟湰(Debug鐢�) + UserCenterResourse.HideOption.DeviceHistory = 1; + } + checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.StartDebugAppFile + UserCenterResourse.UserInfo.Account); + if (listFile.Contains(checkKeys) == true) + { + //寮�鍚悗鍙拌皟璇旳pp鍔熻兘(Debug鐢�) + UserCenterResourse.HideOption.StartDebugApp = 1; + } + checkKeys = UserCenterLogic.EncryptPassword(UserCenterResourse.FileEncryptKey, DirNameResourse.CheckDeviceTypeFile + UserCenterResourse.UserInfo.Account); + if (listFile.Contains(checkKeys) == true) + { + //寮�鍚娴嬭澶嘥ype鐨�(Debug鐢�) + UserCenterResourse.HideOption.CheckDeviceType = 1; + } + //鎭㈠ IMessageCommon.Current.IgnoreError = false; - - return result; + return true; } #endregion @@ -611,34 +814,42 @@ /// 璇诲彇APP澶囦唤鏂囨。(鍑芥暟鍐呴儴鏈夎繘搴︽潯) /// </summary> /// <param name="BackupClassId"></param> - public async Task<bool> LoadAppBackupInfo(string BackupClassId) + public bool LoadAppBackupInfo(string BackupClassId) { //鎵撳紑杩涘害鏉� 姝e湪鑾峰彇澶囦唤鏂囦欢鍒楄〃 ProgressFormBar.Current.Start(); ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uBackupFileListGetting)); //浠庝簯绔幏鍙栧浠界殑鏂囦欢锛岀劧鍚庡瓨鍏ユ湰鍦扮殑涓存椂鏂囦欢澶� - string tempDirectory = await GetBackFileFromDBAndSetToLocation(BackupClassId); + string tempDirectory = GetBackFileFromDBAndSetToLocation(BackupClassId); if (tempDirectory == null) { //鍏抽棴杩涘害鏉� ProgressFormBar.Current.Close(); return false; } - //鍏抽棴杩涘害鏉� - ProgressFormBar.Current.Close(); + //娓呯┖鍏ㄩ儴鎴块棿 + HdlRoomLogic.Current.DeleteAllRoom(); + //娓呯┖鏈湴鍏ㄩ儴鐨勫満鏅暟鎹� + HdlSceneLogic.Current.DeleteAllLocalScene(); //濡傛灉璇诲彇鍒扮殑鏂囦欢瀹屽叏娌℃湁闂锛屽垯娓呯悊鏈湴鐨勬枃浠� - UserCenterLogic.DeleteAllLocationFile(false); + HdlFileLogic.Current.DeleteAllLocationFile(false); + + //娓呯悊鏈湴鐨勬ā鏉挎枃浠� + TemplateData.TemplateCommonLogic.Current.DeleteAllLocalFile(); //娌℃湁閿欒鐨勮瘽锛屽垯绉诲姩鍒板綋鍓嶄綇瀹呮枃浠跺す涓嬮潰 - Global.MoveDirectoryFileToHomeDirectory(tempDirectory, true); + HdlFileLogic.Current.MoveDirectoryFileToHomeDirectory(tempDirectory, true); //鍒犻櫎鍏ㄩ儴鐨勮嚜鍔ㄥ浠界殑鏈湴鏂囦欢(姝ゅ嚱鏁扮敤浜庤鍙栬嚜鍔ㄥ浠界殑鏃跺�欎娇鐢�) HdlAutoBackupLogic.DeleteAllAutoBackupFile(); //鍒锋柊鏈湴缂撳瓨 UserCenterLogic.RefreshAllMemory(); + + //鍏抽棴杩涘害鏉� + ProgressFormBar.Current.Close(); return true; } @@ -652,14 +863,14 @@ /// </summary> /// <param name="BackupClassId">澶囦唤鐨勪富閿�</param> /// <returns></returns> - public async Task<bool> DeleteDbBackupData(string BackupClassId) + public bool DeleteDbBackupData(string BackupClassId) { var Pra = new LoadBackInfoPra(); Pra.BackupClassId = BackupClassId; //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - bool success = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHomeAppGatewayName", true, Pra); + bool success = UserCenterLogic.GetResultStatuByRequestHttps("App/DelHomeAppGatewayName", true, Pra); return success; } @@ -673,11 +884,14 @@ /// </summary> /// <param name="file"></param> /// <returns></returns> - public bool IsNotUpLoadFile(string file) + private bool IsNotUpLoadFile(string file) { - if (file == "Config.json") + if (file.StartsWith("Device_") == true + || file.StartsWith("Gateway_") == true + || file.StartsWith("Room_") == true + || file.StartsWith("Scene_") == true) { - //涓嶈兘瑕嗙洊Config鏂囦欢 + //璁惧,缃戝叧,鎴块棿,鍦烘櫙鏂囦欢涓嶉渶瑕佷笂浼�,瀹冨凡缁忎繚瀛樺湪bin妯℃澘鏂囦欢涓� return true; } return false; -- Gitblit v1.8.0