using System;
using System.Text.RegularExpressions;
using System.Threading;
using System.Collections.Generic;
using HDL_ON.UI.CSS;
using Shared;
using HDL_ON.Entity;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI.UI1Login
{
public partial class LoginPage
{
///
/// 加载事件
///
void LoadEventList()
{
LoadPage_SwitchLoginType();
LoadMethod_VisiblePassword();
LoadPage_SwitchLoginMode();
LoadEvent_Login();
LoadPage_SelectionEditText();
LoadPage_RegisterPage();
GetVerificationCode();
LoadMethod_ForgetPassword();
}
///
/// 检测当前配置域名是否一致,不一致则替换
///
///
void CheckAndSetUserRequestHost(ResponsePackNew result)
{
try
{
var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject(result.Data.ToString());
if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl)
{
UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl;
UserInfo.Current.GlobalRegion = mGlobalRegionListObj;
UserInfo.Current.SaveUserInfo();
}
}
catch { }
}
///
/// 点击按钮获取验证码
///
void GetVerificationCode()
{
btnGetVerificationCode.MouseUpEventHandler = (sender, e) =>
{
if (btnGetVerificationCode.IsSelected)
{
string phoneNumber = etAccount.Text.Trim();
if (string.IsNullOrEmpty(phoneNumber))
{
var tip = new Tip()
{
Text = Language.StringByID(StringId.PlsEntryPhoneNumber),
CloseTime = 1,
Direction = AMPopTipDirection.None
};
tip.Show(bodyView);
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
return;
}
if (!Utlis.CheckPhoneNumber(phoneNumber, phoneZoneCode))
{
var tip = new Tip()
{
Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
CloseTime = 1,
Direction = AMPopTipDirection.None
};
tip.Show(bodyView);
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
return;
}
int time = 60;
new Thread(() =>
{
//1.先检查账号是否注册过
var result = pm.GetRegionByAccount(account);
if (result.Code != StateCode.SUCCESS)
{
IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
ShowBtnAccountViewBottomLineError();
return;
}
else
{
//检测当前配置域名是否一致,不一致则替换
CheckAndSetUserRequestHost(result);
//
Application.RunOnMainThread(() =>
{
btnGetVerificationCode.IsSelected = false;
btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
});
new Thread(() =>
{
while (time > 0)
{
time--;
Application.RunOnMainThread(() =>
{
btnGetVerificationCode.Text = time.ToString() + "s";
});
Thread.Sleep(1000);
}
Application.RunOnMainThread(() =>
{
btnGetVerificationCode.IsSelected = true;
btnGetVerificationCode.TextID = StringId.GetVerificationCode;
});
})
{ IsBackground = true }.Start();
//2.1请求获取验证码
var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode);
if (resultObj.Code != StateCode.SUCCESS)
{
//2.2请求获取验证码失败
Application.RunOnMainThread(() =>
{
btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
});
// 提示错误
IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
}
}
})
{ IsBackground = true }.Start();
// btnGetVerificationCode.IsSelected = false ;
// btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
// int time = 60;
// new Thread(() =>
// {
// while (time > 0)
// {
// time--;
// Application.RunOnMainThread(() =>
// {
// btnGetVerificationCode.Text = time.ToString() + "s";
// });
// Thread.Sleep(1000);
// }
// Application.RunOnMainThread(() =>
// {
// btnGetVerificationCode.IsSelected = true;
// btnGetVerificationCode.TextID = StringId.GetVerificationCode;
// });
// })
// { IsBackground = true }.Start();
// new Thread(() =>
// {
// //获取验证码
// var result = pm.GetLoginVerCode(phoneNumber);
// if (result.StateCode.ToUpper() == StateCode.SUCCESS_CODE)
// {
// }
// //登录失败
// else
// {
// string tipStr = "Sever erorr";
// switch (result.StateCode.ToUpper())
// {
// case "USERNAMEORPWDERROR":
// tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
// Application.RunOnMainThread(() =>
// {
// btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
// btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
// });
// break;
// case "ACCOUNTNOEXISTS":
// tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
// Application.RunOnMainThread(() =>
// {
// btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
// btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
// });
// break;
// case "SENDFAIL":
// tipStr = Language.StringByID(StringId.FailedToSendVerificationCode);
// Application.RunOnMainThread(() =>
// {
// btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
// btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
// });
// break;
// case "Self:Net_Error":
// tipStr = Language.StringByID(StringId.NetworkAnomaly);
// break;
// }
// Application.RunOnMainThread(() =>
// {
// //提示原因
// var tip = new Tip()
// {
// Text = tipStr,
// CloseTime = 1,
// Direction = AMPopTipDirection.None
// };
// tip.Show(bodyView);
// });
// }
// })
// { IsBackground = true }.Start();
}
};
}
///
/// 切换登录类型
///
void LoadPage_SwitchLoginType()
{
//选择手机登录
btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
{
if (loginType == 0)
return;
etAccount.Text = registerPhone;
etPassword.Text = "";
#region 切换选中按钮
btnEmailLogin.TextColor = CSS_Color.PromptingColor1;
btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
btnPhoneLogin.TextColor = CSS_Color.MainColor;
btnPhoneLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber);
#endregion
#region 切换登录方式及图标
loginType = 0;
if (btnAccountIcon.Parent != null)
{
btnAccountIcon.RemoveFromParent();
}
accountView.AddChidren(btnGlobalRoaming);
//显示验证码登录方式,手机登录有验证码登录
btnSwitchLoginMode.Visible = true;
#endregion
#region
if (logintMode == 1)
{
if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
{
btnGetVerificationCode.IsSelected = true;
}
btnSwitchLoginMode.TextID = StringId.PasswordLogin;
//passwordView.AddChidren(btnGetVerificationCode);
btnGetVerificationCode.Visible = true;
etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
btnPasswordIcon.IsSelected = true;
if (btnVisiblePassword.Parent != null)
{
btnVisiblePassword.RemoveFromParent();
}
if (btnDividingLineVertical_PasswordView2.Parent != null)
{
btnDividingLineVertical_PasswordView2.RemoveFromParent();
}
if (btnForgetPassword.Parent != null)
{
btnForgetPassword.RemoveFromParent();
}
//验证码不需要隐藏
etPassword.SecureTextEntry = false;
}
#endregion
};
//选择邮箱登录
btnEmailLogin.MouseUpEventHandler += (sender, e) =>
{
if (loginType == 1)
return;
etAccount.Text = registerEmail;
etPassword.Text = "";
#region 切换选中按钮
btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
btnEmailLogin.TextColor = CSS_Color.MainColor;
btnEmailLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryEmailAddress);
#endregion
#region 切换登录类型及图标
loginType = 1;
if (btnGlobalRoaming.Parent != null)
{
btnGlobalRoaming.RemoveFromParent();
}
accountView.AddChidren(btnAccountIcon);
#endregion
//邮箱只有密码登录模式
//logintMode = 0;
//密码登录
btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
passwordView.AddChidren(btnVisiblePassword);
passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
passwordView.AddChidren(btnForgetPassword);
btnPasswordIcon.IsSelected = false;
//if (btnGetVerificationCode.Parent != null)
//{
//btnGetVerificationCode.RemoveFromParent();
btnGetVerificationCode.Visible = false;
//}
//隐藏密码
etPassword.SecureTextEntry = true;
//隐藏验证码登录方式,邮箱登录没有验证码登录
btnSwitchLoginMode.Visible = false;
};
}
///
/// 切换登录方式
/// 验证码/密码
///
void LoadPage_SwitchLoginMode()
{
btnSwitchLoginMode.MouseUpEventHandler = (sender, e) =>
{
logintMode = logintMode == 0 ? 1 : 0;
//清除密码框文本数据
etPassword.Text = "";
//密码登录
if (logintMode == 0)
{
btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
passwordView.AddChidren(btnVisiblePassword);
passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword);
passwordView.AddChidren(btnForgetPassword);
btnPasswordIcon.IsSelected = false;
//if (btnGetVerificationCode.Parent != null)
//{
//btnGetVerificationCode.RemoveFromParent();
btnGetVerificationCode.Visible = false;
//}
//隐藏密码
etPassword.SecureTextEntry = true;
}
//验证码登录
else if (logintMode == 1)
{
if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
{
btnGetVerificationCode.IsSelected = true;
}
btnSwitchLoginMode.TextID = StringId.PasswordLogin;
//passwordView.AddChidren(btnGetVerificationCode);
btnGetVerificationCode.Visible = true;
etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
btnPasswordIcon.IsSelected = true;
if (btnVisiblePassword.Parent != null)
{
btnVisiblePassword.RemoveFromParent();
}
if (btnDividingLineVertical_PasswordView2.Parent != null)
{
btnDividingLineVertical_PasswordView2.RemoveFromParent();
}
if (btnForgetPassword.Parent != null)
{
btnForgetPassword.RemoveFromParent();
}
//验证码不需要隐藏
etPassword.SecureTextEntry = false;
}
};
}
///
/// 文本框焦点变化事件
///
void LoadPage_SelectionEditText()
{
//当焦点在账号文本框时,文本框底线点亮
etAccount.FoucsChanged = (sender, e) =>
{
if (etAccount.Foucs)
{
btnAccountViewBottomLine.BackgroundColor = CSS_Color.MainColor;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
}
else
{
btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
account = etAccount.Text.Trim();
if (loginType == 0)
{
registerPhone = account;
}
else
{
registerEmail = account;
}
if (account.Length == 0)
return;
if (loginType == 0)
{
if (!Utlis.CheckPhoneNumber(registerPhone, phoneZoneCode))
{
var tip = new Tip()
{
Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
CloseTime = 1,
Direction = AMPopTipDirection.None
};
tip.Show(bodyView);
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
}
else
{
if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
{
btnGetVerificationCode.IsSelected = true;
}
}
}
else
{
if (!Utlis.CheckEmail(registerEmail))
{
var tip = new Tip()
{
Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
CloseTime = 1,
Direction = AMPopTipDirection.None
};
tip.Show(bodyView);
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
}
}
}
};
//当焦点在密码文本框时,文本框底线点亮
etPassword.FoucsChanged = (sender, e) =>
{
if (etPassword.Foucs)
{
btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor;
btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
}
else
{
btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
}
};
//当焦点在账号文本框时,点击键盘回撤按键,触发的事件
etAccount.EditorEnterAction += (obj) =>
{
etPassword.Foucs = true;
};
//当焦点在密码文本框时,点击键盘回撤按键,触发的事件
etPassword.EditorEnterAction += (obj) =>
{
Application.HideSoftInput();
};
etPassword.MouseUpEventHandler = (sender, e) =>
{
etPassword.Foucs = true;
};
}
///
/// 隐藏/显示密码
///
void LoadMethod_VisiblePassword()
{
btnVisiblePassword.MouseUpEventHandler += (sender, e) =>
{
btnVisiblePassword.IsSelected = !btnVisiblePassword.IsSelected;
if (btnVisiblePassword.IsSelected)
{
etPassword.SecureTextEntry = false;
}
else
{
etPassword.SecureTextEntry = true;
}
};
}
///
/// 登录按钮点击事件
///
void LoadEvent_Login()
{
btnLogin.MouseUpEventHandler += (sender, e) =>
{
if (btnLogin.IsSelected)
{
//判断是否同意了隐私政策
if (CheckPrivacyPolicy() == false) return;
account = etAccount.Text.Trim();
password = etPassword.Text.Trim();
if (loginType == 0)
{
if (!Utlis.CheckPhoneNumber(account, phoneZoneCode))
{
var tip = new Tip()
{
Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
CloseTime = 1,
Direction = AMPopTipDirection.None
};
tip.Show(bodyView);
return;
}
}
else
{
if (!Utlis.CheckEmail(account))
{
var tip = new Tip()
{
Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
CloseTime = 1,
Direction = AMPopTipDirection.None
};
tip.Show(bodyView);
return;
}
}
//创建登录线程
var loginThread = LoadThread_Login();
waitPage = new Loading();
new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
}
};
#region 当账号密码都输入时,才能点击登录按钮
etAccount.TextChangeEventHandler = (sender, e) =>
{
account = etAccount.Text.Trim();
if (account.Length > 0 && etPassword.Text.Trim().Length > 0)
{
btnLogin.IsSelected = true;
}
else
{
btnLogin.IsSelected = false;
}
if (Regex.IsMatch(account, @"^[1]+\d{10}"))//&& account.Length == 11)
{
btnGetVerificationCode.IsSelected = true;
btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor;
}
else
{
btnGetVerificationCode.IsSelected = false;
btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
}
};
etPassword.TextChangeEventHandler += (sender, e) =>
{
if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0)
{
btnLogin.IsSelected = true;
}
else
{
btnLogin.IsSelected = false;
}
};
#endregion
}
///
/// 加载登录线程
///
Thread LoadThread_Login()
{
var loginThread = new Thread(() =>
{
try
{
//如果是账号密码登录,先检查一次账号是否注册过
if (logintMode == 0)
{
//1.先检查账号是否注册过
var result = pm.GetRegionByAccount(account);
if (result.Code != StateCode.SUCCESS)
{
IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
ShowBtnAccountViewBottomLineError();
return;
}
else
{
//设置用户所注册地区的域名,用户相关操作都用这个域名
CheckAndSetUserRequestHost(result);
}
}
//登录
var loginResult = LoadMethod_Login();
if (!string.IsNullOrEmpty(verAccount))//验证登录账号
{
Application.RunOnMainThread(() =>
{
if (verAccount == etPassword.Text.Trim())
{
//跳转页面----
MainPage.GoUserPage();
return;
}
});
}
if (loginResult)
{
//获取住宅信息
var getResidencesResult = LoadMethod_GetResidences();
if (getResidencesResult)
{
/*
* Wait : 推送注册
*/
/*
查看本地是否存在数据
存在则导出
*/
var isExis = FileUtils.IsExisFolder(DB_ResidenceData.residenceData.CurReginID);
if (isExis)
{
FileUtils.DeleteAllFile();
string regionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID);
FileUtils.RestoreRegionFiles(regionRootPath);
DB_ResidenceData.residenceData.EixtAccount();
OnAppConfig.Instance.RefreshUserConfig();
DB_ResidenceData.InitRoomFunction();
}
if (UserInfo.Current.userEmailInfo == "464027401@qq.com")
{
DB_ResidenceData.residenceData.floors.Add(new Floor() { name = "1F", sid = "09888" });
var r111 = new Room() { sid = "0001", name = "Room-1", floorId = "09888", backgroundImage = "Classification/Room/Roombg.png" };
DB_ResidenceData.rooms.Add(r111);
DB_ResidenceData.residenceData.floors.Add(new Floor() { sid = "000022222", name = "1F" });
r111.SaveRoomData();
new AC()
{
sid = "030101123456780604010001ABCD",
name = "空调",
function = new List() {
new Trait { name="on_off", max=1,min = 0, value_key= new List { "on","off"} },
new Trait { name="mode", max = 2,min =0,value_key = new List{ "auto", "heat", "cool","dry" } },
new Trait { name = "fan",max = 3,min =0,value_key = new List{ "low", "medium", "high" ,"auto"} },
new Trait { name = "set_temperature", max = 32,min=16,value_key = new List{"up","down" } },
},
roomIdList = new List() { "0001" },
lastState = "制冷 中风 18°C",
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 8,
LoopID = 1,
},
}.SaveFunctionData();
new Light()
{
sid = "030101123456780202020002ABCD",
name = "调光灯",
function = new List() {
new Trait { name="brightness", max=100,min = 0, value_key= new List { "up","down"} },
},//"brightness",
roomIdList = new List() { "0001" },
lastState = "20%",
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 9,
LoopID = 1,
},
}.SaveFunctionData();
new Curtain()
{
sid = "030101123456780303010003ABCD",
name = "窗帘模块",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="on_off", max=2,min = 0, value_key= new List { "on","off","stop"} },
},// "curtain",
lastState = "开",
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 7,
LoopID = 1,
},
}.SaveFunctionData();
new Curtain()
{
sid = "030101123456780303030011ABCD",
name = "开合帘",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="on_off", max=100,min = 0, value_key= new List { "on","off","stop"} },
},//"curtaintype",
lastState = "20%",
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 7,
LoopID = 11,
},
}.SaveFunctionData();
new Curtain()
{
sid = "030101123456780503040012ABCD",
name = "卷帘",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="on_off", max=2,min = 0, value_key= new List { "on","off","stop"} },
new Trait { name="percent", max=100,min = 0, value_key= new List { "percent" } },
},// "rollingshutter",
lastState = "20%",
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 17,
LoopID = 1,
},
}.SaveFunctionData();
new FloorHeating()
{
sid = "030101123456780404020004ABCD",
name = "地热",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="on_off", max=1,min = 0, value_key= new List { "on","off"} },
new Trait { name="mode", max = 2,min =0,value_key = new List{ "normal", "day", "night","timer","away" } },
new Trait { name = "set_temperature", max = 32,min=5,value_key = new List{"up","down" } },
},//
lastState = "自动 25°C",
bus_Data = new BusData
{
SubnetID = 111,
DeviceID = 12,
LoopID = 1
}
}.SaveFunctionData();
new Light()
{
sid = "030101123456780202010005ABCD",
name = "吊灯",
function = new List() {
new Trait { name="on_off", max=100,min = 0, value_key= new List { "on","off"} },
},//"on_off",
roomIdList = new List() { "0001" },
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 6,
LoopID = 1,
},
}.SaveFunctionData();
new Light()
{
sid = "030101123456780202040006ABCD",
name = "RGB灯",
function = new List() {
new Trait { name="brightness", max=100,min = 0, value_key= new List { "on","off"} },
new Trait { name="color", max=100,min = 0, value_key= new List { "255", "255", "255" } },
},
roomIdList = new List() { "0001" },
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 4,
LoopID = 1,
},
}.SaveFunctionData();
new Fan()
{
sid = "030101123456781010020006ABCD",
name = "风扇",
function = new List() {
new Trait { name="on_off", max=1,min = 0, value_key= new List { "on","off"} },
new Trait { name="percent", max=7,min = 0, value_key= new List { "percent" } },
},
roomIdList = new List() { "0001" },
bus_Data = new BusData
{
SubnetID = 142,
DeviceID = 4,
LoopID = 11,
},
}.SaveFunctionData();
new TV()
{
sid = "030101123456781010020006ABCD",
name = "电视",
function = new List() {
new Trait { name="on_off", max=1,min = 0, value_key= new List { "on","off"} },
},
roomIdList = new List() { "0001" },
bus_Data = new BusData
{
SubnetID = 142,
DeviceID = 4,
LoopID = 111,
},
}.SaveFunctionData();
new SwitchSocket()
{
sid = "030101123456780101020006ABCD",
name = "插座",
function = new List() {
new Trait { name="on_off", max=1,min = 0, value_key= new List { "on","off"} },
},
roomIdList = new List() { "0001" },
bus_Data = new BusData
{
SubnetID = 42,
DeviceID = 6,
LoopID = 1,
},
}.SaveFunctionData();
new Sensor()
{
sid = "030101123456781005060006ABCD",
name = "PM2.5",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="values", max=1,min = 0, value_key= new List { "22"} },
},
bus_Data = new BusData
{
SubnetID = 111,
DeviceID = 15,
LoopID = 1,
},
}.SaveFunctionData();
new Sensor()
{
sid = "030101123456781005070006ABCD",
name = "CO2",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="values", max=1,min = 0, value_key= new List { "1352"} },
},
bus_Data = new BusData
{
SubnetID = 111,
DeviceID = 15,
LoopID = 1,
},
}.SaveFunctionData();
new Sensor()
{
sid = "030101123456781005020006ABCD",
name = "温度",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="values", max=1,min = 0, value_key= new List { "28"} },
},
bus_Data = new BusData
{
SubnetID = 111,
DeviceID = 15,
LoopID = 1,
},
}.SaveFunctionData();
new Sensor()
{
sid = "030101123456781005050006ABCD",
name = "TVOC",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="values", max=1,min = 0, value_key= new List { "0.3"} },
},
bus_Data = new BusData
{
SubnetID = 111,
DeviceID = 15,
LoopID = 1,
},
}.SaveFunctionData();
new Sensor()
{
sid = "030101123456781005030006ABCD",
name = "湿度",
roomIdList = new List() { "0001" },
function = new List() {
new Trait { name="values", max=1,min = 0, value_key= new List { "15"} },
},
bus_Data = new BusData
{
SubnetID = 111,
DeviceID = 15,
LoopID = 1,
},
}.SaveFunctionData();
DB_ResidenceData.residenceData.SaveResidenceData();
}
Application.RunOnMainThread(() =>
{
//跳转页面----
MainPage.GoUserPage();
});
}
else
{
//2020-11-13 待确认
//获取住宅失败,重新标记为未登录状态
UserInfo.Current.lastTime = DateTime.MinValue;
UserInfo.Current.SaveUserInfo();
//登录失败,请先添加住宅!
Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.FailedGetHomeList));
}
}
}
catch (Exception ex)
{
MainPage.Log($"LoginPage : {ex.Message}");
}
finally
{
Application.RunOnMainThread(() =>
{
if (waitPage != null)
{
waitPage.RemoveFromParent();
waitPage = null;
}
});
}
})
{ IsBackground = true };
return loginThread;
}
///
/// 调用登录接口登录
///
bool LoadMethod_Login()
{
var result = false;
ResponsePackNew loginResult;
if (logintMode == 0 || loginType == 1)
{
//调用登录接口
loginResult = pm.LoginByPassword(account, password);
}
else
{
//调用验证码登录接口
loginResult = pm.LoginValidCode(account, password);
}
if (loginResult.Code == StateCode.SUCCESS)
{
var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject(loginResult.Data.ToString());
// UserInfo.Current = new UserInfo
//{
// userType = revertData.userType,
// accountString = account,
// password = password,
// lastTime = DateTime.Now,
// ID = revertData.userId,
// loginTokenString = revertData.headerPrefix + revertData.accessToken,
// refreshToken = revertData.refreshToken,
// userName = revertData.name
//};
UserInfo.Current.userType = revertData.userType;
UserInfo.Current.accountString = account;
//UserInfo.Current.password = password;
UserInfo.Current.lastTime = DateTime.Now;
UserInfo.Current.ID = revertData.userId;
UserInfo.Current.loginTokenString = revertData.headerPrefix + revertData.accessToken;
UserInfo.Current.refreshToken = revertData.refreshToken;
UserInfo.Current.userName = revertData.name;
UserInfo.Current.SaveUserInfo();
MainPage.Log("登录成功。");
result = true;
//获取用户信息
new Thread(() =>
{
pm.GetUserInfo();
})
{ IsBackground = true }.Start();
}
//登录失败
else
{
//账号或者密码错误
Application.RunOnMainThread(() =>
{
if (loginResult.Code == "10008")
{
//用户名或密码错误
btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
}
else if (loginResult.Code == "10010")
{
//用户不存在
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
}
else if (loginResult.Code == "14")
{
btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
}
waitPage.Hide();
});
IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
}
return result;
}
///
/// 获取住宅列表
///
bool LoadMethod_GetResidences()
{
var result = false;
var responsePack = pm.GetHomePager();
if (responsePack == StateCode.SUCCESS)
{
//2020-11-13 待确认,没有住宅,不算登录成功
if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0)
{
result = true;
}
//result = true;
}
else
{
// 提示错误
IMessageCommon.Current.ShowErrorInfoAlter(responsePack);
}
return result;
}
///
/// 加载注册界面
///
void LoadPage_RegisterPage()
{
btnRegister.MouseUpEventHandler += (sender, e) =>
{
//回调事件
//Action callBackAction = () =>
//{
// Application.RunOnMainThread(() =>
// {
// try
// {
// }
// catch (Exception ex)
// {
// MainPage.Log($"login callBackAction : {ex.Message}");
// }
// });
//};
//判断是否同意了隐私政策
if (CheckPrivacyPolicy() == false) return;
var registerPage = new RegisterPage();
registerPage.Show();
registerPage.ShowDialog();
};
}
///
/// 忘记密码
///
void LoadMethod_ForgetPassword()
{
btnForgetPassword.MouseUpEventHandler += (sender, e) =>
{
Action callBackAction = (callBackPar_Action) =>
{
Application.RunOnMainThread(() =>
{
try
{
etAccount.Text = callBackPar_Action;
}
catch (Exception ex)
{
MainPage.Log($"login callBackAction : {ex.Message}");
}
});
};
var forgetPasswordDialog = new ForgetPasswordPage(callBackAction);
forgetPasswordDialog.Show();
forgetPasswordDialog.ShowDialog();
};
}
///
/// 用户不存在
///
void ShowBtnAccountViewBottomLineError()
{
Application.RunOnMainThread(() =>
{
//用户不存在
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
});
}
}
}