using System;
|
using System.Collections.Generic;
|
using System.Text.RegularExpressions;
|
using System.Threading;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI.UI1Login
|
{
|
public partial class LoginPage : FrameLayout
|
{
|
public LoginPage()
|
{
|
//bodyView = new FrameLayout();
|
//AddChidren(bodyView);
|
bodyView = this;
|
//2020-12-22 增加点击隐藏键盘事件
|
bodyView.MouseDownEventHandler += (sender, e) => {
|
Application.HideSoftInput();
|
};
|
pm = new HttpServerRequest();
|
}
|
|
public override void RemoveFromParent()
|
{
|
//如果当前界面存在正在等待数据的情况,先将该动作关掉
|
if (waitPage != null)
|
{
|
waitPage.RemoveFromParent();
|
waitPage = null;
|
}
|
|
base.RemoveFromParent();
|
|
////2020-12-22 增加点击隐藏键盘事件
|
//Application.HideSoftInput();
|
}
|
|
#region 局部变量
|
/// <summary>
|
/// 登录类型
|
/// 0:手机
|
/// 1:邮箱
|
/// </summary>
|
int loginType = 0;
|
/// <summary>
|
/// 登录方式
|
/// 0:密码
|
/// 1:验证码
|
/// </summary>
|
int logintMode = 0;
|
string account = "";
|
string password = "";
|
#endregion
|
|
#region 控件列表
|
/// <summary>
|
/// 等待提示
|
/// </summary>
|
Loading waitPage;
|
/// <summary>
|
/// 当前界面
|
/// </summary>
|
FrameLayout bodyView;
|
/// <summary>
|
/// 选择手机登录按钮
|
/// </summary>
|
Button btnPhoneLogin;
|
/// <summary>
|
/// 选择邮箱登录按钮
|
/// </summary>
|
Button btnEmailLogin;
|
/// <summary>
|
/// 账号子区域
|
/// </summary>
|
FrameLayout accountView;
|
/// <summary>
|
/// 国际区号按钮
|
/// </summary>
|
Button btnGlobalRoaming;
|
/// <summary>
|
/// 账号子区域里面的分割线
|
/// </summary>
|
Button btnDividingLineVertical_AccountView;
|
/// <summary>
|
/// 账号文本框
|
/// </summary>
|
EditText etAccount;
|
/// <summary>
|
/// 账号Icon按钮
|
/// </summary>
|
Button btnAccountIcon;
|
/// <summary>
|
/// 密码子区域
|
/// </summary>
|
FrameLayout passwordView;
|
/// <summary>
|
/// 密码Icon按钮
|
/// </summary>
|
Button btnPasswordIcon;
|
/// <summary>
|
/// 密码文本框
|
/// </summary>
|
EditText etPassword;
|
/// <summary>
|
/// 密码子区域里面的分割线1
|
/// </summary>
|
Button btnDividingLineVertical_PasswordView1;
|
/// <summary>
|
/// 密码子区域里面的分割线2
|
/// </summary>
|
Button btnDividingLineVertical_PasswordView2;
|
/// <summary>
|
/// 忘记密码按钮
|
/// </summary>
|
Button btnForgetPassword;
|
/// <summary>
|
/// 获取手机验证码按钮
|
/// </summary>
|
Button btnGetVerificationCode;
|
/// <summary>
|
/// 密码是否可见按钮
|
/// </summary>
|
Button btnVisiblePassword;
|
/// <summary>
|
/// 账号子区域底部横线
|
/// </summary>
|
Button btnAccountViewBottomLine;
|
/// <summary>
|
/// 密码子区域底部横线
|
/// </summary>
|
Button btnPasswordViewBottomLine;
|
/// <summary>
|
/// 注册按钮
|
/// </summary>
|
Button btnRegister;
|
/// <summary>
|
/// 验证码登录按钮
|
/// </summary>
|
Button btnSwitchLoginMode;
|
/// <summary>
|
/// 登录按钮
|
/// </summary>
|
Button btnLogin;
|
/// <summary>
|
/// 服务器请求对象
|
/// </summary>
|
HttpServerRequest pm;
|
#endregion
|
|
string verAccount = "";
|
|
/// <summary>
|
///
|
/// </summary>
|
string registerPhone;
|
string registerEmail;
|
/// <summary>
|
/// 手机区号
|
/// </summary>
|
string phoneZoneCode = "86";
|
|
/// <summary>
|
/// 加载视图
|
/// </summary>
|
public void LoadView(UserInfo userInfo = null)
|
{
|
var btnIcon = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(73),
|
Width = Application.GetMinRealAverage(62),
|
Height = Application.GetMinRealAverage(62),
|
UnSelectedImagePath = "Public/Logo.png",
|
};
|
bodyView.AddChidren(btnIcon);
|
|
var btnIcon_bg = new Button()
|
{
|
X = Application.GetRealWidth(171),
|
Y = Application.GetRealHeight(69),
|
Width = Application.GetMinRealAverage(254),
|
Height = Application.GetMinRealAverage(156),
|
UnSelectedImagePath = "Public/Logo-bg.png"
|
};
|
bodyView.AddChidren(btnIcon_bg);
|
|
#if DEBUG
|
btnIcon_bg.MouseUpEventHandler += (sender, e) =>
|
{
|
return;
|
|
};
|
|
bool b = false;
|
btnIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
//ESOnVideo.Current.Test(false);
|
|
//return;
|
if (b)
|
{
|
etAccount.Text = "tf@smarttech.com.ua";//国外账号,有住宅,登录无法显示
|
//etAccount.Text = "13375012446";//测试服务器
|
//etAccount.Text = "1033326940@qq.com";
|
//etAccount.Text = "18022428438";//wjc
|
//etAccount.Text = "13602944661";//kx
|
//etAccount.Text = "13226233133";//豆豆
|
//etAccount.Text = "18316672920";//lcg "18316672920";//hzx;// "13415629083"//cf;;
|
//etAccount.Text = "18316120654";//tujie
|
// "15622703419"lwn;// "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568
|
}
|
else
|
{
|
etAccount.Text = "15626203746";
|
//etAccount.Text = "15018447586";//音乐数量刷新问题
|
//etAccount.Text = "464027401@qq.com";//
|
//etAccount.Text = "15217626103";//
|
//etAccount.Text = "13682244600";//波哥
|
//etAccount.Text = "13168123446";//昆明金茂项目,新风问题
|
//etAccount.Text = "BB01010101@evoyo.com";//可视对讲
|
//etAccount.Text = "13168123446";
|
//etAccount.Text = "13676202754";//巴林服务器
|
//etAccount.Text = "13602944661";//kx
|
//etAccount.Text = "551775569@qq.com";//wcf
|
//etAccount.Text = "18666455392";//13375012446//13602944661//tzy 18778381374
|
//etAccount.Text = "15971583093";// gs//tzy 274116637@qq.com//Sumant.Bhatia@havells.com 国外服务器测试
|
}
|
b = !b;
|
etPassword.Text = "123456";
|
btnLogin.IsSelected = true;
|
};
|
#endif
|
|
#region 登录方式选择
|
btnPhoneLogin = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(177),
|
Width = Application.GetRealWidth(150),
|
Height = Application.GetRealHeight(40),
|
TextID = StringId.LoginByPhone,
|
TextColor = CSS_Color.MainColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
|
};
|
bodyView.AddChidren(btnPhoneLogin);
|
|
btnEmailLogin = new Button()
|
{
|
X = btnPhoneLogin.Right ,//+ Application.GetRealWidth(20),
|
Y = Application.GetRealHeight(177),
|
Width = Application.GetRealWidth(140),
|
Height = Application.GetRealHeight(40),
|
TextID = StringId.LoginByEmail,
|
TextColor = CSS_Color.PromptingColor1,
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
};
|
bodyView.AddChidren(btnEmailLogin);
|
#endregion
|
|
#region 账号填写
|
accountView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(232),
|
Width = Application.GetRealWidth(319),
|
Height = Application.GetRealHeight(44),
|
};
|
bodyView.AddChidren(accountView);
|
|
btnGlobalRoaming = new Button()
|
{
|
Width = Application.GetRealWidth(65),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = "+" + phoneZoneCode,
|
TextSize = CSS_FontSize.TextFontSize,
|
Enable = true,
|
};
|
|
//跳转国家区号选择界面
|
EventHandler<MouseEventArgs> eHandler = (sender, e) =>
|
{
|
JLCountrycode.CountryCodeView.Current.Show((countryName, code) =>
|
{
|
if (!string.IsNullOrEmpty(code))
|
{
|
phoneZoneCode = code;
|
btnGlobalRoaming.Text = "+" + phoneZoneCode;
|
}
|
});
|
};
|
btnGlobalRoaming.MouseUpEventHandler += eHandler;
|
|
if (loginType == 0)
|
{
|
accountView.AddChidren(btnGlobalRoaming);
|
}
|
|
btnDividingLineVertical_AccountView = new Button()
|
{
|
X = Application.GetRealWidth(65),
|
Gravity = Gravity.CenterVertical,
|
Width = 1,
|
Height = Application.GetRealHeight(20),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
};
|
accountView.AddChidren(btnDividingLineVertical_AccountView);
|
|
etAccount = new EditText()
|
{
|
X = Application.GetRealWidth(78),
|
Width = Application.GetRealWidth(319 - 78),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
PlaceholderTextColor = CSS_Color.PromptingColor1,
|
PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
accountView.AddChidren(etAccount);
|
|
if (userInfo != null && userInfo.ID != "1234567890")
|
{
|
registerEmail = userInfo.userEmailInfo;
|
etAccount.Text = registerPhone = userInfo.userMobileInfo;
|
}
|
|
btnAccountViewBottomLine = new Button()
|
{
|
Y = Application.GetRealHeight(42),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Height = Application.GetRealHeight(1),
|
};
|
accountView.AddChidren(btnAccountViewBottomLine);
|
|
btnAccountIcon = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/AccountIcon.png",
|
};
|
if (loginType == 1)
|
{
|
accountView.AddChidren(btnAccountIcon);
|
}
|
|
#endregion
|
|
#region 密码填写
|
passwordView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(288),
|
Width = Application.GetRealWidth(319),
|
Height = Application.GetRealHeight(44),
|
};
|
bodyView.AddChidren(passwordView);
|
|
|
btnPasswordIcon = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/PasswordIcon.png",
|
SelectedImagePath = "LoginIcon/VerificationCodeIcon.png",
|
};
|
passwordView.AddChidren(btnPasswordIcon);
|
btnDividingLineVertical_PasswordView1 = new Button()
|
{
|
X = Application.GetRealWidth(65),
|
Gravity = Gravity.CenterVertical,
|
Width = 1,
|
Height = Application.GetRealHeight(20),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
};
|
passwordView.AddChidren(btnDividingLineVertical_PasswordView1);
|
|
etPassword = new EditText()
|
{
|
X = Application.GetRealWidth(78),
|
Width = Application.GetRealWidth(61 + 84),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
PlaceholderTextColor = CSS_Color.PromptingColor1,
|
PlaceholderText = Language.StringByID(StringId.PlsEntryPassword),
|
SecureTextEntry = true,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
passwordView.AddChidren(etPassword);
|
|
#region 密码登录-控件加载
|
btnVisiblePassword = new Button()
|
{
|
X = Application.GetRealWidth(223),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/HidePasswordIcon.png",
|
SelectedImagePath = "LoginIcon/ShowPasswordIcon.png",
|
};
|
passwordView.AddChidren(btnVisiblePassword);
|
|
btnDividingLineVertical_PasswordView2 = new Button()
|
{
|
X = Application.GetRealWidth(253),
|
Gravity = Gravity.CenterVertical,
|
Width = 1,
|
Height = Application.GetRealHeight(20),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
};
|
passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
|
|
btnForgetPassword = new Button()
|
{
|
X = Application.GetRealWidth(263),
|
Width = Application.GetRealWidth(56),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = StringId.ForgetPassword,
|
TextSize = 12,
|
};
|
passwordView.AddChidren(btnForgetPassword);
|
#endregion
|
|
#region 验证码登录-控件加载
|
btnGetVerificationCode = new Button()
|
{
|
X = Application.GetRealWidth(219),
|
Width = Application.GetRealWidth(100),
|
TextID = StringId.GetVerificationCode,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextAlignment = TextAlignment.CenterRight,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextColor = CSS_Color.PromptingColor1,
|
Visible = false,
|
IsSelected = false,
|
};
|
passwordView.AddChidren(btnGetVerificationCode);
|
#endregion
|
|
btnPasswordViewBottomLine = new Button()
|
{
|
Y = Application.GetRealHeight(42),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
SelectedBackgroundColor = CSS_Color.MainColor,
|
Height = Application.GetRealHeight(1),
|
};
|
passwordView.AddChidren(btnPasswordViewBottomLine);
|
|
#endregion
|
|
#region 注册与快捷登录
|
btnRegister = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = passwordView.Bottom,
|
Width = Application.GetRealWidth(60),
|
Height = Application.GetRealHeight(17 + 12 + 12),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.SingUp,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
bodyView.AddChidren(btnRegister);
|
|
btnSwitchLoginMode = new Button()
|
{
|
X = Application.GetRealWidth(223 + 28),
|
Y = passwordView.Bottom,
|
Width = Application.GetRealWidth(96),
|
Height = Application.GetRealHeight(51),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.VerificationCodeLogin,
|
TextAlignment = TextAlignment.CenterRight,
|
};
|
bodyView.AddChidren(btnSwitchLoginMode);
|
|
#endregion
|
|
btnLogin = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(403),
|
Width = Application.GetRealWidth(220),
|
Height = Application.GetRealWidth(44),
|
Radius = (uint)Application.GetRealWidth(22),
|
SelectedBackgroundColor = CSS_Color.MainColor,
|
BackgroundColor = CSS_Color.PromptingColor1,
|
TextID = StringId.Login,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextColor = CSS_Color.MainBackgroundColor,
|
TextAlignment = TextAlignment.Center,
|
};
|
bodyView.AddChidren(btnLogin);
|
|
Button btnDomeLogin = new Button()
|
{
|
Y = btnLogin.Bottom + Application.GetRealHeight(10),
|
Height = Application.GetRealWidth(44),
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
IsBold = true,
|
TextColor = CSS_Color.MainColor,
|
TextAlignment = TextAlignment.Center,
|
Text = "Dome模式"
|
};
|
bodyView.AddChidren(btnDomeLogin);
|
btnDomeLogin.MouseUpEventHandler = (sender, e) => {
|
MainPage.NoLoginMode = true;
|
//楼层房间列表
|
var floor1 = new SpatialInfo("FLOOR") { roomName = "F1", parentId = DB_ResidenceData.Instance.CurrentRegion.id };
|
floor1.SaveRoomFile();
|
#region 房间一 -- 客厅
|
//处理房间列表
|
|
var room1 = new Room()
|
{
|
roomId = "1405771366041378818",
|
roomName = Language.CurrentLanguage == "Chinese"? "洗手间" : "Restroom",
|
roomImage = "Classification/Room/Roombg.png",
|
uid = "47c98953-6fd4-4379-88b9-4b748963504f",
|
roomType = "ROOM",
|
parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
|
homeId = "1396717478877241345",
|
createTime = "1623996986290",
|
modifyTime = "1623996986290",
|
floorRoomName = "1F-Restroom"
|
};
|
room1.SaveRoomFile();
|
//var room2 = new Room()
|
//{
|
// roomId = "1405771310345216001",
|
// roomName = Language.CurrentLanguage == "Chinese"? "主卧" : "Master bedroom",
|
// roomImage = "Classification/Room/Roombg.png",
|
// uid = "168d27a1-9e53-42c0-95c9-f5cbf41ea167",
|
// roomType = "ROOM",
|
// parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
|
// homeId = "1396717478877241345",
|
// createTime = "1623996973011",
|
// modifyTime = "1623996973011",
|
// floorRoomName = "1F-Master bedroom"
|
//};
|
//room2.SaveRoomFile();
|
var room3 = new Room()
|
{
|
roomId = "1405771193802285057",
|
roomName = Language.CurrentLanguage == "Chinese"? "餐厅" : "Restaurant",
|
roomImage = "Classification/Room/Roombg.png",
|
uid = "ed7fc784-aace-44b8-97a3-bc3e727e598b",
|
roomType = "ROOM",
|
parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
|
homeId = "1396717478877241345",
|
createTime = "1623996945225",
|
modifyTime = "1623996945225",
|
floorRoomName = "1F-Restaurant"
|
};
|
room3.SaveRoomFile();
|
var room4 = new Room()
|
{
|
roomId = "1405771024583090178",
|
roomName = Language.CurrentLanguage == "Chinese"? "客厅" : "Drawing room",
|
roomImage = "Classification/Room/Roombg.png",
|
uid = "9191a3a2-026f-4667-a0b1-e3af699e7295",
|
roomType = "ROOM",
|
parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
|
homeId = "1396717478877241345",
|
createTime = "1623996904880",
|
modifyTime = "1623996904880",
|
floorRoomName = "1F-Drawing room"
|
};
|
room4.SaveRoomFile();
|
var floor = new SpatialInfo()
|
{
|
roomId = "1405770943695937537",
|
roomName = "1F",
|
roomImage = "Classification/Room/Roombg.png",
|
uid = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
|
roomType = "FLOOR",
|
parentId = "1396717478877241345",
|
homeId = "1396717478877241345",
|
createTime = "1623996885595",
|
modifyTime = "1623996885595"
|
};
|
floor.SaveRoomFile();
|
|
SpatialInfo.CurrentSpatial.FloorList.Add(floor);
|
SpatialInfo.CurrentSpatial.RoomList.Add(room1);
|
//SpatialInfo.CurrentSpatial.RoomList.Add(room2);
|
SpatialInfo.CurrentSpatial.RoomList.Add(room3);
|
SpatialInfo.CurrentSpatial.RoomList.Add(room4);
|
|
|
#region 客厅
|
#region 功能
|
var lightRgb1 = new Function()
|
{
|
sid = "light1",
|
deviceId = "light1",
|
name = Language.CurrentLanguage == "Chinese"? "客厅氛围灯1": "RGB light 1",
|
spk = SPK.LightRGB,
|
roomIds = new List<string>() { "1405771024583090178"},
|
collect = true,
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="100",state = "100" },
|
new FunctionAttributes() { key = "rgb",value =new List<string>(){ "0","100" }, curValue="0,0,0",state = "0,0,0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightRgb1.SaveFunctionFile();
|
var lightRgb2 = new Function()
|
{
|
sid = "light2",
|
deviceId = "light2",
|
name = Language.CurrentLanguage == "Chinese" ? "客厅氛围灯2" : "RGB light 2",
|
spk = SPK.LightRGB,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "rgb",value =new List<string>(){ "0","100" }, curValue="0,0,0",state = "0,0,0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightRgb2.SaveFunctionFile();
|
var lightCct = new Function()
|
{
|
sid = "light3",
|
deviceId = "light3",
|
name = Language.CurrentLanguage == "Chinese" ? "阅读灯" : "CCT light",
|
spk = SPK.LightCCT,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "cct",value =new List<string>(){ "0","65535" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightCct.SaveFunctionFile();
|
var lightSwitch1 = new Function()
|
{
|
sid = "light4",
|
deviceId = "light4",
|
name = Language.CurrentLanguage == "Chinese" ? "大灯" : "light 1" ,
|
spk = SPK.LightSwitch,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightSwitch1.SaveFunctionFile();
|
var lightSwitch2 = new Function()
|
{
|
sid = "light5",
|
deviceId = "light5",
|
name = Language.CurrentLanguage == "Chinese" ? "开关灯" : "light 2",
|
spk = SPK.LightSwitch,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightSwitch2.SaveFunctionFile();
|
var curtain1 = new Function()
|
{
|
sid = "curtain1",
|
deviceId = "curtain1",
|
name = Language.CurrentLanguage == "Chinese" ? "开合帘" : "Curtain 1",
|
spk = SPK.CurtainTrietex,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "percent",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
curtain1.SaveFunctionFile();
|
var curtain2 = new Function()
|
{
|
sid = "curtain2",
|
deviceId = "curtain2",
|
name = Language.CurrentLanguage == "Chinese" ? "卷帘" : "Curtain 2",
|
spk = SPK.CurtainRoller,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "percent",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
curtain2.SaveFunctionFile();
|
var fh = new Function()
|
{
|
sid = "floorheat1",
|
deviceId = "floorheat1",
|
name = Language.CurrentLanguage == "Chinese" ? "地暖" : "Floorheat 1",
|
spk = SPK.FloorHeatStandard,
|
roomIds = new List<string>() { "1405771024583090178"},
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "mode",value =new List<string>(){ "day", "night", "away", "normal", "timer" }, curValue="day",state = "day" },
|
new FunctionAttributes() { key = "set_temp",value =new List<string>(){ "" }, curValue="26",state = "26" },
|
new FunctionAttributes() { key = "room_temp",value =new List<string>(){ "" }, curValue="26",state = "26" },
|
},
|
};
|
fh.SaveFunctionFile();
|
#endregion
|
#region 场景
|
var scene1 = new Scene()
|
{
|
sid = "scene1",
|
userSceneId = "scene1",
|
name = Language.CurrentLanguage == "Chinese" ? "明亮模式" : "Bright scene",
|
roomIds = new List<string>() { "1405771024583090178" },
|
gatewayId = "1234567890123456",
|
collect = true,
|
functions = new List<SceneFunction>()
|
{
|
new SceneFunction()
|
{
|
sid = lightRgb1.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightRgb2.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightCct.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightSwitch1.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightSwitch2.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
|
|
},
|
};
|
scene1.SaveSceneFile();
|
var scene2 = new Scene()
|
{
|
sid = "scene2",
|
userSceneId = "scene2",
|
name = Language.CurrentLanguage == "Chinese" ? "浪漫模式" : "Romantic scene",
|
roomIds = new List<string>() { "1405771024583090178" },
|
gatewayId = "1234567890123456",
|
collect = false,
|
functions = new List<SceneFunction>()
|
{
|
new SceneFunction()
|
{
|
sid = lightRgb1.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightRgb2.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightCct.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightSwitch1.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "off",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightSwitch2.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "off",
|
}
|
}
|
},
|
|
|
},
|
|
};
|
scene2.SaveSceneFile();
|
#endregion
|
#endregion
|
#region 餐厅
|
var lightSwitch3 = new Function()
|
{
|
sid = "light6",
|
deviceId = "light6",
|
name = Language.CurrentLanguage == "Chinese" ? "餐厅灯1" : "Dining room light 1",
|
spk = SPK.LightSwitch,
|
roomIds = new List<string>() { room3.roomId },
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightSwitch3.SaveFunctionFile();
|
var lightSwitch4 = new Function()
|
{
|
sid = "light7",
|
deviceId = "light7",
|
name = Language.CurrentLanguage == "Chinese" ? "餐厅灯2" : "Dining room light 2",
|
spk = SPK.LightSwitch,
|
roomIds = new List<string>() { room3.roomId },
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightSwitch4.SaveFunctionFile();
|
var scene3 = new Scene()
|
{
|
sid = "scene3",
|
userSceneId = "scene3",
|
name = Language.CurrentLanguage == "Chinese" ? "温馨模式" : "Warm scene",
|
roomIds = new List<string>() { room3.roomId },
|
gatewayId = "1234567890123456",
|
collect = true,
|
functions = new List<SceneFunction>()
|
{
|
new SceneFunction()
|
{
|
sid = lightSwitch4.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "off",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightSwitch4.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "off",
|
}
|
}
|
},
|
}
|
};
|
scene3.SaveSceneFile();
|
var scene4 = new Scene()
|
{
|
sid = "scene4",
|
userSceneId = "scene4",
|
name = Language.CurrentLanguage == "Chinese" ? "西餐模式" : "Western food mode",
|
roomIds = new List<string>() { room3.roomId },
|
gatewayId = "1234567890123456",
|
collect = false,
|
functions = new List<SceneFunction>()
|
{
|
new SceneFunction()
|
{
|
sid = lightSwitch4.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
new SceneFunction()
|
{
|
sid = lightSwitch4.sid,
|
status = new List<SceneFunctionStatus>()
|
{
|
new SceneFunctionStatus()
|
{
|
key = "on_off",
|
value = "on",
|
}
|
}
|
},
|
}
|
};
|
scene4.SaveSceneFile();
|
#endregion
|
#region 卧室
|
var ac = new Function()
|
{
|
sid = "ac1",
|
deviceId = "ac1",
|
name = Language.CurrentLanguage == "Chinese" ? "卧室空调" : "Bedroom air conditioning",
|
spk = SPK.AcStandard,
|
roomIds = new List<string>() { room3.roomId },
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off", value = new List<string>() { "on", "off" }, curValue = "on", state = "on" },
|
new FunctionAttributes() { key = "mode", value = new List<string>() { "cool", "heat", "fan", "auto", "dry" }, curValue = "cool", state = "cool" },
|
new FunctionAttributes() { key = "fan", value = new List<string>() { "high", "medium", "low", "auto" }, curValue = "auto", state = "auto" },
|
new FunctionAttributes() { key = "set_temp", value = new List<string>() { "16", "30"}, curValue = "16", state = "16",max = 30,min = 16 },
|
new FunctionAttributes() { key = "room_temp", value = new List<string>() { }, curValue = "20", state = "20" },
|
new FunctionAttributes() { key = "swing", value = new List<string>() {"up_down", "left_right", "stop" }, curValue = "20", state = "20" },
|
}
|
};
|
ac.SaveFunctionFile();
|
//var scene5 = new Scene()
|
//{
|
// sid = "scene5",
|
// userSceneId = "scene5",
|
// name = Language.CurrentLanguage == "Chinese" ? "阅读" : "Reading mode",
|
// roomIds = new List<string>() { room2.roomId },
|
// gatewayId = "1234567890123456",
|
// collect = true,
|
//};
|
//scene5.SaveSceneFile();
|
//var scene6 = new Scene()
|
//{
|
// sid = "scene6",
|
// userSceneId = "scene6",
|
// name = Language.CurrentLanguage == "Chinese" ? "起床" : "Wake up scene",
|
// roomIds = new List<string>() { room2.roomId },
|
// gatewayId = "1234567890123456",
|
// collect = false,
|
//};
|
//scene6.SaveSceneFile();
|
#endregion
|
|
|
var lightSwitch6 = new Function()
|
{
|
sid = "lightSwitch6",
|
deviceId = "lightSwitch6",
|
name = Language.CurrentLanguage == "Chinese" ? "洗手间灯" : "Toilet light",
|
spk = SPK.LightSwitch,
|
roomIds = new List<string>() { room1.roomId },
|
attributes = new List<FunctionAttributes>()
|
{
|
new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" },
|
new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0" },
|
},
|
};
|
lightSwitch6.SaveFunctionFile();
|
|
#endregion
|
|
var fileList = Common.FileUtlis.Files.ReadFiles();
|
|
//foreach (var file in fileList)
|
//{
|
// FunctionList.List.IniFunctionList(file,true);
|
//}
|
|
Room.CurrentSpatial.InitRoomListFunctions();
|
|
|
|
|
|
|
|
|
|
|
MainPage.GoUserPage(false);
|
};
|
|
|
|
LoadEventList();
|
account = etAccount.Text.Trim();
|
|
#if DEBUG1211
|
//本地模式
|
Button btnLocalMode = new Button()
|
{
|
Y = Application.GetRealHeight(600),
|
Height = Application.GetRealHeight(67),
|
Text = "Local Mode",
|
TextAlignment = TextAlignment.Center,
|
BackgroundColor = CSS_Color.MainColor,
|
TextColor = CSS_Color.TextualColor,
|
};
|
bodyView.AddChidren(btnLocalMode);
|
|
btnLocalMode.MouseUpEventHandler = (sender, e) =>
|
{
|
MainPage.LocalMode = true;
|
UserInfo.Current = new UserInfo();
|
MainPage.GoUserPage();
|
};
|
|
MainPage.Log("etAccount.TextAlignment : " + etAccount.TextAlignment.ToString());
|
|
#endif
|
|
#region 隐私政策
|
AddServiceAgreementControl(bodyView);
|
#endregion
|
|
}
|
|
#region ■ 服务协议___________________________
|
bool isAgreePrivacyPolicy = false;
|
/// <summary>
|
/// 添加服务协议控件
|
/// </summary>
|
/// <param name="frameBack"></param>
|
private void AddServiceAgreementControl(FrameLayout frameLayout)
|
{
|
isAgreePrivacyPolicy = OnAppConfig.Instance.isAgreePrivacyPolicy;
|
var frameRow = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(28),
|
Y = Application.GetRealHeight(628),
|
};
|
frameLayout.AddChidren(frameRow);
|
|
//同意按钮背景
|
var agreeView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(28),
|
Width = Application.GetRealWidth(28),
|
X = Application.GetRealWidth(22),
|
};
|
frameRow.AddChidren(agreeView);
|
if(Language.CurrentLanguage == "Chinese")
|
{
|
agreeView.X = Application.GetRealWidth(82);
|
}
|
//同意图标按钮
|
var agreeBtn = new Button()
|
{
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/ChooseIcon.png",
|
SelectedImagePath = "Public/ChooseOnIcon.png",
|
IsSelected = isAgreePrivacyPolicy,
|
Gravity = Gravity.Center
|
};
|
agreeView.AddChidren(agreeBtn);
|
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
isAgreePrivacyPolicy = !isAgreePrivacyPolicy;
|
agreeBtn.IsSelected = isAgreePrivacyPolicy;
|
OnAppConfig.Instance.isAgreePrivacyPolicy = isAgreePrivacyPolicy;
|
OnAppConfig.Instance.SaveConfig();
|
};
|
|
agreeBtn.MouseUpEventHandler = eventHandler;
|
agreeView.MouseUpEventHandler = eventHandler;
|
|
//int btnWidth = 0;
|
//同意文本
|
var agreeTextBtn = new TextButton()
|
{
|
X = agreeView.Right,
|
Width = Application.GetRealWidth(28),
|
Height = Application.GetRealHeight(28),
|
TextColor = CSS_Color.TextualColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.Agree
|
};
|
frameRow.AddChidren(agreeTextBtn);
|
agreeTextBtn.Width = Utlis.GetRealWidthByTextButton(agreeTextBtn);
|
|
//用户协议按钮
|
var userAgreementBtn = new TextButton()
|
{
|
X = agreeTextBtn.Right,
|
Width = Application.GetRealWidth(28),
|
Height = Application.GetRealHeight(28),
|
TextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = "《" + Language.StringByID(StringId.UserAgreement) + "》"
|
};
|
frameRow.AddChidren(userAgreementBtn);
|
userAgreementBtn.Width = Utlis.GetRealWidthByTextButton(userAgreementBtn);
|
|
//和文本
|
var andTextBtn = new TextButton()
|
{
|
X = userAgreementBtn.Right,
|
Width = Application.GetRealWidth(28),
|
Height = Application.GetRealHeight(28),
|
TextColor = CSS_Color.TextualColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.And
|
};
|
frameRow.AddChidren(andTextBtn);
|
andTextBtn.Width = Utlis.GetRealWidthByTextButton(andTextBtn);
|
|
//隐私政策按钮
|
var privacyPolicyBtn = new TextButton()
|
{
|
X = andTextBtn.Right,
|
Width = Application.GetRealWidth(28),
|
Height = Application.GetRealHeight(28),
|
TextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = "《" + Language.StringByID(StringId.PrivacyPolicy) + "》"
|
};
|
frameRow.AddChidren(privacyPolicyBtn);
|
privacyPolicyBtn.Width = Utlis.GetRealWidthByTextButton(privacyPolicyBtn);
|
|
//打开用户协议
|
userAgreementBtn.MouseUpEventHandler = (sender, e) =>
|
{
|
OpenWebViewPage(false);
|
};
|
|
//打开隐私政策
|
privacyPolicyBtn.MouseUpEventHandler = (sender, e) =>
|
{
|
OpenWebViewPage(true);
|
};
|
}
|
|
/// <summary>
|
/// OpenWebViewPage
|
/// </summary>
|
/// <param name="isOpenPrivacyPolicy">是否隐私政策</param>
|
private void OpenWebViewPage(bool isOpenPrivacyPolicy)
|
{
|
string url = isOpenPrivacyPolicy ? Constant.URL_PRIVACYPOLICY : Constant.URL_USERAGREEMENT;
|
string titleStr = isOpenPrivacyPolicy ? Language.StringByID(StringId.PrivacyPolicy) : Language.StringByID(StringId.UserAgreement);
|
new WebViewDialog().LoadPage(titleStr, url);
|
}
|
|
/// <summary>
|
/// 检测隐私协议
|
/// </summary>
|
/// <returns></returns>
|
private bool CheckPrivacyPolicy()
|
{
|
if (isAgreePrivacyPolicy == false)
|
{
|
//请同意《用户协议》和《隐私政策》
|
Utlis.ShowTip(Language.StringByID(StringId.PleaseReadAndAgreePrivacyPolicyMsg));
|
return false;
|
}
|
return true;
|
}
|
|
#endregion
|
}
|
}
|