From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 28 二月 2020 15:25:13 +0800
Subject: [PATCH] 2020.2.28
---
ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs | 566 ++++++++++++++++++++++++++++----------------------------
1 files changed, 282 insertions(+), 284 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs
index 19ee107..7a6e5b4 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs
@@ -25,17 +25,17 @@
/// 鏇存柊涓�
/// </summary>
public Button updatingBtn;
- /// <summary>
- /// distributedMark
+ /// <summary>
+ /// distributedMark
/// </summary>
- public string distributedMark;
- /// <summary>
- /// updateRow
- /// </summary>
- public DeviceInfoRow updateRow;
- /// <summary>
- /// 涓嬭浇瀹夊崜apk鐨刡yte闀垮害
- /// </summary>
+ public string distributedMark;
+ /// <summary>
+ /// updateRow
+ /// </summary>
+ public DeviceInfoRow updateRow;
+ /// <summary>
+ /// 涓嬭浇瀹夊崜apk鐨刡yte闀垮害
+ /// </summary>
public long ApkBytesTotalLength = 0;
#endregion
@@ -45,7 +45,7 @@
/// </summary>
public AbountForm()
{
-
+
}
/// <summary>
/// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
@@ -95,21 +95,21 @@
private void InitMiddleFrame()
{
bodyFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
- var logoFrameLayout = new FrameLayout
- {
- Height = Application.GetRealHeight(484),
- BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+ var logoFrameLayout = new FrameLayout
+ {
+ Height = Application.GetRealHeight(484),
+ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
};
bodyFrameLayout.AddChidren(logoFrameLayout);
- var logoBackground = new FrameLayout
- {
- Y = Application.GetRealHeight(104),
+ var logoBackground = new FrameLayout
+ {
+ Y = Application.GetRealHeight(104),
Width = Application.GetMinRealAverage(167),
- Height = Application.GetMinRealAverage(167),
- Gravity = Gravity.CenterHorizontal,
- BackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
- Radius = (uint)Application.GetRealHeight(37),
+ Height = Application.GetMinRealAverage(167),
+ Gravity = Gravity.CenterHorizontal,
+ BackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
+ Radius = (uint)Application.GetRealHeight(37),
};
logoFrameLayout.AddChidren(logoBackground);
@@ -147,40 +147,40 @@
logoFrameLayout.AddChidren(versionBtn);
- var versionFL = new FrameLayout
- {
- Y = Application.GetRealHeight(510),
- Height = Application.GetRealHeight(300),
- BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+ var versionFL = new FrameLayout
+ {
+ Y = Application.GetRealHeight(510),
+ Height = Application.GetRealHeight(300),
+ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
};
- bodyFrameLayout.AddChidren(versionFL);
-
- var SLARow = new DeviceInfoRow(12);
- SLARow.Init();
- SLARow.SetTipTitle(R.MyInternationalizationString.SLA);
- SLARow.NameText.TextAlignment = TextAlignment.CenterRight;
- versionFL.AddChidren(SLARow);
- SLARow.ClickBtn.MouseUpEventHandler += (sender, e) =>
- {
- var slaForm = new SLAForm();
- slaForm.AddForm();
+ bodyFrameLayout.AddChidren(versionFL);
+
+ var SLARow = new DeviceInfoRow(12);
+ SLARow.Init();
+ SLARow.SetTipTitle(R.MyInternationalizationString.SLA);
+ SLARow.NameText.TextAlignment = TextAlignment.CenterRight;
+ versionFL.AddChidren(SLARow);
+ SLARow.ClickBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ var slaForm = new SLAForm();
+ slaForm.AddForm();
};
- updateRow = new DeviceInfoRow(12 + 127 + 12);
- updateRow.Init();
- updateRow.SetTipTitle(R.MyInternationalizationString.UpdateVersion);
- updateRow.NameText.TextAlignment = TextAlignment.CenterRight;
- updateRow.HideLine(true);
- updateRow.SetTitle(R.MyInternationalizationString.TheAppVersionIsNewest);
- updateRow.CanClick(false);
- updateRow.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor);
- versionFL.AddChidren(updateRow);
- updateRow.ClickBtn.MouseUpEventHandler += (sender, e) =>
- {
- UpdateVersion();
- };
+ updateRow = new DeviceInfoRow(12 + 127 + 12);
+ updateRow.Init();
+ updateRow.SetTipTitle(R.MyInternationalizationString.UpdateVersion);
+ updateRow.NameText.TextAlignment = TextAlignment.CenterRight;
+ updateRow.HideLine(true);
+ updateRow.SetTitle(R.MyInternationalizationString.TheAppVersionIsNewest);
+ updateRow.CanClick(false);
+ updateRow.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor);
+ versionFL.AddChidren(updateRow);
+ updateRow.ClickBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ UpdateVersion();
+ };
-
+
updatingBtn = new Button()
{
Y = Application.GetRealHeight(994),
@@ -194,31 +194,31 @@
Gravity=Gravity.CenterHorizontal
};
bodyFrameLayout.AddChidren(updatingBtn);
-
+
SetDownLoadBtnNoVisible();
CheckVersion();
}
- /// <summary>
- /// CheckVersion
+ /// <summary>
+ /// CheckVersion
/// </summary>
- private void CheckVersion()
- {
- new System.Threading.Thread(async () =>
- {
- var re = await CanUpdateAsync();
- if (re)
- {
- Application.RunOnMainThread(() =>
- {
- updateRow.CanClick(true);
- updateRow.SetTitleColor(ZigbeeColor.Current.GXCButtonSelectedColor);
- updateRow.SetTitle(R.MyInternationalizationString.Update);
- });
- }
- })
+ private void CheckVersion()
+ {
+ new System.Threading.Thread(async () =>
+ {
+ var re = await CanUpdateAsync();
+ if (re)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ updateRow.CanClick(true);
+ updateRow.SetTitleColor(ZigbeeColor.Current.GXCButtonSelectedColor);
+ updateRow.SetTitle(R.MyInternationalizationString.Update);
+ });
+ }
+ })
{ IsBackground = true }.Start();
-
+
}
/// <summary>
/// 璁剧疆杩涘害鎺т欢涓嶅彲瑙�
@@ -238,16 +238,15 @@
updateRow.CanClick(false);
}
- /// <summary>
- /// 妫�鏌ョ増鏈�
- /// </summary>
+ /// <summary>
+ /// 妫�鏌ョ増鏈�
+ /// </summary>
/// <returns></returns>
- private async System.Threading.Tasks.Task<bool> CanUpdateAsync()
- {
+ private async System.Threading.Tasks.Task<bool> CanUpdateAsync()
+ {
#if iOS
try
{
- CommonPage.Loading.Start();
var versionResult = await RequestHttpsiOSAppVersionAsync();
if (versionResult == null || versionResult.Results == null)
{
@@ -264,14 +263,13 @@
{
return true;
}
- retuun false;
+ return false;
}
catch
{
- return false;
-
+ return false;
}
-
+
#elif Android
try
{
@@ -291,93 +289,93 @@
{
return false;
}
+#endif
+ }
+
+ /// <summary>
+ /// 鏇存柊
+ /// </summary>
+ private async void UpdateVersion()
+ {
+#if iOS
+ OpenUrl();
+#elif Android
+ try
+ {
+ var requestObj = new SendDataToServer.DownLoadAndroidApk
+ {
+ RequestVersion = CommonPage.RequestVersion,
+ DistributedMark = distributedMark
+ };
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
+
+ var bytesTotalLengthResult = await CommonPage.Instance.RequestHttpsZigbeeAsync("FirmwareMana/DownloadPlatformUploadFirmwarePreLength", Encoding.UTF8.GetBytes(requestJson));
+ if (bytesTotalLengthResult == null || bytesTotalLengthResult.ResponseData == null)
+ {
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail);
+ return;
+ }
+ var bytesTotalLength = Newtonsoft.Json.JsonConvert.DeserializeObject<long>(bytesTotalLengthResult.ResponseData.ToString());
+ if (bytesTotalLength == 0)
+ {
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail);
+ return;
+ }
+ ApkBytesTotalLength = bytesTotalLength;
+ var bytes = await DownLoadApkAsync("FirmwareMana/DownloadPlatformUploadFirmware", Encoding.UTF8.GetBytes(requestJson));
+ if (bytes == null)
+ {
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail);
+ return;
+ }
+ if (bytes.ToString().Contains("DownloadFail"))
+ {
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
+ return;
+ }
+ var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, "home.apk");
+ Shared.IO.FileUtils.WriteFileByBytes(path, bytes);
+ Install(Shared.Application.Activity);
+ }
+ catch (Exception ex)
+ {
+ System.Console.WriteLine($"涓嬭浇澶辫触--{ex.Message}");
+ }
#endif
}
- /// <summary>
- /// 鏇存柊
+#if iOS
+ /// <summary>
+ /// 鑾峰彇iOS-APP鐗堟湰淇℃伅
/// </summary>
- private async void UpdateVersion()
- {
-#if iOS
- CommonPage.Instance.OpenUrl();
+ /// <returns>The https app version async.</returns>
+ public async System.Threading.Tasks.Task<Common.ResponseEntity.ResultPack> RequestHttpsiOSAppVersionAsync()
+ {
+ try
+ {
+ var webClient = new WebClient { };
+ var result = await webClient.DownloadDataTaskAsync("https://itunes.apple.com/lookup?id=1461693569");
+ if (result == null)
+ {
+ return null;
+ }
+ return Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResultPack>(Encoding.UTF8.GetString(result));
+ }
+ catch
+ {
+ return null;
+ }
+ }
+ /// <summary>
+ /// 璺宠浆鍒癆PP Store
+ /// </summary>
+ public void OpenUrl()
+ {
+ Uri url = new Uri("https://itunes.apple.com/cn/app/hdl-home/id1461693569?mt=8");
+ UIKit.UIApplication.SharedApplication.OpenUrl(url);
+ }
#elif Android
- try
- {
- var requestObj = new SendDataToServer.DownLoadAndroidApk
- {
- RequestVersion = CommonPage.RequestVersion,
- DistributedMark = distributedMark
- };
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
-
- var bytesTotalLengthResult = await CommonPage.Instance.RequestHttpsZigbeeAsync("FirmwareMana/DownloadPlatformUploadFirmwarePreLength", Encoding.UTF8.GetBytes(requestJson));
- if (bytesTotalLengthResult == null || bytesTotalLengthResult.ResponseData == null)
- {
- CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail);
- return;
- }
- var bytesTotalLength = Newtonsoft.Json.JsonConvert.DeserializeObject<long>(bytesTotalLengthResult.ResponseData.ToString());
- if (bytesTotalLength == 0)
- {
- CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail);
- return;
- }
- ApkBytesTotalLength = bytesTotalLength;
- var bytes = await DownLoadApkAsync("FirmwareMana/DownloadPlatformUploadFirmware", Encoding.UTF8.GetBytes(requestJson));
- if (bytes == null)
- {
- CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail);
- return;
- }
- if (bytes.ToString().Contains("DownloadFail"))
- {
- CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
- return;
- }
- var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, "home.apk");
- Shared.IO.FileUtils.WriteFileByBytes(path, bytes);
- Install(Shared.Application.Activity);
- }
- catch (Exception ex)
- {
- System.Console.WriteLine($"涓嬭浇澶辫触--{ex.Message}");
- }
-#endif
- }
-
-#if iOS
- /// <summary>
- /// 鑾峰彇iOS-APP鐗堟湰淇℃伅
- /// </summary>
- /// <returns>The https app version async.</returns>
- public async System.Threading.Tasks.Task<ResponseEntity.ResultPack> RequestHttpsiOSAppVersionAsync()
- {
- try
- {
- var webClient = new WebClient { };
- var result = await webClient.DownloadDataTaskAsync("https://itunes.apple.com/lookup?id=1461693569");
- if (result == null)
- {
- return null;
- }
- return Newtonsoft.Json.JsonConvert.DeserializeObject<ResponseEntity.ResultPack>(Encoding.UTF8.GetString(result));
- }
- catch
- {
- return null;
- }
- }
- /// <summary>
- /// 璺宠浆鍒癆PP Store
- /// </summary>
- public void OpenUrl()
- {
- Uri url = new Uri("https://itunes.apple.com/cn/app/hdl-home/id1461693569?mt=8");
- UIKit.UIApplication.SharedApplication.OpenUrl(url);
- }
-#elif Android
-
+
/// <summary>
/// Install the specified context.
/// </summary>
@@ -404,127 +402,127 @@
intent.SetDataAndType(Android.Net.Uri.FromFile(file), "application/vnd.android.package-archive");
}
context.StartActivity(intent);
- }
-
- /// <summary>
- /// 鑾峰彇 Android-APP 鐗堟湰淇℃伅
- /// </summary>
- /// <returns>The https app version async.</returns>
- private async System.Threading.Tasks.Task<Common.ResponseEntity.ApkInfoOBJ> RequestHttpsAndroidAppVersionAsync()
- {
- try
- {
- var requestOBJ = new SendDataToServer.GetAndroidApkInfoOBJ
- {
- Name = "ZigbeeApp",
- RequestVersion = CommonPage.CodeIDString
- };
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestOBJ);
- var result = await CommonPage.Instance.RequestHttpsZigbeeAsync("FirmwareMana/DetectionPlatformUploadFirmware", System.Text.Encoding.UTF8.GetBytes(requestJson));
- if (result == null)
- {
- return null;
- }
- if (result.StateCode.ToUpper() == "SUCCESS")
- {
- if (result.ResponseData == null)
- {
- return null;
- }
-
- var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ApkInfoRes>(result.ResponseData.ToString());
- if (responeData == null || responeData.pageData == null || responeData.pageData.Count == 0)
- {
- return null;
- }
- int MaxIndex = 0;
- int NewVersion = 0;
- for (int i = 0; i < responeData.pageData.Count; i++)
- {
- var apkInfo = responeData.pageData[i];
- var version = int.Parse(apkInfo.FirmwareVersion.Replace(".", ""));
- if (version > NewVersion)
- {
- NewVersion = version;
- MaxIndex = i;
- }
- }
- return responeData.pageData[MaxIndex];
- }
- return null;
- }
- catch (Exception ex)
- {
- return null;
- }
- }
-
- /// <summary>
- /// 涓嬭浇瀹夎apk
- /// </summary>
- /// <returns>The load apk async.</returns>
- /// <param name="requestUrl">璇锋眰閾炬帴</param>
- /// <param name="byteData">璇锋眰鍙傛暟</param>
- private System.Threading.Tasks.Task<byte[]> DownLoadApkAsync(string requestUrl, byte[] byteData)
- {
- try
- {
- webClient.Headers.Add(HttpRequestHeader.ContentType, "application/json");
- webClient.Headers.Add(HttpRequestHeader.Authorization, Config.Instance.Token);
- webClient.UploadProgressChanged += Client_DownloadProgressChanged;
- webClient.UploadDataCompleted += Client_UploadCompleted;
- var result = webClient.UploadDataTaskAsync($"{CommonPage.RequestHttpsHost}/{requestUrl}", "POST", byteData);
- if (result == null)
- {
- return null;
- }
- return result;
- }
- catch (Exception ex)
- {
- return null;
- }
- finally
- {
- }
- }
- /// <summary>
- /// apk涓嬭浇杩涘害
- /// </summary>
- /// <param name="sender">Sender.</param>
- /// <param name="e">E.</param>
- void Client_DownloadProgressChanged(object sender, UploadProgressChangedEventArgs e)
- {
- //System.Console.WriteLine($"褰撳墠杩涘害--{(int)(e.BytesReceived / (float)ApkBytesTotalLength * 100)} % --BytesReceived--{e.BytesReceived}--totalByte{e.TotalBytesToReceive}");
- if (e.BytesReceived <= ApkBytesTotalLength)
- {
- Application.RunOnMainThread(() =>
- {
- SetDownLoadBtnVisible();
- updatingBtn.Text = $"{ Language.StringByID(R.MyInternationalizationString.Updating)} {(int)(e.BytesReceived / (float)ApkBytesTotalLength * 100)}%";
- });
- }
- }
-
- /// <summary>
- /// Client_UploadCompleted
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- void Client_UploadCompleted(object sender, UploadDataCompletedEventArgs e)
- {
- System.Console.WriteLine("涓嬭浇apk瀹屾垚");
- SetDownLoadBtnNoVisible();
- }
- /// <summary>
- /// 鍙栨秷涓嬭浇apk
- /// </summary>
- private void CancelDownLoadApkAsync()
- {
- webClient?.CancelAsync();
- SetDownLoadBtnNoVisible();
- System.Console.WriteLine("鍙栨秷涓嬭浇apk");
- }
+ }
+
+ /// <summary>
+ /// 鑾峰彇 Android-APP 鐗堟湰淇℃伅
+ /// </summary>
+ /// <returns>The https app version async.</returns>
+ private async System.Threading.Tasks.Task<Common.ResponseEntity.ApkInfoOBJ> RequestHttpsAndroidAppVersionAsync()
+ {
+ try
+ {
+ var requestOBJ = new SendDataToServer.GetAndroidApkInfoOBJ
+ {
+ Name = "ZigbeeApp",
+ RequestVersion = CommonPage.CodeIDString
+ };
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestOBJ);
+ var result = await CommonPage.Instance.RequestHttpsZigbeeAsync("FirmwareMana/DetectionPlatformUploadFirmware", System.Text.Encoding.UTF8.GetBytes(requestJson));
+ if (result == null)
+ {
+ return null;
+ }
+ if (result.StateCode.ToUpper() == "SUCCESS")
+ {
+ if (result.ResponseData == null)
+ {
+ return null;
+ }
+
+ var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ApkInfoRes>(result.ResponseData.ToString());
+ if (responeData == null || responeData.pageData == null || responeData.pageData.Count == 0)
+ {
+ return null;
+ }
+ int MaxIndex = 0;
+ int NewVersion = 0;
+ for (int i = 0; i < responeData.pageData.Count; i++)
+ {
+ var apkInfo = responeData.pageData[i];
+ var version = int.Parse(apkInfo.FirmwareVersion.Replace(".", ""));
+ if (version > NewVersion)
+ {
+ NewVersion = version;
+ MaxIndex = i;
+ }
+ }
+ return responeData.pageData[MaxIndex];
+ }
+ return null;
+ }
+ catch (Exception ex)
+ {
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// 涓嬭浇瀹夎apk
+ /// </summary>
+ /// <returns>The load apk async.</returns>
+ /// <param name="requestUrl">璇锋眰閾炬帴</param>
+ /// <param name="byteData">璇锋眰鍙傛暟</param>
+ private System.Threading.Tasks.Task<byte[]> DownLoadApkAsync(string requestUrl, byte[] byteData)
+ {
+ try
+ {
+ webClient.Headers.Add(HttpRequestHeader.ContentType, "application/json");
+ webClient.Headers.Add(HttpRequestHeader.Authorization, Config.Instance.Token);
+ webClient.UploadProgressChanged += Client_DownloadProgressChanged;
+ webClient.UploadDataCompleted += Client_UploadCompleted;
+ var result = webClient.UploadDataTaskAsync($"{CommonPage.RequestHttpsHost}/{requestUrl}", "POST", byteData);
+ if (result == null)
+ {
+ return null;
+ }
+ return result;
+ }
+ catch (Exception ex)
+ {
+ return null;
+ }
+ finally
+ {
+ }
+ }
+ /// <summary>
+ /// apk涓嬭浇杩涘害
+ /// </summary>
+ /// <param name="sender">Sender.</param>
+ /// <param name="e">E.</param>
+ void Client_DownloadProgressChanged(object sender, UploadProgressChangedEventArgs e)
+ {
+ //System.Console.WriteLine($"褰撳墠杩涘害--{(int)(e.BytesReceived / (float)ApkBytesTotalLength * 100)} % --BytesReceived--{e.BytesReceived}--totalByte{e.TotalBytesToReceive}");
+ if (e.BytesReceived <= ApkBytesTotalLength)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ SetDownLoadBtnVisible();
+ updatingBtn.Text = $"{ Language.StringByID(R.MyInternationalizationString.Updating)} {(int)(e.BytesReceived / (float)ApkBytesTotalLength * 100)}%";
+ });
+ }
+ }
+
+ /// <summary>
+ /// Client_UploadCompleted
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ void Client_UploadCompleted(object sender, UploadDataCompletedEventArgs e)
+ {
+ System.Console.WriteLine("涓嬭浇apk瀹屾垚");
+ SetDownLoadBtnNoVisible();
+ }
+ /// <summary>
+ /// 鍙栨秷涓嬭浇apk
+ /// </summary>
+ private void CancelDownLoadApkAsync()
+ {
+ webClient?.CancelAsync();
+ SetDownLoadBtnNoVisible();
+ System.Console.WriteLine("鍙栨秷涓嬭浇apk");
+ }
#endif
}
--
Gitblit v1.8.0