119 lines
4.6 KiB
Dart
Raw Normal View History

2023-07-18 18:10:57 +08:00
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_logic.dart';
2024-08-01 18:54:32 +08:00
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_state.dart';
import 'package:star_lock/tools/tf_input_haveBorder.dart';
2023-07-18 18:10:57 +08:00
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/submitBtn.dart';
import '../../../../tools/titleAppBar.dart';
class MineUnbindPhoneOrEmailPage extends StatefulWidget {
const MineUnbindPhoneOrEmailPage({Key? key}) : super(key: key);
2023-07-18 18:10:57 +08:00
@override
2024-08-01 18:54:32 +08:00
State<MineUnbindPhoneOrEmailPage> createState() => _MineUnbindPhoneOrEmailState();
2023-07-18 18:10:57 +08:00
}
class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
2024-08-01 18:54:32 +08:00
final MineUnbindPhoneOrEmailLogic logic = Get.put(MineUnbindPhoneOrEmailLogic());
final MineUnbindPhoneOrEmailState state = Get.find<MineUnbindPhoneOrEmailLogic>().state;
2023-07-18 18:10:57 +08:00
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
2024-05-28 10:40:17 +08:00
skyCall: () => TitleAppBar(
2024-08-01 18:54:32 +08:00
barTitle: '修改账号'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
2024-08-01 18:54:32 +08:00
barTitle: '修改账号'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
titleColor: AppColors.blackColor,
),
),
body: Column(
2024-08-01 18:54:32 +08:00
children: <Widget>[
2023-07-18 18:10:57 +08:00
Container(
width: 1.sw,
color: AppColors.greyBackgroundColor,
padding: EdgeInsets.only(left: 15.w, top: 10.h, bottom: 10.h),
child: Text(
2024-08-01 18:54:32 +08:00
'为了你的账号安全,修改账号前请先使用验证码验证'.tr,
style: TextStyle(fontSize: 20.sp),
)),
Obx(() => Container(
padding: EdgeInsets.only(
left: 30.w, right: 30.w, top: 20.h, bottom: 10.h),
child: TFInputHaveBorder(
controller: state.codeController,
onChangeAction: () {
logic.checkNext(state.codeController);
},
2024-07-26 09:21:22 +08:00
label: '请输入验证码'.tr,
rightSlot: GestureDetector(
2024-07-26 09:21:22 +08:00
onTap: state.canResend.value ?logic.sendValidationCode : null,
child: Container(
width: 180.w,
height: 90.h,
padding: EdgeInsets.all(5.h),
margin: EdgeInsets.only(right: 10.w),
child: Center(
child: Text(state.btnText.value,
textAlign: TextAlign.center,
style: TextStyle(
color: AppColors.mainColor,
fontSize: 26.sp,
)),
),
),
)))),
2023-07-18 18:10:57 +08:00
SizedBox(height: 50.w),
Obx(() => SubmitBtn(
2024-08-01 18:54:32 +08:00
btnName: '下一步'.tr,
isDisabled: state.canSub.value,
onClick: () {
if (state.channel.value == '1') {
logic.unbindPhoneTokenRequest();
} else {
logic.unbindEmailTokenRequest();
}
})),
2023-07-18 18:10:57 +08:00
SizedBox(height: 50.w),
Row(
mainAxisAlignment: MainAxisAlignment.end,
2024-08-01 18:54:32 +08:00
children: <Widget>[
2023-07-18 18:10:57 +08:00
GestureDetector(
child: SizedBox(
// width: 150.w,
height: 50.h,
// color: Colors.red,
child: Center(
child: Text(
2024-08-01 18:54:32 +08:00
'${'忘记密码'.tr}',
style: TextStyle(
fontSize: 18.sp, color: AppColors.mainColor)),
2023-07-18 18:10:57 +08:00
),
),
onTap: () {
Navigator.pushNamed(
context, Routers.starLockForgetPasswordPage);
2023-07-18 18:10:57 +08:00
},
),
SizedBox(width: 30.w),
],
),
],
));
2023-07-18 18:10:57 +08:00
}
}