using System;
using Shared;
using HDL_ON;
using HDL_ON.UI.CSS;
using HDL_ON.DAL.Server;
namespace HDL_ON
{
///
/// HDLCommon
/// 暂时没用
///
public class HDLCommon
{
#region ■ 变量声明___________________________
///
/// 通用方法
///
private static HDLCommon m_Current = null;
///
/// 通用方法
///
public static HDLCommon Current
{
get
{
if (m_Current == null)
{
m_Current = new HDLCommon();
}
return m_Current;
}
}
#endregion
#region ■ Alter弹窗提示_______________________
///
/// 弹窗提示
///
///
public void ShowAlert(string mes)
{
new Alert("", mes, Language.StringByID(StringId.Close)).Show();
}
///
/// 弹窗提示
///
/// 弹窗提示信息
/// 确认按钮事件
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 检测更新
///
/// 检测更新线程
///
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(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);
}
///
/// 提示强制更新Dialog
/// 点击确认跳转浏览器
///
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.GetRealWidth(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
}
}