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
|
{
|
|
/// <summary>
|
/// 加载事件
|
/// </summary>
|
void LoadEventList()
|
{
|
LoadPage_SwitchLoginType();
|
LoadMethod_VisiblePassword();
|
LoadPage_SwitchLoginMode();
|
LoadEvent_Login();
|
LoadPage_SelectionEditText();
|
LoadPage_RegisterPage();
|
GetVerificationCode();
|
LoadMethod_ForgetPassword();
|
}
|
|
/// <summary>
|
/// 检测当前配置域名是否一致,不一致则替换
|
/// </summary>
|
/// <param name="result"></param>
|
void CheckAndSetUserRequestHost(ResponsePackNew result)
|
{
|
try
|
{
|
var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString());
|
if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl)
|
{
|
UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl;
|
UserInfo.Current.GlobalRegion = mGlobalRegionListObj;
|
UserInfo.Current.SaveUserInfo();
|
}
|
}
|
catch { }
|
}
|
|
/// <summary>
|
/// 点击按钮获取验证码
|
/// </summary>
|
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);
|
|
//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);
|
}
|
else
|
{
|
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();
|
}
|
}
|
|
})
|
{ IsBackground = true }.Start();
|
|
}
|
};
|
}
|
|
/// <summary>
|
/// 切换登录类型
|
/// </summary>
|
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;
|
};
|
}
|
|
/// <summary>
|
/// 切换登录方式
|
/// 验证码/密码
|
/// </summary>
|
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;
|
}
|
};
|
}
|
|
/// <summary>
|
/// 文本框焦点变化事件
|
/// </summary>
|
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;
|
};
|
|
}
|
|
/// <summary>
|
/// 隐藏/显示密码
|
/// </summary>
|
void LoadMethod_VisiblePassword()
|
{
|
btnVisiblePassword.MouseUpEventHandler += (sender, e) =>
|
{
|
btnVisiblePassword.IsSelected = !btnVisiblePassword.IsSelected;
|
if (btnVisiblePassword.IsSelected)
|
{
|
etPassword.SecureTextEntry = false;
|
}
|
else
|
{
|
etPassword.SecureTextEntry = true;
|
}
|
};
|
}
|
|
/// <summary>
|
/// 登录按钮点击事件
|
/// </summary>
|
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
|
}
|
|
/// <summary>
|
/// 加载登录线程
|
/// </summary>
|
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 = "空调",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
|
new FunctionAttributes { key="mode", max = 2,min =0,value = new List<string>{ "auto", "heat", "cool","dry" } },
|
new FunctionAttributes { key = "fan",max = 3,min =0,value = new List<string>{ "low", "medium", "high" ,"auto"} },
|
new FunctionAttributes { key = "set_temperature", max = 32,min=16,value = new List<string>{"up","down" } },
|
},
|
roomIds = new List<string>() { "0001" },
|
lastState = "制冷 中风 18°C",
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Light()
|
{
|
sid = "030101123456780202020002ABCD",
|
name = "调光灯",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="brightness", max=100,min = 0, value= new List<string> { "up","down"} },
|
},//"brightness",
|
roomIds = new List<string>() { "0001" },
|
lastState = "20%",
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
|
}.SaveFunctionData();
|
new Curtain()
|
{
|
sid = "030101123456780303010003ABCD",
|
name = "窗帘模块",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
|
},// "curtain",
|
lastState = "开",
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Curtain()
|
{
|
sid = "030101123456780303030011ABCD",
|
name = "开合帘",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off","stop"} },
|
},//"curtaintype",
|
lastState = "20%",
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 11,
|
},
|
}.SaveFunctionData();
|
new Curtain()
|
{
|
sid = "030101123456780503040012ABCD",
|
name = "卷帘",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
|
new FunctionAttributes { key="percent", max=100,min = 0, value= new List<string> { "percent" } },
|
|
},// "rollingshutter",
|
lastState = "20%",
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new FloorHeating()
|
{
|
sid = "030101123456780404020004ABCD",
|
name = "地热",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
|
new FunctionAttributes { key="mode", max = 2,min =0,value = new List<string>{ "normal", "day", "night","timer","away" } },
|
new FunctionAttributes { key = "set_temperature", max = 32,min=5,value = new List<string>{"up","down" } },
|
},//
|
lastState = "自动 25°C",
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1
|
}
|
}.SaveFunctionData();
|
new Light()
|
{
|
sid = "030101123456780202010005ABCD",
|
name = "吊灯",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off"} },
|
},//"on_off",
|
roomIds = new List<string>() { "0001" },
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Light()
|
{
|
sid = "030101123456780202040006ABCD",
|
name = "RGB灯",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="brightness", max=100,min = 0, value= new List<string> { "on","off"} },
|
new FunctionAttributes { key="color", max=100,min = 0, value= new List<string> { "255", "255", "255" } },
|
},
|
roomIds = new List<string>() { "0001" },
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Fan()
|
{
|
sid = "030101123456781010020006ABCD",
|
name = "风扇",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
|
new FunctionAttributes { key="percent", max=7,min = 0, value= new List<string> { "percent" } },
|
},
|
roomIds = new List<string>() { "0001" },
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 11,
|
},
|
}.SaveFunctionData();
|
new TV()
|
{
|
sid = "030101123456781010020006ABCD",
|
name = "电视",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
|
},
|
roomIds = new List<string>() { "0001" },
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 111,
|
},
|
}.SaveFunctionData();
|
new SwitchSocket()
|
{
|
sid = "030101123456780101020006ABCD",
|
name = "插座",
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
|
},
|
roomIds = new List<string>() { "0001" },
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Sensor()
|
{
|
sid = "030101123456781005060006ABCD",
|
name = "PM2.5",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "22"} },
|
},
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Sensor()
|
{
|
sid = "030101123456781005070006ABCD",
|
name = "CO2",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "1352"} },
|
},
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Sensor()
|
{
|
sid = "030101123456781005020006ABCD",
|
name = "温度",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "28"} },
|
},
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Sensor()
|
{
|
sid = "030101123456781005050006ABCD",
|
name = "TVOC",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "0.3"} },
|
},
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
loopId = 1,
|
},
|
}.SaveFunctionData();
|
new Sensor()
|
{
|
sid = "030101123456781005030006ABCD",
|
name = "湿度",
|
roomIds = new List<string>() { "0001" },
|
attributes = new List<FunctionAttributes>() {
|
new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "15"} },
|
},
|
bus_Data = new BusData
|
{
|
addresses = "2A",
|
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;
|
}
|
/// <summary>
|
/// 调用登录接口登录
|
/// </summary>
|
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<UserLoginRes>(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;
|
}
|
|
/// <summary>
|
/// 获取住宅列表
|
/// </summary>
|
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;
|
}
|
|
/// <summary>
|
/// 加载注册界面
|
/// </summary>
|
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();
|
};
|
}
|
|
/// <summary>
|
/// 忘记密码
|
/// </summary>
|
void LoadMethod_ForgetPassword()
|
{
|
btnForgetPassword.MouseUpEventHandler += (sender, e) =>
|
{
|
Action<string> 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();
|
|
};
|
}
|
|
/// <summary>
|
/// 用户不存在
|
/// </summary>
|
void ShowBtnAccountViewBottomLineError()
|
{
|
Application.RunOnMainThread(() =>
|
{
|
//用户不存在
|
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
|
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
|
});
|
}
|
}
|
}
|