diff --git a/lib/login/login/starLock_login_page.dart b/lib/login/login/starLock_login_page.dart index 59997b27..476c7075 100755 --- a/lib/login/login/starLock_login_page.dart +++ b/lib/login/login/starLock_login_page.dart @@ -80,231 +80,236 @@ class _StarLockLoginPageState extends State { ), ], ), - body: ListView( - padding: EdgeInsets.only(top: 120.h, left: 40.w, right: 40.w), - children: [ - Container( - padding: EdgeInsets.all(10.w), - child: Center( - child: Image.asset('images/icon_main_sky_1024.png', - width: 110.w, height: 110.w))), - SizedBox(height: 50.w), - Obx(() => CommonItem( - leftTitel: '你所在的国家/地区'.tr, - rightTitle: '', - isHaveLine: true, - isPadding: false, - isHaveRightWidget: true, - isHaveDirection: true, - rightWidget: Text( - '${state.countryName} +${state.countryCode.value}', - textAlign: TextAlign.end, - style: TextStyle( - fontSize: 22.sp, color: AppColors.darkGrayTextColor), - ), - action: () async { - final result = - await Get.toNamed(Routers.selectCountryRegionPage); - if (result != null) { - result as Map; - state.countryCode.value = result['code']; - state.countryKey.value = result['countryName']; - logic.checkIpAction(); - } - }, - )), - LoginInput( - focusNode: logic.state.emailOrPhoneFocusNode, - controller: state.emailOrPhoneController, - onchangeAction: (v) { - logic.checkNext(state.emailOrPhoneController); - }, - leftWidget: Padding( - padding: EdgeInsets.only( - top: 30.w, bottom: 20.w, right: 5.w, left: 5.w), - child: Image.asset( - 'images/icon_login_account.png', - width: 36.w, - height: 36.w, - ), - ), - hintText: '请输入手机号或者邮箱'.tr, - // keyboardType: TextInputType.number, - inputFormatters: [ - // FilteringTextInputFormatter.allow(RegExp('[0-9]')), - LengthLimitingTextInputFormatter(30), - FilteringTextInputFormatter.singleLineFormatter - ]), - SizedBox(height: 10.h), - LoginInput( - focusNode: logic.state.pwdFocusNode, - controller: state.pwdController, - onchangeAction: (v) { - logic.checkNext(state.pwdController); - }, - isPwd: true, - // isSuffixIcon: 2, - leftWidget: Padding( - padding: EdgeInsets.only( - top: 30.w, bottom: 20.w, right: 5.w, left: 5.w), - child: Image.asset( - 'images/icon_login_password.png', - width: 36.w, - height: 36.w, - ), - ), - hintText: '请输入密码'.tr, - inputFormatters: [ - LengthLimitingTextInputFormatter(20), - ]), - // SizedBox(height: 15.h), - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Obx(() => GestureDetector( - onTap: () { - state.agree.value = !state.agree.value; - logic.changeAgreeState(); - }, - child: Container( - // color: Colors.red, - padding: EdgeInsets.only( - left: 5.w, top: 20.w, right: 10.w, bottom: 20.h), - child: Image.asset( - state.agree.value - ? 'images/icon_round_select.png' - : 'images/icon_round_unSelect.png', - width: 35.w, - height: 35.w, - ), - ))), - // SizedBox( - // width: 5.w, - // ), - Flexible( - child: RichText( - text: TextSpan( - text: '我已阅读并同意'.tr, - style: TextStyle( - color: const Color(0xff333333), fontSize: 20.sp), - children: [ - WidgetSpan( - alignment: PlaceholderAlignment.middle, - child: GestureDetector( - child: Text('《${'用户协议'.tr}》', - style: TextStyle( - color: AppColors.mainColor, - fontSize: 20.sp)), - onTap: () { - Get.toNamed(Routers.webviewShowPage, - arguments: { - 'url': XSConstantMacro.userAgreementURL, - 'title': '用户协议'.tr - }); - }, - )), - WidgetSpan( - alignment: PlaceholderAlignment.middle, - child: GestureDetector( - child: Text('《${'隐私政策'.tr}》', - style: TextStyle( - color: AppColors.mainColor, - fontSize: 20.sp)), - onTap: () { - Get.toNamed(Routers.webviewShowPage, - arguments: { - 'url': XSConstantMacro.privacyPolicyURL, - 'title': '隐私政策'.tr - }); - }, - )), - ], - )), - ) - ], - ), - SizedBox(height: 50.w), - Obx(() => SubmitBtn( - btnName: '登录'.tr, - fontSize: 28.sp, - borderRadius: 20.w, - padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - isDisabled: state.canNext.value, - onClick: state.canNext.value - ? () { - if (state.agree.value == false) { - logic.showToast('请先同意用户协议及隐私政策'.tr); - return; - } else { - logic.login(); - } + body: GestureDetector( + onTap: (){ + FocusScope.of(context).unfocus(); + }, + child: ListView( + padding: EdgeInsets.only(top: 120.h, left: 40.w, right: 40.w), + children: [ + Container( + padding: EdgeInsets.all(10.w), + child: Center( + child: Image.asset('images/icon_main_sky_1024.png', + width: 110.w, height: 110.w))), + SizedBox(height: 50.w), + Obx(() => CommonItem( + leftTitel: '你所在的国家/地区'.tr, + rightTitle: '', + isHaveLine: true, + isPadding: false, + isHaveRightWidget: true, + isHaveDirection: true, + rightWidget: Text( + '${state.countryName} +${state.countryCode.value}', + textAlign: TextAlign.end, + style: TextStyle( + fontSize: 22.sp, color: AppColors.darkGrayTextColor), + ), + action: () async { + final result = + await Get.toNamed(Routers.selectCountryRegionPage); + if (result != null) { + result as Map; + state.countryCode.value = result['code']; + state.countryKey.value = result['countryName']; + logic.checkIpAction(); } - : null)), - // SizedBox(height: 20.w), - // Obx(() => Visibility( - // visible: state.isCheckVerifyEnable.value, - // child: SubmitBtn( - // btnName: '一键登录', - // fontSize: 28.sp, - // borderRadius: 20.w, - // padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - // // isDisabled: state.canNext.value, - // onClick: () { - // if (state.agree.value == false) { - // logic.showToast('请先同意用户协议及隐私政策'.tr); - // return; - // } else { - // logic.oneClickLoginAction(); - // } - // }), - // )), - SizedBox(height: 50.w), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - GestureDetector( - child: SizedBox( - // width: 150.w, - height: 50.h, - // color: Colors.red, - child: Center( - child: Text('${'忘记密码'.tr}?', - style: TextStyle( - fontSize: 22.sp, color: AppColors.mainColor)), + }, + )), + LoginInput( + focusNode: logic.state.emailOrPhoneFocusNode, + controller: state.emailOrPhoneController, + onchangeAction: (v) { + logic.checkNext(state.emailOrPhoneController); + }, + leftWidget: Padding( + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 5.w, left: 5.w), + child: Image.asset( + 'images/icon_login_account.png', + width: 36.w, + height: 36.w, ), ), - onTap: () { - Navigator.pushNamed( - context, Routers.starLockForgetPasswordPage); + hintText: '请输入手机号或者邮箱'.tr, + // keyboardType: TextInputType.number, + inputFormatters: [ + // FilteringTextInputFormatter.allow(RegExp('[0-9]')), + LengthLimitingTextInputFormatter(30), + FilteringTextInputFormatter.singleLineFormatter + ]), + SizedBox(height: 10.h), + LoginInput( + focusNode: logic.state.pwdFocusNode, + controller: state.pwdController, + onchangeAction: (v) { + logic.checkNext(state.pwdController); }, - ), - Expanded( - child: SizedBox( - width: 10.sp, - )), - Obx(() => Visibility( - visible: state.isCheckVerifyEnable.value && - state.currentLanguage == 'zh_CN', - child: GestureDetector( - child: SizedBox( - // width: 150.w, - height: 50.h, - // color: Colors.red, - child: Center( - child: Text('一键登录'.tr, - style: TextStyle( - fontSize: 22.sp, - color: AppColors.mainColor)), - ), + isPwd: true, + // isSuffixIcon: 2, + leftWidget: Padding( + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 5.w, left: 5.w), + child: Image.asset( + 'images/icon_login_password.png', + width: 36.w, + height: 36.w, + ), + ), + hintText: '请输入密码'.tr, + inputFormatters: [ + LengthLimitingTextInputFormatter(20), + ]), + // SizedBox(height: 15.h), + Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Obx(() => GestureDetector( + onTap: () { + state.agree.value = !state.agree.value; + logic.changeAgreeState(); + }, + child: Container( + // color: Colors.red, + padding: EdgeInsets.only( + left: 5.w, top: 20.w, right: 10.w, bottom: 20.h), + child: Image.asset( + state.agree.value + ? 'images/icon_round_select.png' + : 'images/icon_round_unSelect.png', + width: 35.w, + height: 35.w, ), - onTap: () { - logic.oneClickLoginAction(context); - }, + ))), + // SizedBox( + // width: 5.w, + // ), + Flexible( + child: RichText( + text: TextSpan( + text: '我已阅读并同意'.tr, + style: TextStyle( + color: const Color(0xff333333), fontSize: 20.sp), + children: [ + WidgetSpan( + alignment: PlaceholderAlignment.middle, + child: GestureDetector( + child: Text('《${'用户协议'.tr}》', + style: TextStyle( + color: AppColors.mainColor, + fontSize: 20.sp)), + onTap: () { + Get.toNamed(Routers.webviewShowPage, + arguments: { + 'url': XSConstantMacro.userAgreementURL, + 'title': '用户协议'.tr + }); + }, + )), + WidgetSpan( + alignment: PlaceholderAlignment.middle, + child: GestureDetector( + child: Text('《${'隐私政策'.tr}》', + style: TextStyle( + color: AppColors.mainColor, + fontSize: 20.sp)), + onTap: () { + Get.toNamed(Routers.webviewShowPage, + arguments: { + 'url': XSConstantMacro.privacyPolicyURL, + 'title': '隐私政策'.tr + }); + }, + )), + ], + )), + ) + ], + ), + SizedBox(height: 50.w), + Obx(() => SubmitBtn( + btnName: '登录'.tr, + fontSize: 28.sp, + borderRadius: 20.w, + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + isDisabled: state.canNext.value, + onClick: state.canNext.value + ? () { + if (state.agree.value == false) { + logic.showToast('请先同意用户协议及隐私政策'.tr); + return; + } else { + logic.login(); + } + } + : null)), + // SizedBox(height: 20.w), + // Obx(() => Visibility( + // visible: state.isCheckVerifyEnable.value, + // child: SubmitBtn( + // btnName: '一键登录', + // fontSize: 28.sp, + // borderRadius: 20.w, + // padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + // // isDisabled: state.canNext.value, + // onClick: () { + // if (state.agree.value == false) { + // logic.showToast('请先同意用户协议及隐私政策'.tr); + // return; + // } else { + // logic.oneClickLoginAction(); + // } + // }), + // )), + SizedBox(height: 50.w), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + GestureDetector( + child: SizedBox( + // width: 150.w, + height: 50.h, + // color: Colors.red, + child: Center( + child: Text('${'忘记密码'.tr}?', + style: TextStyle( + fontSize: 22.sp, color: AppColors.mainColor)), ), - )) - ], - ), - ], + ), + onTap: () { + Navigator.pushNamed( + context, Routers.starLockForgetPasswordPage); + }, + ), + Expanded( + child: SizedBox( + width: 10.sp, + )), + Obx(() => Visibility( + visible: state.isCheckVerifyEnable.value && + state.currentLanguage == 'zh_CN', + child: GestureDetector( + child: SizedBox( + // width: 150.w, + height: 50.h, + // color: Colors.red, + child: Center( + child: Text('一键登录'.tr, + style: TextStyle( + fontSize: 22.sp, + color: AppColors.mainColor)), + ), + ), + onTap: () { + logic.oneClickLoginAction(context); + }, + ), + )) + ], + ), + ], + ), )); }