From 557c8c4f75aafc97533721766272410042440d34 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期六, 21 八月 2021 11:00:29 +0800
Subject: [PATCH] 安防功能
---
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs | 392 ++++++++++++++++++-------------------------------------
1 files changed, 130 insertions(+), 262 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
index 8f38cfb..38b713e 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using System.Text;
using HDL_ON.Entity;
using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
using Shared;
@@ -7,28 +8,39 @@
{
public class PirMain : FrameLayout
{
+ /// <summary>
+ /// 鏋勯�犲嚱鏁�
+ /// </summary>
public PirMain()
{
+ /// 鏍囪鐣岄潰
Tag = "PirMain";
}
/// <summary>
/// 鍥炶皟
/// </summary>
- public Action BackAction;
+ public static Action BackAction;
+ /// <summary>
+ /// 娣诲姞鍥炬爣Btn
+ /// </summary>
+ Button addDevice;
/// <summary>
/// 涓存椂鍌ㄥ瓨璁惧绫诲瀷鍒楄〃
/// </summary>
List<DeviceType> DeviceTypeList = new List<DeviceType>();
public void Show()
{
+ #region 鐣岄潰甯冨眬
this.BackgroundColor = CSS.CSS_Color.viewMiddle;
PirDevice.View.TopView topView = new View.TopView();
topView.topNameBtn.TextID = StringId.hongwaiyaokong;
topView.topIconBtn.Visible = true;
this.AddChidren(topView.FLayoutView());
- topView.clickBackBtn.MouseUpEventHandler += (sender, e) => {
- BackAction();
- this.RemoveFromParent(); };
+ topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+ {
+
+ RemoveFromParent();
+ };
FrameLayout middFLayout = new FrameLayout();
middFLayout.Y = Application.GetRealHeight(64);
@@ -38,27 +50,28 @@
VerticalRefreshLayout vv = new VerticalRefreshLayout();
middFLayout.AddChidren(vv);
//鍔犲彿鍥炬爣
- Button addDevice = new Button
+ addDevice = new Button
{
Y = Application.GetRealHeight(480),
X = Application.GetRealWidth(293),
Width = Application.GetRealWidth(82),
Height = Application.GetRealWidth(84),
UnSelectedImagePath = "PirIcon/add.png",
+ Visible=false,
+
};
+ middFLayout.AddChidren(addDevice);
+
+ #endregion
- if (Pir.currPir.FunctioList.Count < 10)
- {
- //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
- middFLayout.AddChidren(addDevice);
- }
-
+ #region 鐣岄潰鐐瑰嚮浜嬩欢
+ ///涓嬫媺鍒锋柊鐣岄潰浜嬩欢
vv.BeginHeaderRefreshingAction += () =>
{
////鍏抽棴鍒锋柊View锛�
vv.EndHeaderRefreshing();
- Method.GetControlList(this, () =>
+ PirMethod.GetControlList(this, () =>
{
Application.RunOnMainThread(() =>
{
@@ -68,135 +81,67 @@
}, Pir.currPir);
};
- UIView(vv);
-
+ ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
{
SetPir setPir = new SetPir();
MainPage.BasePageView.AddChidren(setPir);
- setPir.Show(() =>
- {
- BackAction();
- ////鍒锋柊鐣岄潰
- UIView(vv);
- });
+ setPir.Show();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ ///娣诲姞閬ユ帶鍣ㄥ浘鏍囩偣鍑讳簨浠�
addDevice.MouseUpEventHandler += (sender, e) =>
{
- FrameLayout frame = new FrameLayout
+ //杩涙潵涓嶅厑璁稿乏婊�
+ MainPage.BasePageView.ScrollEnabled = false;
+ View.Buttons buttons = new View.Buttons();
+ buttons.AddFrameLayout(this, (if_value, view) =>
{
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(frame);
- FrameLayout controlFl = new FrameLayout();
- controlFl.Y = Application.GetRealHeight(319);
- controlFl.X = Application.GetRealWidth(16);
- controlFl.Width = Application.GetRealWidth(343);
- controlFl.Height = Application.GetRealHeight(328);
- controlFl.BackgroundColor = CSS.CSS_Color.view;
- controlFl.Radius = (uint)Application.GetRealHeight(12);
- frame.AddChidren(controlFl);
- ///娣诲姞閬ユ帶鍣�
- Button text3Btn = new Button
- {
- Y = Application.GetRealHeight(12),
- X = Application.GetRealWidth(16),
- Width = Application.GetRealWidth(343 - 16 * 2),
- Height = Application.GetRealHeight(20),
- TextSize = TextSize.text14,
- TextColor = CSS.CSS_Color.textConfirmColor,
- TextAlignment = TextAlignment.Center,
- TextID = StringId.tianjiayaokongqi,
- IsBold = true,
- };
- controlFl.AddChidren(text3Btn);
- frame.MouseUpEventHandler += (sender1, e1) =>
- {
-
- frame.RemoveFromParent();
- };
- int line = 0;
- for (int i = 1, j = 0; i <= 7; i++, j++)
- {
- var currpirdeviceFLayout = new FrameLayout
+ //鍏抽棴鍏佽宸︽粦
+ MainPage.BasePageView.ScrollEnabled = true;
+ //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
+ if (if_value == 7)
{
- Width = Application.GetRealWidth(80),
- Height = Application.GetRealWidth(80),
- X = Application.GetRealWidth(26 + (80 + 25) * j),
- Y = Application.GetRealHeight(52 + (80 + 12) * line),
-
- };
- controlFl.AddChidren(currpirdeviceFLayout);
- var deviceIconBtn = new Button
- {
- Y = Application.GetRealHeight(8),
- X = Application.GetRealWidth(20),
- Width = Application.GetRealWidth(40),
- Height = Application.GetRealWidth(40),
- UnSelectedImagePath = "PirIcon/Infraredtreasure.png",
- };
- currpirdeviceFLayout.AddChidren(deviceIconBtn);
- var iconNameBtn = new Button
- {
- Y = deviceIconBtn.Bottom + Application.GetRealHeight(8),
- Width = Application.GetRealWidth(80),
- Height = Application.GetRealHeight(17),
- TextSize = TextSize.text12,
- TextColor = CSS.CSS_Color.TextualColor,
- TextAlignment = TextAlignment.Center,
- };
- currpirdeviceFLayout.AddChidren(iconNameBtn);
- var clickBtn = new Button { Tag = i };
- currpirdeviceFLayout.AddChidren(clickBtn);
- if (i % 3 == 0)
- {
- //婊′竴琛岄噸缃甹=0鍊�;
- j = -1;
- line += 1;
- }
- GetIconAndText(i, deviceIconBtn, iconNameBtn);
- clickBtn.MouseUpEventHandler += (sender2, e2) =>
- {
-
- //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
- int if_value = int.Parse(clickBtn.Tag.ToString());
- if (if_value == 7)
+ PirMethod method = new PirMethod();
+ method.AddControl(this, (control) =>
{
- Method method = new Method();
- method.AddControl(this, (control) =>
+ //鎴愬姛鍚庣Щ闄�;
+ view.RemoveFromParent();
+ AddButton addButton = new AddButton();
+ MainPage.BasePageView.AddChidren(addButton);
+ addButton.Show(control);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ });
+ }
+ else
+ {
+ if (if_value == 6)
+ {
+ new TipPopView().FlashingBox(Language.StringByID(StringId.zanshibuzhichigaigongneng));
+ return;
+ }
+ if (DeviceTypeList.Count == 0)
+ {
+ GetDeviceTypeList(true, () =>
{
- //鎴愬姛鍚庣Щ闄�;
- frame.RemoveFromParent();
- AddButton addButton = new AddButton();
- MainPage.BasePageView.AddChidren(addButton);
- addButton.Show(control);
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ DeviceTypeViewClick(if_value);
+ //鑾峰彇鎴愬姛涔嬪悗绉婚櫎
+ view.RemoveFromParent();
+
});
}
else
{
- //杩涙潵閮借绉婚櫎;
- frame.RemoveFromParent();
- if (DeviceTypeList.Count == 0)
- {
- GetDeviceTypeList(true, () =>
- {
- DeviceTypeViewClick(if_value);
-
- });
- }
- else
- {
- DeviceTypeViewClick(if_value);
- }
+ DeviceTypeViewClick(if_value);
+ view.RemoveFromParent();
}
- };
- }
-
+ }
+ }, 7);
};
-
+ #endregion
+ ///鍒濆鍖栫晫闈�
+ UIView(vv);
}
/// <summary>
/// 鍔犺浇UI鐣岄潰
@@ -204,6 +149,12 @@
/// <param name="vv">涓婁笅婊戞帶浠�</param>
private void UIView(VerticalRefreshLayout vv)
{
+ if (Pir.currPir.FunctioList.Count < 10)
+ {
+ //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
+ // middFLayout.AddChidren(addDevice);
+ addDevice.Visible = true;
+ }
vv.RemoveAll();
#region 绾㈠瀹濆浘鏍� 鐗堟湰鍙� 鍚嶇О 鐘舵��
FrameLayout fLayout = new FrameLayout
@@ -241,13 +192,12 @@
for (int j = 0; j < Pir.currPir.FunctioList.Count; j++)
{
var control = Pir.currPir.FunctioList[j];
-
View.ControlView controlView = new View.ControlView();
controlView.Show(pirView.devfLayout, j);
//閬ユ帶鍣ㄥ悕绉�
controlView.nameBtn.Text = control.name;
//閬ユ帶鍣ㄥ瓨鏀惧尯鍩�
- controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(control);
+ controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control);
//鏍囪閬ユ帶鍣�
controlView.delBtn.Tag = control;
//鍒犻櫎鐐瑰嚮浜嬩欢
@@ -258,7 +208,7 @@
TipPopView tipPopView = new TipPopView();
tipPopView.TipBox(StringId.tip, text, (dialog) =>
{
- Method.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) =>
+ PirMethod.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) =>
{
dialog.Close();
var function = Pir.currPir.FunctioList.Find((c) => c.sid == Function.sid);
@@ -267,7 +217,12 @@
Pir.currPir.FunctioList.Remove(Function);
}
UIView(vv);
-
+ if (Pir.currPir.FunctioList.Count < 10)
+ {
+ //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
+ // middFLayout.AddChidren(addDevice);
+ addDevice.Visible = true;
+ }
}, "鍒犻櫎", "dialog", null, dialog);
}, () => { }, false);
@@ -281,7 +236,7 @@
{
//鍥炶皟鏇存柊鍚嶅瓧/鍖哄煙
controlView.nameBtn.Text = device.name;
- controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(device);
+ controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(device);
});
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -299,10 +254,10 @@
/// <summary>
/// 璁惧杩涘叆涓嬩竴绾ф柟娉�
/// </summary>
- /// <param name="if_value"></param>
+ /// <param name="if_value">鎺т欢绱㈠紩鍊�</param>
private void DeviceTypeViewClick(int if_value)
{
- var strings = GetTypeString(if_value).Split('-');
+ var strings = View.Buttons.GetTypeString(if_value).Split('-');
var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]);
if (jobDeviceType == null)
{
@@ -317,152 +272,48 @@
});
});
-
- }
- /// <summary>
- /// 鑾峰彇璁惧绫诲瀷str
- /// </summary>
- /// <param name="index">绱㈠紩鍊�</param>
- private string GetTypeString(int index)
- {
- string type = "";
- switch (index)
- {
- case 1:
- {
- //绌鸿皟
- type = "ac-" + SPK.AcIr;
- }
- break;
- case 2:
- {
- //鐢佃
- type = "tv-" + SPK.TvIr;
- }
- break;
- case 3:
- {
- //椋庢墖
- // type = "fan-" + SPK.ElectricFan;
- }
- break;
- case 4:
- {
- //鏈洪《鐩�
- // type = "set_top_box-" + SPK.ElectricTV;
- }
- break;
- case 5:
- {
- //褰辩鏈�
- // type = "dvd-" + SPK.ElectricTV;
- }
- break;
- case 6:
- {
- //鎶曞奖浠�
- // type = "projector-" + SPK.ElectricTV;
- }
- break;
-
-
- }
- return type;
- }
- /// <summary>
- /// 璁剧疆鍥剧墖鍜屽娉�
- /// </summary>
- /// <param name="index">绱㈠紩鍊�</param>
- /// <param name="deviceIconBtn">鍥炬爣Btn</param>
- /// <param name="deviceNameBtn">璁惧澶囨敞Btn</param>
- private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn)
- {
- string iconPath = "";
- int deviceNameIndex = 0;
- switch (index)
- {
- case 1:
- {
- iconPath = "PirIcon/air.png";
- deviceNameIndex = StringId.kongtiao;
- }
- break;
- case 2:
- {
- iconPath = "PirIcon/tv.png";
- deviceNameIndex = StringId.dianshi;
- }
- break;
- case 3:
- {
- iconPath = "PirIcon/fan.png";
- deviceNameIndex = StringId.fengshan;
- }
- break;
- case 4:
- {
- iconPath = "PirIcon/stb.png";
- deviceNameIndex = StringId.jidinghe;
- }
- break;
- case 5:
- {
- iconPath = "PirIcon/dvd.png";
- deviceNameIndex = StringId.dvd;
- }
- break;
- case 6:
- {
- iconPath = "PirIcon/projector.png";
- deviceNameIndex = StringId.touyingyi;
- }
- break;
- case 7:
- {
- iconPath = "PirIcon/custom.png";
- deviceNameIndex = StringId.zidingyi;
- }
- break;
-
- }
- deviceIconBtn.UnSelectedImagePath = iconPath;
- deviceNameBtn.TextID = deviceNameIndex;
}
/// <summary>
/// 璇诲彇绾㈠璁惧绫诲瀷鍒楄〃
/// </summary>
- /// <param name="tag">鏍囪瘑瑕佷笉瑕佹彁绀猴紙true=鎻愮ず锛�</param>
+ /// <param name="tag">琛ㄧず瑕佷笉瑕佹彁绀洪敊璇俊鎭紙true=鎻愮ず锛�</param>
/// <param name="action">鍥炶皟鍑芥暟</param>
public void GetDeviceTypeList(bool tag, Action action)
{
PirSend.GetDeviceTypesList(this, (responsePackNew) =>
{
-
if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
{
//娓呯┖涔嬪墠鏁版嵁
DeviceTypeList.Clear();
- var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
- for (int a = 0; a < jArray.Count; a++)
+ try
{
- var jay = jArray[a];
- var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
- var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str);
- if (objDeviceType != null)
+ var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+ for (int a = 0; a < jArray.Count; a++)
{
- if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id))
+ var jay = jArray[a];
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+ var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str);
+ if (objDeviceType != null)
{
- DeviceTypeList.Add(objDeviceType);
+ if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id))
+ {
+ DeviceTypeList.Add(objDeviceType);
+ }
}
}
+ action();
}
- action();
+ catch
+ {
+
+ }
}
else
{
if (tag)
{
- Method method = new Method();
+ PirMethod method = new PirMethod();
method.ErrorShow(responsePackNew, "");
}
}
@@ -481,30 +332,47 @@
{
//娓呯┖涔嬪墠鏁版嵁
brandList.Clear();
- var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
- for (int a = 0; a < jArray.Count; a++)
+ try
{
- var jay = jArray[a];
- var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
- var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str);
- if (brand != null)
+ var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+ for (int a = 0; a < jArray.Count; a++)
{
- if (null == brandList.Find((c) => c.id == brand.id))
+ var jay = jArray[a];
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+ var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str);
+ if (brand != null)
{
- brandList.Add(brand);
+ if (null == brandList.Find((c) => c.id == brand.id))
+ {
+ brandList.Add(brand);
+ }
}
}
}
- actionBrand(brandList);
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ actionBrand(brandList);
+ });
+ }
}
else
{
- Method method = new Method();
+ PirMethod method = new PirMethod();
method.ErrorShow(responsePackNew, "");
}
}, id, "鍝佺墝鍒楄〃");
}
-
+ /// <summary>
+ /// 绉婚櫎鐣岄潰
+ /// </summary>
+ public override void RemoveFromParent()
+ {
+ BackAction();
+ base.RemoveFromParent();
+ }
}
--
Gitblit v1.8.0