From 305f57840fff5b7cb1914b35c56eaece618711e7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 14 一月 2021 17:06:36 +0800
Subject: [PATCH] 2021-01-14 1. 修改判断当前值是否需要参与签名方法,保持跟云端一致
---
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 313 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 233 insertions(+), 80 deletions(-)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index a9eb697..645d512 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1,7 +1,8 @@
-锘縰sing System;
+锘縰sing System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.DAL;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Newtonsoft.Json;
@@ -10,11 +11,13 @@
namespace HDL_ON.UI
{
- public partial class HomePage : FrameLayout
+ public partial class HomePage : VerticalRefreshLayout
{
#region 鎺т欢鍒楄〃
static HomePage bodyView;
+
+ //FrameLayout bodyView;
/// <summary>
/// 椤堕儴淇℃伅鍖哄煙
/// </summary>
@@ -34,15 +37,15 @@
/// <summary>
/// 褰撳墠娓╁害淇℃伅
/// </summary>
- Button btnTempValues;
+ TextButton btnTempValues;
/// <summary>
/// 褰撳墠婀垮害淇℃伅
/// </summary>
- Button btnHumidityValues;
+ TextButton btnHumidityValues;
/// <summary>
/// 褰撳墠pm2.5鐘舵��
/// </summary>
- Button btnPm25Values;
+ TextButton btnPm25Values;
/// <summary>
/// 鍒囨崲鏄剧ず鍔熻兘绫诲瀷鍖哄煙
/// </summary>
@@ -80,21 +83,53 @@
bool CurShowTypeIsFunction = true;
#endregion
+ #region 鎶ヨ淇℃伅
+ Button btnMsgBg;
+ Button btnMsgTime;
+ Button btnMsg;
+ Button btnMsgIcon;
+ #endregion
+
public HomePage()
{
bodyView = this;
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+
+ this.VerticalScrollBarEnabled = false;
+#if __IOS__
+ //鑷姩鍋忕Щ鍙栨秷
+ if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0))
+ {
+ (this.uiView as UIKit.UIScrollView).ContentInsetAdjustmentBehavior = UIKit.UIScrollViewContentInsetAdjustmentBehavior.Never;
+ }
+#endif
+ }
+
+ public override void RemoveFromParent()
+ {
+ UnregisterGetPushMessageAction();
+ base.RemoveFromParent();
}
public void LoadPage()
{
try
{
+ this.BeginHeaderRefreshingAction = () =>
+ {
+ this.EndHeaderRefreshing();
+ Common.ApiUtlis.Ins.DownloadData();
+ LoadContentView();
+ };
+
#region topView
+
+ bodyView.RemoveAll();
+
topView = new FrameLayout()
{
Height = Application.GetRealHeight(216),
- BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
+ BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
};
bodyView.AddChidren(topView);
@@ -115,17 +150,20 @@
Radius = (uint)Application.GetRealWidth(3),
};
topView.AddChidren(btnLinkStateTip);
+ //鏇存柊閾炬帴鐘舵�乮con棰滆壊
+ CheckLinkStatus();//2020-12-22
+ //LoadEvent_CheckLinkStatus();
btnResidenceName = new Button()
{
X = Application.GetRealWidth(26),
Y = Application.GetRealHeight(32),
- Width = Application.GetRealWidth(400),
+ Width = Application.GetRealWidth(300),
Height = Application.GetRealHeight(33),
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
- Text = DB_ResidenceData.residenceData.residecenInfo.Name,
+ Text = DB_ResidenceData.Instance.CurrentRegion.Name,
IsBold = true
};
topView.AddChidren(btnResidenceName);
@@ -136,7 +174,9 @@
{
System.Threading.Tasks.Task.Run(() =>
{
- DriverLayer.Control.Ins.SearchLoaclGateway();
+ //DriverLayer.Control.Ins.SearchLoaclGateway();
+ //MainPage.InitializationData();
+ //DriverLayer.Control.Ins.IsRemote = true;
});
};
#endif
@@ -158,7 +198,7 @@
};
environmentalView.AddChidren(btnTempIcon);
- btnTempValues = new Button()
+ btnTempValues = new TextButton()
{
X = btnTempIcon.Right + Application.GetRealWidth(4),
Width = Application.GetRealWidth(30),
@@ -180,7 +220,7 @@
};
environmentalView.AddChidren(btnHumidityIcon);
- btnHumidityValues = new Button()
+ btnHumidityValues = new TextButton()
{
X = btnHumidityIcon.Right + Application.GetRealWidth(4),
Width = Application.GetRealWidth(30),
@@ -202,7 +242,7 @@
};
environmentalView.AddChidren(btnPm25Icon);
- btnPm25Values = new Button()
+ btnPm25Values = new TextButton()
{
X = btnPm25Icon.Right + Application.GetRealWidth(4),
Width = Application.GetRealWidth(130),
@@ -226,14 +266,14 @@
};
topView.AddChidren(msgView);
- var btngb = new Button()
+ btnMsgBg = new Button()
{
BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
Alpha = 0.4f,
};
- msgView.AddChidren(btngb);
+ msgView.AddChidren(btnMsgBg);
- Button btnMsgIcon;
+
btnMsgIcon = new Button()
{
X = Application.GetRealWidth(12),
@@ -245,19 +285,19 @@
};
msgView.AddChidren(btnMsgIcon);
- Button btnMsg;
+
btnMsg = new Button()
{
X = Application.GetRealWidth(10) + btnMsgIcon.Right,
Width = Application.GetRealWidth(240),
- Text = "鏃�",
+ Text = "...",
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
};
msgView.AddChidren(btnMsg);
- Button btnMsgTime;
+
btnMsgTime = new Button()
{
X = Application.GetRealWidth(299),
@@ -267,14 +307,20 @@
TextAlignment = TextAlignment.CenterLeft,
};
msgView.AddChidren(btnMsgTime);
+
+ LoadEvent_GotoMessageCenterPage();
+
#endregion
#endregion
#region 鍔熻兘鍦烘櫙鍒囨崲
+
+ bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 });
+
changeView = new FrameLayout()
{
- Y = Application.GetRealHeight(20) + topView.Bottom,
+ //Y = Application.GetRealHeight(20) + topView.Bottom,
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(230),
Height = Application.GetRealHeight(62),
@@ -321,12 +367,77 @@
#region ContextView
contentView = new PageLayout()
{
- Y = changeView.Bottom ,
+ //Y = changeView.Bottom,
Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒�
+ IsShowPoint = false,
};
bodyView.AddChidren(contentView);
functionViews = new List<FrameLayout>();
+
+ LoadContentView();
+
+ #endregion
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
+ }
+
+ }
+ /// <summary>
+ /// 鍔犺浇鍐呭鍖哄煙
+ /// </summary>
+ void LoadContentView()
+ {
+ if (!Common.ApiUtlis.Ins.DownloadDataComplete)
+ {
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ while (!Common.ApiUtlis.Ins.DownloadDataComplete)
+ {
+ System.Threading.Thread.Sleep(400);
+ }
+ Application.RunOnMainThread(() =>
+ {
+ if (contentView == null)
+ {
+ return;
+ }
+ contentView.RemoveAll();
+ deviceFunctionView = new VerticalScrolViewLayout();
+ contentView.AddChidren(deviceFunctionView);
+ LoadDeviceFunctionControlZone();
+ sceneFunctionView = new VerticalScrolViewLayout();
+ contentView.AddChidren(sceneFunctionView);
+ LoadSceneFunctionControlZone();
+ contentView.PageIndex = 0;
+
+
+ LoadEvent_ChangeShowedFunctionType();
+
+ // 鏌ヨ鏈娑堟伅骞舵樉绀�
+ GetUnreadPushMessages();
+ RegisterGetPushMessageAction();
+
+ waitPage.Hide();
+ });
+ }
+ catch (Exception ex) {
+ MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}");
+ }
+ finally { }
+ })
+ { IsBackground = true }.Start();
+ }
+ else
+ {
deviceFunctionView = new VerticalScrolViewLayout();
contentView.AddChidren(deviceFunctionView);
@@ -336,20 +447,15 @@
LoadSceneFunctionControlZone();
contentView.PageIndex = 0;
- #endregion
LoadEvent_ChangeShowedFunctionType();
- }
- catch (Exception ex)
- {
- MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
+
+ // 鏌ヨ鏈娑堟伅骞舵樉绀�
+ GetUnreadPushMessages();
+ RegisterGetPushMessageAction();
+
}
-
- System.Threading.Tasks.Task.Run(() =>
- {
- //DriverLayer.Control.Ins.SearchLoaclGateway();
- });
}
/// <summary>
@@ -357,6 +463,7 @@
/// </summary>
void LoadDeviceFunctionControlZone()
{
+
#region ContextView
deviceFunctionView.RemoveAll();
functionViews.Clear();
@@ -364,10 +471,10 @@
try
{
int index = 0;
- foreach (var function in DB_ResidenceData.functionList.GetAllDeviceFunctionList())
+ foreach (var function in FunctionList.List.GetDeviceFunctionList())
{
//闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞�
- if (function.functionCategory == FunctionCategory.Music)
+ if (function.Spk_Prefix == FunctionCategory.Music)
{
var music = function as Music.A31MusicModel;
if (music.ServerClientType == -1)
@@ -479,15 +586,15 @@
try
{
int index = 0;
- foreach (var scene in DB_ResidenceData.functionList.scenes)
+ foreach (var scene in FunctionList.List.scenes)
{
if (!scene.collect)
continue;
- if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
- {
- scene.collect = false;
- continue;
- }
+ //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
+ //{
+ // scene.collect = false;
+ // continue;
+ //}
if (index % 2 == 0)
{
sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
@@ -506,9 +613,12 @@
Width = Application.GetRealWidth(164),
Height = Application.GetRealWidth(122),
Tag = scene.sid,
- BackgroundImagePath = (scene as Scene).ImagePath,
+ BackgroundImagePath = scene.ImagePath,
};
rowView.AddChidren(functionView);
+
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView);
LoadSceneFunctionDiv( functionView, scene);
index++;
@@ -610,7 +720,11 @@
Tag = "state",
Text = function.lastState
};
- view.AddChidren(btnState);
+
+ if (function.spk != SPK.LightSwitch)
+ {
+ view.AddChidren(btnState);
+ }
Button btnCollection;
btnCollection = new Button()
@@ -622,10 +736,16 @@
SelectedImagePath = "Collection/CollectionWhiteIcon.png",
UnSelectedImagePath = "Collection/CollectionIcon.png",
};
- view.AddChidren(btnCollection);
+ //view.AddChidren(btnCollection);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ view.AddChidren(btnCollection);
+ }
+
LoadEvent_FunctionCollection(btnCollection, function);
- if (function.functionCategory == FunctionCategory.Curtain)
+ if (function.Spk_Prefix == FunctionCategory.Curtain)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -656,7 +776,7 @@
LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
}
- else if (function.functionType == FunctionType.TV)
+ else if (function.spk == SPK.ElectricTV)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
Button btnPower;
@@ -672,7 +792,7 @@
LoadEvent_ControlTV(function as TV, btnPower);
}
- else if (function.functionCategory == FunctionCategory.Music)
+ else if (function.Spk_Prefix == FunctionCategory.Music)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
@@ -695,7 +815,8 @@
//Music.SendMethod.ReadStatus(a31player);
- btnPower.MouseUpEventHandler = (sender, e) => {
+ btnPower.MouseUpEventHandler = (sender, e) =>
+ {
if (btnPower.IsSelected)
{
btnPower.IsSelected = false;
@@ -728,7 +849,7 @@
};
view.AddChidren(btnSwitch);
- switch (function.functionCategory)
+ switch (function.Spk_Prefix)
{
case FunctionCategory.Light:
#region 鐏厜 Light
@@ -737,36 +858,26 @@
UpdataFunctionStates(function as Light);
#endregion
break;
- case FunctionCategory.Thermostat:
- switch (function.functionType)
- {
- case FunctionType.AC:
- #region 绌鸿皟 AC
- btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
- #endregion
- break;
- case FunctionType.FloorHeating:
- #region 鍦扮儹
- btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
- btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
- #endregion
- break;
- }
+ case FunctionCategory.AC:
+ #region 绌鸿皟 AC
+ btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
+ btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
+ #endregion
break;
- case FunctionCategory.SwitchDevice:
- switch (function.functionType)
+ case FunctionCategory.FloorHeat:
+ #region 鍦扮儹
+ btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
+ btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
+ #endregion
+ break;
+ case FunctionCategory.Electric:
+ switch (function.spk)
{
- case FunctionType.Socket:
+ case SPK.ElectricSocket:
btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
break;
- }
- break;
- case FunctionCategory.Electrical:
- switch (function.functionType)
- {
- case FunctionType.Fan:
+ case SPK.ElectricFan:
btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
break;
@@ -775,13 +886,29 @@
}
LoadEvent_SwitchFunction(function, btnSwitch);
}
- var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, new Button(), new Button(), new Button());
+ //鍙栨秷鏀惰棌浜嬩欢
+ Action cannelCollect = () => {
+ function.collect = false;
+ if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴
+ {
+ if ((function as Music.A31MusicModel).ServerClientType == 1)
+ {
+ (function as Music.A31MusicModel).MainPlayCollection = false;
+ Music.A31MusicModel.Save();
+ }
+ }
+ string msg = function.name + Language.StringByID(StringId.CollectionCancelled);
+ LoadDeviceFunctionControlZone();
+ function.CollectFunction();
+ };
+
+ var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone);
view.MouseUpEventHandler = skipControlPageEvent;
btnName.MouseUpEventHandler = skipControlPageEvent;
btnIcon.MouseUpEventHandler = skipControlPageEvent;
btnState.MouseUpEventHandler = skipControlPageEvent;
//鐢佃涓嶉渶瑕佹洿鏂扮姸鎬�
- if(function.functionType!= FunctionType.TV)
+ if(function.spk!= SPK.ElectricTV)
{
UpdataFunctionStates(function);
}
@@ -805,6 +932,19 @@
};
view.AddChidren(btnCoverd);
+ Button btnShowDelay;
+ btnShowDelay = new Button()
+ {
+ X = Application.GetRealWidth(40),
+ Y = Application.GetRealWidth(4),
+ Height = Application.GetRealWidth(32),
+ Width = Application.GetRealWidth(100),
+ TextColor = CSS_Color.AuxiliaryColor1,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ view.AddChidren(btnShowDelay);
+
Button btnSettingIcon;
btnSettingIcon = new Button()
{
@@ -814,7 +954,10 @@
Width = Application.GetRealWidth(32),
UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
};
- view.AddChidren(btnSettingIcon);
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ view.AddChidren(btnSettingIcon);
+ }
Button btnName;
btnName = new Button()
@@ -856,10 +999,16 @@
SelectedImagePath = "Collection/CollectionWhiteIcon.png",
UnSelectedImagePath = "Collection/CollectionIcon.png",
};
- view.AddChidren(btnCollection);
+ //view.AddChidren(btnCollection);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ view.AddChidren(btnCollection);
+ }
+
LoadEvent_SceneCollection(btnCollection, scene);
-
- LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene);
+
+ LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene);
btnSettingIcon.MouseUpEventHandler = (sender, e) => {
Action backAction = () => {
@@ -868,13 +1017,17 @@
Action refreshAction = () => {
btnName.Text = scene.name;
btnZone.Text = scene.GetRoomListName();
- view.BackgroundImagePath = (scene as Scene).ImagePath;
+ //view.BackgroundImagePath = (scene as Scene).ImagePath;
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view);
};
- var aep = new SceneEditPage(scene as Scene, backAction);
+ var aep = new SceneEditPage(scene, backAction);
MainPage.BasePageView.AddChidren(aep);
- aep.LoadPage(StringId.EditScene, refreshAction);
+ aep.LoadPage( refreshAction);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑
+ scene.SceneCountDown(btnShowDelay);
}
catch (Exception ex)
{
--
Gitblit v1.8.0