using System;
using Shared;
namespace HDL_ON.UI
{
///
/// app解锁界面
///
public class AppUnlockPage
{
void LoadOption()
{
if (MainPage.LoginUser == null)
{
return;
}
Action action = () =>
{
OnAppConfig.Instance.unlockTime = DateTime.Now;
};
//1:验证指纹
if (OnAppConfig.Instance.appUnlockType.Contains("3"))
{
Action fAction = () =>
{
LoadOption();
};
LoadGesturePage("7", fAction);
TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
{
if (e == TouchIDUtils.TouchIDState.Success)
{
MainPage.Log("KK:TouchID验证成功");
OnAppConfig.Instance.unlockTime = DateTime.Now;
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
}
else
{
///将验证指纹的页面移除
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
if (OnAppConfig.Instance.appUnlockType.Contains("1"))
{
var page = new AppUnlockPasswordPage(OnAppConfig.Instance.appUnlockPasswrod, action);
MainPage.BasePageView.AddChidren(page);
page.LoadPage("7");
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
else if (OnAppConfig.Instance.appUnlockType.Contains("2"))
{
var page = new AppUnlockGesturePage(OnAppConfig.Instance.appUnlockPasswrod, action);
MainPage.BasePageView.AddChidren(page);
page.LoadPage("7");
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
}
};
}
else if (OnAppConfig.Instance.appUnlockType.Contains("4"))
{
//Face ID验证
//
}
else if (OnAppConfig.Instance.appUnlockType.Contains("1"))
{
var page = new AppUnlockPasswordPage(OnAppConfig.Instance.appUnlockPasswrod, action);
MainPage.BasePageView.AddChidren(page);
page.LoadPage("7");
}
else if (OnAppConfig.Instance.appUnlockType.Contains("2"))
{
var page = new AppUnlockGesturePage(OnAppConfig.Instance.appUnlockPasswrod, action);
MainPage.BasePageView.AddChidren(page);
page.LoadPage("7");
}
#if __ANDROID__
new System.Threading.Thread(() =>
{
int i = 0;
while (i > 1)
{
MainPage.Log($"倒计时:{i} sec");
System.Threading.Thread.Sleep(1000);
i++;
}
Application.RunOnMainThread(() =>
{
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
});
})
{ IsBackground = true }.Start();
#else
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
#endif
}
public void LoadPage()
{
if (OnAppConfig.Instance.unlockTime.AddSeconds(60) > DateTime.Now || OnAppConfig.Instance.appUnlockPasswrod == "" || OnAppConfig.Instance.appUnlockPage.Count == 0)
{
return;
}
LoadOption();
}
///
/// 加载指纹验证界面
///
public void LoadGesturePage(string optionType, Action fingerAction)
{
var bodyView = new FrameLayout()
{
BackgroundColor = CSS.CSS_Color.MainBackgroundColor
};
MainPage.BasePageView.AddChidren(bodyView);
bodyView.AddChidren(new Button()
{
Height = Application.GetRealHeight(64),
BackgroundColor = CSS.CSS_Color.BackgroundColor,
});
bodyView.AddChidren(new Button()
{
Y = Application.GetRealHeight(196),
Height = Application.GetRealHeight(42),
TextAlignment = TextAlignment.Center,
TextColor = CSS.CSS_Color.FirstLevelTitleColor,
TextSize = CSS.CSS_FontSize.SubheadingFontSize,
TextID = StringId.PleaseVerifyTheFingerprint,
});
var btnFingerIcon = new Button()
{
Y = Application.GetRealHeight(260),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(102),
Height = Application.GetRealWidth(102),
UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconRed.png",
};
bodyView.AddChidren(btnFingerIcon);
btnFingerIcon.MouseUpEventHandler = (sender, e) =>
{
fingerAction();
};
var btnOtherVerify = new Button()
{
Y = Application.GetRealHeight(527),
Height = Application.GetRealHeight(40),
TextAlignment = TextAlignment.Center,
TextColor = CSS.CSS_Color.MainColor,
TextSize = CSS.CSS_FontSize.TextFontSize,
TextID = OnAppConfig.Instance.appUnlockType.Contains("1") ? StringId.VerifyDigitalPassword : StringId.VerifyGesturePassword,
};
bodyView.AddChidren(btnOtherVerify);
btnOtherVerify.MouseUpEventHandler = (sender, e) =>
{
///将验证指纹的页面移除
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
Action action = () =>
{
OnAppConfig.Instance.unlockTime = DateTime.Now;
};
if (OnAppConfig.Instance.appUnlockType.Contains("1"))
{
var page = new AppUnlockPasswordPage(OnAppConfig.Instance.appUnlockPasswrod, action);
MainPage.BasePageView.AddChidren(page);
page.LoadPage(optionType);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
else if (OnAppConfig.Instance.appUnlockType.Contains("2"))
{
var page = new AppUnlockGesturePage(OnAppConfig.Instance.appUnlockPasswrod, action);
MainPage.BasePageView.AddChidren(page);
page.LoadPage(optionType);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
};
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
//dialog.Show();
Console.WriteLine("-0987654321");
}
}
}