| | |
| | | /// Android 云端返回地址 |
| | | /// </summary> |
| | | string newAppVersionUrl = ""; |
| | | /// <summary> |
| | | /// 版本更新ListCellView |
| | | /// </summary> |
| | | ListCellView versionUpdateView; |
| | | |
| | | /// <summary> |
| | | /// |
| | |
| | | }; |
| | | bodyView.AddChidren(lineView); |
| | | |
| | | #region 版本更新 |
| | | versionUpdateView = new ListCellView() |
| | | { |
| | | Y = lineView.Bottom, |
| | | }; |
| | | #if __ANDROID__ |
| | | bodyView.AddChidren(versionUpdateView); |
| | | CheckIfNeedUpdateAsync(false); |
| | | #endif |
| | | versionUpdateView.BtnTilte.TextID = StringId.VersionUpdate; |
| | | Action versionUpdateAction = () => |
| | | { |
| | | OpenUrl(); |
| | | }; |
| | | versionUpdateView.GoAction = versionUpdateAction; |
| | | #endregion |
| | | |
| | | |
| | | #region 软件服务协议 |
| | | var serviceAgreementView = new ListCellView() |
| | | { |
| | | #if __ANDROID__ |
| | | Y = versionUpdateView.Bottom, |
| | | #else |
| | | Y = lineView.Bottom, |
| | | #endif |
| | | }; |
| | | bodyView.AddChidren(serviceAgreementView); |
| | | serviceAgreementView.BtnTilte.TextID = StringId.UserAgreement; |
| | |
| | | new WebViewDialog().LoadPageWithdrawalConsent(titleStr, url); |
| | | }; |
| | | serviceAgreementView.GoAction = serviceAgreementAction; |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 用户信息保护协议 |
| | | var privacyPolicyView = new ListCellView() |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检测是否需要更新 |
| | | /// Android等接口实现 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | void CheckIfNeedUpdateAsync(bool isTip = false) |
| | | { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | newAppVersion = CanUpdateAsync(); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (!string.IsNullOrEmpty(newAppVersion)) |
| | | { |
| | | //发现新版本 |
| | | versionUpdateView.BtnSubtitle.TextColor = CSS_Color.MainColor; |
| | | versionUpdateView.BtnSubtitle.Text = Language.StringByID(StringId.DiscoverNewVersion) + "(" + newAppVersion + ")"; |
| | | } |
| | | else |
| | | { |
| | | //已经是最新版本 |
| | | versionUpdateView.BtnSubtitle.TextColor = CSS_Color.PromptingColor1; |
| | | versionUpdateView.BtnSubtitle.Text = Language.StringByID(StringId.IsLatestVersion); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检查版本 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | string CanUpdateAsync() |
| | | { |
| | | try |
| | | { |
| | | var versionResult = CheckAppVersion(); |
| | | if (versionResult == null) |
| | | { |
| | | return ""; |
| | | } |
| | | var newVersion = versionResult.version; |
| | | if (newVersion.CompareTo(MainPage.VersionString) > 0) |
| | | { |
| | | newAppVersionUrl = versionResult.packageUrl; |
| | | return newVersion; |
| | | } |
| | | return ""; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检测新版本 |
| | | /// </summary> |
| | | /// <returns>The https app version async.</returns> |
| | | private AppVersionResNew CheckAppVersion() |
| | | { |
| | | try |
| | | { |
| | | var result = new HttpServerRequest().CheckAppVersion(); |
| | | if (result.Code == StateCode.SUCCESS) |
| | | { |
| | | if (result.Data == null) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionResNew>(result.Data.ToString()); |
| | | return responeData; |
| | | } |
| | | return null; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |