using System;
using System.Collections.Generic;
using HDL_ON.DAL;
using HDL_ON.UI;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON
{
public static class MainPage
{
public static FrameLayout BaseView { get; internal set; }
public static PageLayout BasePageView { get; set; }
public static bool DisplayCompleted = false;
public static UserInfo LoginUser;
public static string VersionString = "1.0.0924";
public static Entity.CityInfo cityInfo = new Entity.CityInfo();
///
/// 天气刷新action
///
public static Action RefreshAir;
///
/// 无登录模式
///
public static bool NoLoginMode = false;
///
/// 远程模式
///
public static bool IsRemote = false;
///
/// 公司代码
/// 预留第三方定制标记
/// 0:HDL
///
public static int Company = 0;
///
/// 是否全面屏手机
///
public static bool Increase
{
get
{
#if __IOS__
if (Application.PhoneType>10)
{
return true;
}
return false;
#else
return false;
#endif
}
}
public static void Show()
{
try
{
Application.DesignWidth = 375;
Application.DesignHeight = 667;
BaseView = Application.MainPage;
Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor;
BusSocket.Start(6000);
CommonPage.InitReceiveEvent();
LoginUser = Newtonsoft.Json.JsonConvert.DeserializeObject(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile("UserInfo_File")));
//判断需不需要登录,有没有登录,或者登录是否过期,
if (LoginUser == null || !LoginUser.IsLogin)
{
GoLoginPage(LoginUser);
}
else
{
//BusSocket.Start(6688);
//CommonPage.InitReceiveEvent();
//Control.ReadGatewayIPAddress();
//if(Entity.DB_ResidenceData.residenceData.GatewayType == 1)
//{
// Control.ReadGatewayIPAddress();
//}
//else
//{
//BusSocket.Start(6000);
//CommonPage.InitReceiveEvent();
//}
new System.Threading.Thread(() =>
{
var pm =new DAL.Server.HttpServerRequest();
pm.GetUserInfo();//刷新个人信息
})
{ IsBackground = true }.Start();
new System.Threading.Thread(() =>
{
var pm = new DAL.Server.HttpServerRequest();
pm.GetHomePager();//刷新住宅信息
})
{ IsBackground = true }.Start();
GoUserPage();
//启动密码验证
new AppUnlockPage().LoadPage();
//读取音乐信息
UI.Music.A31MusicModel.ReadMusicStates();
#if DEBUG
new HDL_ON.DAL.Net.TcpListener().OpenServer(8586);
#endif
}
}
catch (Exception ex)
{
Log("root erorr : " + ex.Message);
}
finally
{
//Application.RunOnMainThread(() => {
// Application.HideSoftInput();
//});
}
}
///
/// 进入登录界面
///
public static void GoLoginPage(UserInfo userInfo =null)
{
BaseView.RemoveAll();
BaseView.BackgroundColor = CSS_Color.BackgroundColor;
var fisrtView = new UI.UI1Login.LoginPage();
fisrtView.BackgroundColor = CSS_Color.MainBackgroundColor;
BaseView.AddChidren(fisrtView);
fisrtView.LoadView(userInfo);
}
///
/// 进入主页
///
public static void GoUserPage()
{
BaseView.RemoveAll();
BasePageView = new PageLayout();
BasePageView.ScrollEnabled = false;
BasePageView.IsShowPoint = false;
BasePageView.PageChange = (sender, e) => {
if (e < BasePageView.ChildrenCount - 1)
{
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
}
while (e < BasePageView.ChildrenCount - 1)
{
BasePageView.GetChildren(BasePageView.ChildrenCount - 1).RemoveFromParent();
}
};
BasePageView.MouseDownEventHandler += (sender, e) => {
BasePageView.ScrollEnabled = true;
};
BasePageView.MouseUpEventHandler += (sender, e) => {
BasePageView.ScrollEnabled = false;
};
BaseView.AddChidren(BasePageView);
//跳转页面----
var userPage = new UserPage();
BasePageView.AddChidren(userPage);
userPage.LoadPage();
BasePageView.PageIndex = 0;
}
///
/// 自定义日志输出
///
public static void Log(string msg)
{
#if DEBUG
Console.WriteLine(msg);
#endif
}
}
}