| | |
| | | using HDL_ON.UI; |
| | | using HDL_ON.Entity; |
| | | using System.Threading; |
| | | using HDL_ON.DriverLayer; |
| | | |
| | | namespace HDL_ON |
| | | { |
| | |
| | | { |
| | | Shared.Application.RunOnMainThread(() => |
| | | { |
| | | //账号在别处登陆,被踢下线 跳转到登录页面 |
| | | new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show(); |
| | | ////账号在别处登陆,被踢下线 跳转到登录页面 |
| | | //new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show(); |
| | | //退出登录操作 |
| | | CheckLogout(); |
| | | |
| | | |
| | | }); |
| | | return; |
| | | } |
| | |
| | | { |
| | | Shared.Application.RunOnMainThread(() => |
| | | { |
| | | new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show(); |
| | | //GetPushMessageAction?.Invoke(); |
| | | GetPushMessageAction?.Invoke(); |
| | | //报警推送才弹窗提示(messageType包含Alarm关键字的) |
| | | if (jpushMessageInfo.messageType != null && jpushMessageInfo.messageType.Contains("Alarm")) |
| | | { |
| | | //报警推送弹窗提示 |
| | | ShowAlarmPushMessage(jpushMessageInfo); |
| | | //new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show(); |
| | | } |
| | | |
| | | }); |
| | | return; |
| | | } |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 账号在别处登陆,被踢下线 跳转到登录页面 |
| | | /// 要在主线程调用 |
| | | /// 退出登录操作 |
| | | /// </summary> |
| | | public void CheckLogout() |
| | | { |
| | | //未登录不用处理 |
| | | if (!UserInfo.Current.IsLogin) return; |
| | | |
| | | //账号在别处登陆,被踢下线 跳转到登录页面 |
| | | new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show(); |
| | | |
| | | #if DEBUG |
| | | return; |
| | |
| | | { |
| | | //加载Loading效果 |
| | | var waitPage = new Loading(); |
| | | MainPage.BasePageView.AddChidren(waitPage); |
| | | MainPage.BaseView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | |
| | | new Thread(() => |
| | |
| | | } |
| | | }).Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | ConfirmDialog alarmPushConfirmDialog; |
| | | /// <summary> |
| | | /// 报警推送弹窗提示,点击查看跳转信息中心 |
| | | /// </summary> |
| | | /// <param name="jpushMessageInfo"></param> |
| | | public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo) |
| | | { |
| | | //没登录不处理 |
| | | if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | //跳转信息中心页面 |
| | | Action goAction = () => |
| | | { |
| | | //Dialog |
| | | alarmPushConfirmDialog = null; |
| | | Action backAction = () => { |
| | | |
| | | }; |
| | | var skipPage = new MessageCenterPage(); |
| | | MainPage.BasePageView.AddChidren(skipPage); |
| | | skipPage.LoadPage(backAction); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | //取消事件 |
| | | Action cancelAction = () => |
| | | { |
| | | alarmPushConfirmDialog = null; |
| | | }; |
| | | |
| | | //防止多次弹窗处理 |
| | | if (alarmPushConfirmDialog == null) |
| | | { |
| | | alarmPushConfirmDialog = new ConfirmDialog(); |
| | | alarmPushConfirmDialog.ShowDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver); |
| | | } |
| | | else |
| | | { |
| | | alarmPushConfirmDialog.RefreshDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 常用方法_______________________ |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="userName"></param> |
| | | /// <returns></returns> |
| | | public string GetUserName(string userName) |
| | | { |
| | | return string.IsNullOrEmpty(userName) ? Language.StringByID(StringId.UsersWhoNameIsEmpty) : userName; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 监听网络变化后处理事件 |
| | | /// 刷新网络状态 |
| | | /// </summary> |
| | | /// <param name="internetStatus">网络变化</param> |
| | | /// <param name="IsEnterBackground">是否进入了后台</param> |
| | | public void UpdateInternetStatus(int internetStatus, bool IsEnterBackground = false) |
| | | { |
| | | MainPage.Log($"网络状态变化,当前网络:{internetStatus} 是否后台:{IsEnterBackground.ToString()}"); |
| | | //网络状态变化 重置网关状态重新搜索 |
| | | Control.Ins.GatewayOnline = false; |
| | | |
| | | //网络变化,断开重连一次 |
| | | if (Control.Ins.IsRemote) |
| | | { |
| | | Control.Ins.IsRemote = false; |
| | | DAL.Mqtt.MqttClient.DisConnectRemote("UpdateInternetStatus", false); |
| | | } |
| | | |
| | | if (internetStatus == 0)//没有网络连接 0 |
| | | { |
| | | Control.Ins.GatewayOnline = false; |
| | | Control.Ins.IsRemote = false; |
| | | MainPage.InternetStatus = 0; |
| | | } |
| | | else if (internetStatus == 1)//3,4G的网络连接 1 |
| | | { |
| | | MainPage.InternetStatus = 1; |
| | | Control.Ins.SearchLoaclGateway(); |
| | | |
| | | } |
| | | else if (internetStatus == 2)//WiFi网络 |
| | | { |
| | | MainPage.InternetStatus = 2; |
| | | Control.Ins.SearchLoaclGateway(); |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |