using System;
|
using Shared;
|
using HDL_ON;
|
using HDL_ON.UI.CSS;
|
using HDL_ON.DAL.Server;
|
|
namespace HDL_ON
|
{
|
/// <summary>
|
/// HDLCommon
|
/// 暂时没用
|
/// </summary>
|
public class HDLCommon
|
{
|
#region ■ 变量声明___________________________
|
/// <summary>
|
/// 通用方法
|
/// </summary>
|
private static HDLCommon m_Current = null;
|
/// <summary>
|
/// 通用方法
|
/// </summary>
|
public static HDLCommon Current
|
{
|
get
|
{
|
if (m_Current == null)
|
{
|
m_Current = new HDLCommon();
|
}
|
return m_Current;
|
}
|
}
|
#endregion
|
|
#region ■ Alter弹窗提示_______________________
|
/// <summary>
|
/// 弹窗提示
|
/// </summary>
|
/// <param name="mes"></param>
|
public void ShowAlert(string mes)
|
{
|
new Alert("", mes, Language.StringByID(StringId.Close)).Show();
|
}
|
|
/// <summary>
|
/// 弹窗提示
|
/// </summary>
|
/// <param name="mes">弹窗提示信息</param>
|
/// <param name="okAction">确认按钮事件</param>
|
public void ShowActionAlert(string mes, Action okAction)
|
{
|
Alert alert = new Alert("", mes, Language.StringByID(StringId.Cancel), Language.StringByID(StringId.Confirm));
|
alert.ResultEventHandler += (sender2, e2) =>
|
{
|
if (e2)
|
{
|
okAction?.Invoke();
|
}
|
};
|
alert.Show();
|
}
|
|
#endregion
|
|
#region ■ 通用Dialog_______________________
|
|
#endregion
|
|
#region 检测更新
|
/// <summary>
|
/// 检测更新线程
|
/// </summary>
|
public void CheckIfNeedForceUpdate()
|
{
|
// //return;
|
System.Threading.Tasks.Task.Run(() =>
|
{
|
try
|
{
|
var requestObj = new ForceUpdateObj()
|
{
|
|
|
};
|
#if Android
|
requestObj.DeviceType = 1;
|
#endif
|
var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
|
var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson);
|
if (revertObj.Code == StateCode.SUCCESS)
|
{
|
var mForceUpdateInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ForceUpdateInfo>(revertObj.Data.ToString());
|
if (mForceUpdateInfo != null)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
ShowForceUpdateDialog(mForceUpdateInfo);
|
});
|
}
|
}
|
else
|
{
|
Utlis.WriteLine("请求失败");
|
}
|
}
|
catch (Exception ex)
|
{
|
//Shared.Utlis.WriteLine (ex.ToString ());
|
}
|
finally
|
{
|
|
}
|
|
});
|
|
|
//ForceUpdateInfo mForceUpdateInfo = new ForceUpdateInfo () {
|
// IsNeedForceUpdate = true,
|
// AndroidUrl = "https://shouji.baidu.com/software/26667787.html",
|
// AndroidUrl_En = "https://shouji.baidu.com/software/26667787.html",
|
// IosUrl = "https://apps.apple.com/cn/app/hdl-on/id1029839624",
|
// ReasonStr = "1.发现新版本App,当前版本已停用,马上更新!\n2.请下载和安装新版本!",
|
// ReasonStr_En = "1. Discover the new version of the App, the current version is disabled, update now! \n2. Please download and install the new version!"
|
//};
|
|
//ShowForceUpdateDialog (mForceUpdateInfo);
|
}
|
|
/// <summary>
|
/// 提示强制更新Dialog
|
/// 点击确认跳转浏览器
|
/// </summary>
|
public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo)
|
{
|
|
//if (!mForceUpdateInfo.IsNeedForceUpdate) return;
|
|
if (mForceUpdateInfo.UpdateType == 0) return;
|
|
if (mForceUpdateInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mForceUpdateInfo.NewVersion)) return;
|
|
Dialog dialog = new Dialog();
|
|
FrameLayout dialogBodyView = new FrameLayout()
|
{
|
Gravity = Gravity.Center,
|
Width = Application.GetRealWidth(500),
|
Height = Application.GetRealHeight(500),
|
BackgroundColor = 0xFF000000,
|
Radius = (uint)Application.GetRealHeight(10),
|
//BorderColor = SkinStyle.Current.Transparent,
|
BorderWidth = 0,
|
};
|
dialog.AddChidren(dialogBodyView);
|
|
Button btnTitle = new Button()
|
{
|
Height = Application.GetRealHeight(80),
|
BackgroundColor = 0x00000000,
|
TextAlignment = TextAlignment.Center,
|
TextID = StringId.Tip,
|
TextColor = 0xFFFFFFFF
|
};
|
dialogBodyView.AddChidren(btnTitle);
|
|
|
FrameLayout centerView = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(80),
|
Height = Application.GetRealHeight(340),
|
BackgroundColor = 0xFFFFFFFF,
|
};
|
dialogBodyView.AddChidren(centerView);
|
|
Button btnMessage = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(20),
|
Width = Application.GetRealWidth(400),
|
//Height = Application.GetRealHeight (300),
|
//Text = mForceUpdateInfo.ReasonStr,
|
TextAlignment = TextAlignment.TopLeft,
|
//TextColor = SkinStyle.Current.TextColor,
|
IsMoreLines = true
|
};
|
centerView.AddChidren(btnMessage);
|
|
|
FrameLayout bottomView = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(420),
|
Height = Application.GetRealHeight(80),
|
BackgroundColor = 0xFFFFFFFF,
|
|
};
|
dialogBodyView.AddChidren(bottomView);
|
|
var mAndroidUrl = mForceUpdateInfo.AndroidUrl;
|
if (Language.CurrentLanguage == "Chinese")
|
{
|
btnMessage.Text = mForceUpdateInfo.ReasonStr;
|
|
}
|
else
|
{
|
btnMessage.Text = mForceUpdateInfo.ReasonStr_En;
|
mAndroidUrl = mForceUpdateInfo.AndroidUrl_En;
|
}
|
|
|
if (mForceUpdateInfo.UpdateType == 1)
|
{
|
#region 提示更新
|
Button btnNext = new Button()
|
{
|
Width = Application.GetRealWidth(249),
|
TextID = StringId.Ignore,
|
TextAlignment = TextAlignment.Center,
|
TextColor = 0xFFFFFFFF,
|
BackgroundColor = 0xFF000000,
|
//Text = "忽略"
|
};
|
bottomView.AddChidren(btnNext);
|
btnNext.MouseUpEventHandler += (sender2, e2) =>
|
{
|
//UserConfig.Instance.IfIgnoreUpdate = true;
|
UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion;
|
UserInfo.Current.SaveUserInfo();
|
dialog.Close();
|
};
|
|
Button btnSave = new Button()
|
{
|
X = btnNext.Right + 1,
|
Width = Application.GetRealWidth(250),
|
TextID = StringId.Update,
|
TextAlignment = TextAlignment.Center,
|
TextColor = 0xFFFFFFFF,
|
BackgroundColor = 0xFF000000,
|
//Text = "更新"
|
};
|
bottomView.AddChidren(btnSave);
|
|
btnSave.MouseUpEventHandler += (sender2, e2) =>
|
{
|
dialog.Close();
|
try
|
{
|
|
#if __IOS__
|
HDLUtils.OpenUrl(mForceUpdateInfo.IosUrl);
|
//UIApplication.SharedApplication.OpenUrl (new Foundation.NSUrl ("https://apps.apple.com/cn/app/hdl-on/id1029839624"));
|
|
#elif Android
|
HDLUtils.OpenUrl(mAndroidUrl);
|
SharedMethod.SharedMethod.OpenUrl (mAndroidUrl);
|
//SharedMethod.SharedMethod.OpenUrl ("https://shouji.baidu.com/software/26667787.html");
|
|
#endif
|
}
|
catch
|
{
|
//跳转下载地址失败
|
Utlis.WriteLine("open url error");
|
}
|
};
|
|
#endregion
|
|
}
|
else if (mForceUpdateInfo.UpdateType == 2)
|
{
|
#region 强制更新
|
Button btnSave = new Button()
|
{
|
Width = Application.GetRealWidth(500),
|
TextID = StringId.Confirm,
|
TextAlignment = TextAlignment.Center,
|
TextColor = 0xFFFFFFFF,
|
BackgroundColor = 0xFF000000,
|
};
|
bottomView.AddChidren(btnSave);
|
|
//var mAndroidUrl = mForceUpdateInfo.AndroidUrl;
|
//if (Language.CurrentLanguage == "Chinese") {
|
// btnMessage.Text = mForceUpdateInfo.ReasonStr;
|
|
//} else {
|
// btnMessage.Text = mForceUpdateInfo.ReasonStr_En;
|
// mAndroidUrl = mForceUpdateInfo.AndroidUrl_En;
|
//}
|
|
btnSave.MouseUpEventHandler += (sender2, e2) =>
|
{
|
try
|
{
|
|
#if __IOS__
|
HDLUtils.OpenUrl(mForceUpdateInfo.IosUrl);
|
//UIApplication.SharedApplication.OpenUrl (new Foundation.NSUrl ("https://apps.apple.com/cn/app/hdl-on/id1029839624"));
|
|
#elif Android
|
HDLUtils.OpenUrl(mAndroidUrl);
|
//SharedMethod.SharedMethod.OpenUrl ("https://shouji.baidu.com/software/26667787.html");
|
|
#endif
|
}
|
catch
|
{
|
//跳转下载地址失败
|
Utlis.WriteLine("open url error");
|
}
|
};
|
#endregion
|
}
|
else
|
{
|
#region 提示通知
|
Button btnSave = new Button()
|
{
|
Width = Application.GetRealWidth(500),
|
TextID = StringId.Close,
|
TextAlignment = TextAlignment.Center,
|
TextColor = 0xFFFFFFFF,
|
BackgroundColor = 0xFF000000,
|
};
|
bottomView.AddChidren(btnSave);
|
|
btnSave.MouseUpEventHandler += (sender2, e2) =>
|
{
|
dialog.Close();
|
};
|
#endregion
|
}
|
dialog.Show();
|
|
}
|
#endregion
|
}
|
}
|