1,登录页面新增演示模式入口

This commit is contained in:
Daisy 2024-03-05 15:54:51 +08:00
parent 06e599b990
commit 2f207db3ec
2 changed files with 111 additions and 58 deletions

View File

@ -49,18 +49,26 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
children: [
Container(
padding: EdgeInsets.all(10.w),
child: Center(child: Image.asset('images/icon_main_1024.png', width: 110.w, height: 110.w))),
child: Center(
child: Image.asset('images/icon_main_1024.png',
width: 110.w, height: 110.w))),
SizedBox(height: 50.w),
LoginInput(
controller: state.emailOrPhoneController,
onchangeAction: (v){
onchangeAction: (v) {
logic.checkNext(state.emailOrPhoneController);
},
leftWidget: Padding(
padding: EdgeInsets.only(top: 30.w, bottom: 20.w, right: 20.w, left: 5.w),
child: Image.asset('images/icon_login_account.png', width: 36.w, height: 36.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 5.w),
child: Image.asset(
'images/icon_login_account.png',
width: 36.w,
height: 36.w,
),
),
hintText: TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,
hintText:
TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,
keyboardType: TextInputType.number,
inputFormatters: [
// FilteringTextInputFormatter.allow(RegExp('[0-9]')),
@ -69,15 +77,21 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
SizedBox(height: 10.h),
LoginInput(
controller: state.pwdController,
onchangeAction: (v){
onchangeAction: (v) {
logic.checkNext(state.pwdController);
},
isPwd: true,
leftWidget: Padding(
padding: EdgeInsets.only(top: 30.w, bottom: 20.w, right: 20.w, left: 5.w),
child: Image.asset('images/icon_login_password.png', width: 36.w, height: 36.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 5.w),
child: Image.asset(
'images/icon_login_password.png',
width: 36.w,
height: 36.w,
),
),
hintText: "${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.password!.tr}",
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.password!.tr}",
inputFormatters: [
LengthLimitingTextInputFormatter(20),
]),
@ -86,41 +100,55 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
mainAxisAlignment: MainAxisAlignment.start,
children: [
Obx(() => GestureDetector(
onTap: (){
onTap: () {
state.agree.value = !state.agree.value;
logic.changeAgreeState();
},
child: Image.asset(state.agree.value ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png', width: 30.w, height: 30.w,)
)),
SizedBox(width: 15.w,),
child: Image.asset(
state.agree.value
? 'images/icon_round_select.png'
: 'images/icon_round_unSelect.png',
width: 30.w,
height: 30.w,
))),
SizedBox(
width: 15.w,
),
Flexible(
child: RichText(
text: TextSpan(
text: TranslationLoader.lanKeys!.readAndAgree!.tr,
style: TextStyle(color: const Color(0xff333333), fontSize: 20.sp),
style: TextStyle(
color: const Color(0xff333333), fontSize: 20.sp),
children: [
WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text('${TranslationLoader.lanKeys!.userAgreement!.tr}', style: TextStyle(color: AppColors.mainColor, fontSize: 20.sp)),
child: Text(
'${TranslationLoader.lanKeys!.userAgreement!.tr}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 20.sp)),
onTap: () {
Get.toNamed(Routers.webviewShowPage,
arguments: {
"url": XSConstantMacro.userAgreementURL,
"title": '用户协议'
});
Get.toNamed(Routers.webviewShowPage, arguments: {
"url": XSConstantMacro.userAgreementURL,
"title": '用户协议'
});
},
)),
WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text('${TranslationLoader.lanKeys!.privacyPolicy!.tr}', style: TextStyle( color: AppColors.mainColor, fontSize: 20.sp)),
child: Text(
'${TranslationLoader.lanKeys!.privacyPolicy!.tr}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 20.sp)),
onTap: () {
Get.toNamed(Routers.webviewShowPage,
arguments: {
"url": XSConstantMacro.privacyPolicyURL,
"title": '隐私政策'
});
Get.toNamed(Routers.webviewShowPage, arguments: {
"url": XSConstantMacro.privacyPolicyURL,
"title": '隐私政策'
});
},
)),
],
@ -135,10 +163,11 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
isDisabled: state.canNext.value,
onClick: state.canNext.value ? (){
logic.login();
}: null)
),
onClick: state.canNext.value
? () {
logic.login();
}
: null)),
SizedBox(height: 50.w),
Row(
mainAxisAlignment: MainAxisAlignment.center,
@ -149,11 +178,34 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
height: 50.h,
// color: Colors.red,
child: Center(
child: Text('${TranslationLoader.lanKeys!.forgetPassword!.tr}', style: TextStyle(fontSize: 22.sp, color: AppColors.mainColor)),
child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
style: TextStyle(
fontSize: 22.sp, color: AppColors.mainColor)),
),
),
onTap: () {
Navigator.pushNamed(context, Routers.starLockForgetPasswordPage);
Navigator.pushNamed(
context, Routers.starLockForgetPasswordPage);
},
),
Expanded(
child: SizedBox(
width: 10.sp,
)),
GestureDetector(
child: SizedBox(
// width: 150.w,
height: 50.h,
// color: Colors.red,
child: Center(
child: Text('演示模式',
style: TextStyle(
fontSize: 22.sp, color: AppColors.mainColor)),
),
),
onTap: () {
Get.toNamed(Routers.demoModeLockDetailPage);
},
)
],

View File

@ -22,7 +22,6 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
@override
void initState() {
// TODO: implement initState
super.initState();
}
@ -35,17 +34,21 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
haveBack: true,
backgroundColor: AppColors.mainColor,
),
body: Container(
width: 1.sw,
height: 1.sh - ScreenUtil().statusBarHeight * 2,
color: Colors.white,
child: Column(
children: [
topTip(),
topWidget(),
Expanded(child: bottomWidget())
],
),
body: ListView(
children: [
Container(
width: 1.sw,
height: 1.sh - ScreenUtil().statusBarHeight,
color: Colors.white,
child: Column(
children: [
topTip(),
topWidget(),
Expanded(child: bottomWidget())
],
),
),
],
));
}
@ -72,6 +75,7 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
Widget topWidget() {
// KeyInfos keyInfo = widget.lockMainEntity.data!.keyInfos![0];
return Column(
mainAxisSize: MainAxisSize.min,
children: [
SizedBox(height: 30.h),
Stack(
@ -231,7 +235,8 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
showWidgetArr.add(bottomItem('images/main/icon_main_clockingIn.png',
TranslationLoader.lanKeys!.checkingIn!.tr, () {
// gotoLogin();
Get.toNamed(Routers.checkingInListPage, arguments: LockListInfoItemEntity());
Get.toNamed(Routers.checkingInListPage,
arguments: LockListInfoItemEntity());
}));
// }
@ -241,9 +246,8 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
TranslationLoader.lanKeys!.electronicKey!.tr, () {
// gotoLogin();
Get.toNamed(Routers.electronicKeyListPage, arguments: {
"keyInfo": LockListInfoItemEntity()
});
Get.toNamed(Routers.electronicKeyListPage,
arguments: {"keyInfo": LockListInfoItemEntity()});
}),
//
@ -251,9 +255,8 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
TranslationLoader.lanKeys!.password!.tr, () {
// gotoLogin();
Get.toNamed(Routers.passwordKeyListPage, arguments: {
"keyInfo": LockListInfoItemEntity()
});
Get.toNamed(Routers.passwordKeyListPage,
arguments: {"keyInfo": LockListInfoItemEntity()});
}),
// ic卡
@ -261,8 +264,7 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
TranslationLoader.lanKeys!.card!.tr, () {
// gotoLogin();
Get.toNamed(Routers.cardListPage,
arguments: {"lockId": 0});
Get.toNamed(Routers.cardListPage, arguments: {"lockId": 0});
}),
//
@ -315,9 +317,8 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
TranslationLoader.lanKeys!.authorizedAdmin!.tr, () {
// gotoLogin();
Get.toNamed(Routers.authorizedAdminListPage, arguments: {
"keyInfo": LockListInfoItemEntity()
});
Get.toNamed(Routers.authorizedAdminListPage,
arguments: {"keyInfo": LockListInfoItemEntity()});
}),
//
bottomItem('images/main/icon_main_operatingRecord.png',
@ -332,7 +333,8 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
Get.toNamed(Routers.videoLogPage);
}),
//
bottomItem('images/main/icon_lockDetail_messageReminding.png', "消息提醒", () {
bottomItem('images/main/icon_lockDetail_messageReminding.png', "消息提醒",
() {
Get.toNamed(Routers.msgNotificationPage);
}),
//
@ -378,5 +380,4 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
// Get.toNamed(Routers.selectLockTypePage);
logic.showToast("演示模式");
}
}