| | |
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | List<string> listBackupGwId = new List<string>();
|
| | | var fileData = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile);
|
| | | if (fileData != null)
|
| | | {
|
| | | //新增:虽然概率低,但是确实发生了。如果有网络时,App重新绑定记录的网关失败的话
|
| | | //不应该删除它
|
| | | listBackupGwId = JsonConvert.DeserializeObject<List<string>>(System.Text.Encoding.UTF8.GetString(fileData));
|
| | | }
|
| | |
|
| | | List<string> listDelete = new List<string>(); |
| | | foreach (var gatewayId in this.dicGateway.Keys)
|
| | | {
|
| | | if (result.ContainsKey(gatewayId) == false)
|
| | | if (result.ContainsKey(gatewayId) == false && listBackupGwId.Contains(gatewayId) == false)
|
| | | {
|
| | | //本地存在云端不存在的网关,则删除
|
| | | listDelete.Add(gatewayId);
|
| | |
| | | //移除 |
| | | ZbGateway.GateWayList.RemoveAll((obj) => this.GetGatewayId(obj) == zbGatewayID); |
| | | //断开mqtt连接 |
| | | realWay.DisConnect("GD"); |
| | | realWay.DisConnectLocalMqttClient("GD"); |
| | | |
| | | return true; |
| | | }
|
| | |
| | | //最后再断开mqtt连接
|
| | | for (int i = 0; i < list.Count; i++)
|
| | | {
|
| | | list[i].DisConnect("G");
|
| | | list[i].DisConnectLocalMqttClient("G");
|
| | | }
|
| | | list.Clear();
|
| | | }
|
| | |
| | | realWay.Send("GwLinuxLocate_Respon", jObject.ToString());
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 一般方法___________________________ |
| | |
|
| | | /// <summary>
|
| | | /// 弹出网关不在线的
|
| | | /// </summary> |
| | | private void ShowGatewayNotOnlineMsg()
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //网关连接失败,请确认网络
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uGatewayIsNotLinkAndCheckNetwork);
|
| | | var control = new ShowMsgControl(ShowMsgType.Tip, msg);
|
| | | control.Show();
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 显示错误信息窗口
|
| | | /// </summary>
|
| | | /// <param name="msg"></param>
|
| | | private void ShowErrorMsg(string msg)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | var contr = new ShowMsgControl(ShowMsgType.Error, msg);
|
| | | contr.Show();
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 显示Tip信息窗口
|
| | | /// </summary>
|
| | | /// <param name="msg"></param>
|
| | | private void ShowTipMsg(string msg)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
|
| | | contr.Show();
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion |
| | |
|
| | | #region ■ 网关监视___________________________
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //获取当前接受在线状态推送的界面
|
| | | var listForm = new List<CommonFormBase>();
|
| | | listForm.AddRange(UserCenterResourse.listGatewayOnlinePushForm);
|
| | | if (listForm.Count > 0)
|
| | | //保存当前激活的界面ID
|
| | | var listId = new List<string>();
|
| | | listId.AddRange(UserCenterResourse.listActionFormId);
|
| | | for (int i = 0; i < listId.Count; i++)
|
| | | {
|
| | | for (int i = 0; i < listChange.Count; i++)
|
| | | if (UserCenterResourse.DicActionForm.ContainsKey(listId[i]) == false)
|
| | | {
|
| | | foreach (var form in listForm)
|
| | | {
|
| | | form?.GatewayOnlinePush(listChange[i], listChangeStatu[i]);
|
| | | }
|
| | | continue;
|
| | | }
|
| | | //网关在线推送
|
| | | for (int j = 0; j < listChange.Count; j++)
|
| | | {
|
| | | UserCenterResourse.DicActionForm[listId[i]]?.GatewayOnlinePush(listChange[j], listChangeStatu[j]);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 一般方法___________________________ |
| | |
|
| | | /// <summary>
|
| | | /// 弹出网关不在线的
|
| | | /// </summary> |
| | | private void ShowGatewayNotOnlineMsg()
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //网关连接失败,请确认网络
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uGatewayIsNotLinkAndCheckNetwork);
|
| | | var control = new ShowMsgControl(ShowMsgType.Tip, msg);
|
| | | control.Show();
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 显示错误信息窗口
|
| | | /// </summary>
|
| | | /// <param name="msg"></param>
|
| | | private void ShowErrorMsg(string msg)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | var contr = new ShowMsgControl(ShowMsgType.Error, msg);
|
| | | contr.Show();
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 显示Tip信息窗口
|
| | | /// </summary>
|
| | | /// <param name="msg"></param>
|
| | | private void ShowTipMsg(string msg)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
|
| | | contr.Show();
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | | }
|
| | | }
|