1091 lines
68 KiB
Dart
1091 lines
68 KiB
Dart
import 'package:ef/ef.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:vbvs_app/common/color/appConstants.dart';
|
|
import 'package:vbvs_app/common/color/appFontsize.dart';
|
|
import 'package:vbvs_app/common/util/CommonVariables.dart';
|
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
|
import 'package:vbvs_app/component/tool/CustomCard.dart';
|
|
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
|
import 'package:vbvs_app/controller/time/countdown_controller.dart';
|
|
import 'package:vbvs_app/pages/common/selectDialog.dart';
|
|
import 'package:vbvs_app/pages/mh_page/user/controller/mht_register_controller.dart';
|
|
|
|
class RegisterPage extends GetView<MHTRegisterController> {
|
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
BoxConstraints? bodysize;
|
|
|
|
final ScrollController _scrollController = ScrollController();
|
|
|
|
RegisterPage() {
|
|
controller.model.pdshow = true;
|
|
controller.model.cpdshow = true;
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return LayoutBuilder(builder: (context, cc) {
|
|
bodysize = cc;
|
|
|
|
return GestureDetector(
|
|
child: Container(
|
|
decoration: const BoxDecoration(
|
|
image: DecorationImage(
|
|
image: AssetImage('assets/images/new_background.png'),
|
|
fit: BoxFit.fill,
|
|
),
|
|
),
|
|
child: Scaffold(
|
|
backgroundColor: Colors.transparent,
|
|
appBar: AppBar(
|
|
backgroundColor: Colors.transparent,
|
|
automaticallyImplyLeading: false,
|
|
iconTheme: IconThemeData(color: Colors.white),
|
|
titleSpacing: 0,
|
|
title: Container(
|
|
width: double.infinity,
|
|
height: 180.rpx,
|
|
child: Stack(
|
|
alignment: Alignment.center,
|
|
children: [
|
|
Text(
|
|
'用户注册'.tr,
|
|
textAlign: TextAlign.center,
|
|
style: TextStyle(
|
|
color: Colors.white,
|
|
fontSize: 30.rpx,
|
|
),
|
|
),
|
|
Positioned(
|
|
left: 0.rpx,
|
|
child: returnIconButtomNew(),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
actions: [],
|
|
centerTitle: false,
|
|
),
|
|
body: SingleChildScrollView(
|
|
controller: _scrollController,
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: bodysize!.maxHeight * 1,
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Expanded(
|
|
child: Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
98.rpx, 0, 98.rpx, 0),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: bodysize!.maxHeight * 0.886,
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: bodysize!.maxHeight * 1,
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Align(
|
|
alignment: AlignmentDirectional(-1, 0),
|
|
child: Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0, 184.rpx, 0, 0),
|
|
child: Container(
|
|
width: double.infinity,
|
|
height: 46,
|
|
decoration: BoxDecoration(
|
|
color: Color(0xFFF3F5F6),
|
|
borderRadius: BorderRadius.circular(12),
|
|
),
|
|
constraints: BoxConstraints(
|
|
minHeight: 92.rpx,
|
|
),
|
|
child: Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
10, 0, 35.rpx, 0),
|
|
child: Row(
|
|
mainAxisSize: MainAxisSize.max,
|
|
mainAxisAlignment:
|
|
MainAxisAlignment.spaceBetween,
|
|
children: [
|
|
Expanded(
|
|
child: Container(
|
|
child: Align(
|
|
alignment:
|
|
AlignmentDirectional(
|
|
-1, 0),
|
|
child: TextFormField(
|
|
onChanged: (value) {
|
|
controller.model
|
|
.register_phone =
|
|
value;
|
|
},
|
|
decoration: InputDecoration(
|
|
isDense: true,
|
|
hintText: '请输入手机号'.tr,
|
|
hintStyle: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color:
|
|
Color(0xFF929699),
|
|
fontSize: 26.rpx,
|
|
),
|
|
border: InputBorder.none,
|
|
),
|
|
style: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
fontSize: 26.rpx,
|
|
color: Colors.black,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
|
|
Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0.rpx, 17, 0.rpx, 0),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: 46,
|
|
decoration: BoxDecoration(),
|
|
child: Stack(
|
|
children: [
|
|
Align(
|
|
alignment: AlignmentDirectional(0, 0),
|
|
child: Container(
|
|
width: MediaQuery.sizeOf(context)
|
|
.width,
|
|
height: 46,
|
|
decoration: BoxDecoration(
|
|
color: Color(0xFFF3F5F6),
|
|
borderRadius:
|
|
BorderRadius.circular(12),
|
|
),
|
|
child: Align(
|
|
alignment:
|
|
AlignmentDirectional(0, 0),
|
|
child: Obx(() {
|
|
return TextFormField(
|
|
obscureText: controller
|
|
.model.pdshow!,
|
|
onChanged: (value) {
|
|
controller.model
|
|
.register_pd = value;
|
|
},
|
|
initialValue: controller
|
|
.model.register_pd,
|
|
decoration: InputDecoration(
|
|
labelStyle: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
hintText: '请输入密码'.tr,
|
|
hintStyle: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color:
|
|
Color(0xFF929699),
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
enabledBorder:
|
|
InputBorder.none,
|
|
focusedBorder:
|
|
InputBorder.none,
|
|
errorBorder:
|
|
InputBorder.none,
|
|
focusedErrorBorder:
|
|
InputBorder.none,
|
|
contentPadding:
|
|
EdgeInsetsDirectional
|
|
.fromSTEB(
|
|
10, 12, 0, 0),
|
|
suffixIcon: IconButton(
|
|
icon: Icon(
|
|
// 根据 pdshow 控制图标
|
|
controller
|
|
.model.pdshow!
|
|
? Icons
|
|
.visibility_off
|
|
: Icons
|
|
.visibility,
|
|
color:
|
|
Color(0xFF333333),
|
|
size: 16,
|
|
),
|
|
onPressed: () {
|
|
// 切换 pdshow 状态
|
|
controller.model
|
|
.pdshow =
|
|
!controller.model
|
|
.pdshow!;
|
|
controller
|
|
.updateAll();
|
|
},
|
|
),
|
|
),
|
|
style: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
);
|
|
})),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
|
|
// Align(
|
|
// alignment: AlignmentDirectional(-1, 0),
|
|
// child: Padding(
|
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
|
// 0, 32.rpx, 0, 0),
|
|
// child: Container(
|
|
// width: double.infinity,
|
|
// height: bodysize!.maxHeight * 0.06,
|
|
// decoration: BoxDecoration(
|
|
// color: Color(0xFFF3F5F6),
|
|
// borderRadius: BorderRadius.circular(12),
|
|
// ),
|
|
// constraints: BoxConstraints(
|
|
// minHeight: 92.rpx,
|
|
// ),
|
|
// child: Padding(
|
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
|
// 35.rpx, 0, 35.rpx, 0),
|
|
// child: Row(
|
|
// mainAxisSize: MainAxisSize.max,
|
|
// mainAxisAlignment:
|
|
// MainAxisAlignment.spaceBetween,
|
|
// children: [
|
|
// Expanded(
|
|
// child: Container(
|
|
// child: Align(
|
|
// alignment:
|
|
// AlignmentDirectional(
|
|
// -1, 0),
|
|
// child: Obx(() =>
|
|
// TextFormField(
|
|
// onChanged: (value) {
|
|
// controller.model
|
|
// .register_pd =
|
|
// value;
|
|
// },
|
|
// obscureText: controller
|
|
// .model.pdshow!,
|
|
// decoration:
|
|
// InputDecoration(
|
|
// isDense: true,
|
|
// hintText: '请输入密码'.tr,
|
|
// hintStyle: TextStyle(
|
|
// fontFamily:
|
|
// 'Readex Pro',
|
|
// color: Color(
|
|
// 0xFF929699),
|
|
// fontSize: 26.rpx,
|
|
// ),
|
|
// border:
|
|
// InputBorder.none,
|
|
// suffixIcon:
|
|
// IconButton(
|
|
// icon: Icon(
|
|
// controller.model
|
|
// .pdshow!
|
|
// ? Icons
|
|
// .visibility_off
|
|
// : Icons
|
|
// .visibility,
|
|
// color: Color(
|
|
// 0xFF333333),
|
|
// size: 16,
|
|
// ),
|
|
// onPressed: () {
|
|
// controller.model
|
|
// .pdshow =
|
|
// !controller
|
|
// .model
|
|
// .pdshow!;
|
|
// controller
|
|
// .updateAll();
|
|
// },
|
|
// ),
|
|
// ),
|
|
// style: TextStyle(
|
|
// fontFamily:
|
|
// 'Readex Pro',
|
|
// fontSize: 26.rpx,
|
|
// color: Colors.black,
|
|
// ),
|
|
// )),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ],
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
|
|
Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0.rpx, 17, 0.rpx, 0),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: 46,
|
|
decoration: BoxDecoration(),
|
|
child: Stack(
|
|
children: [
|
|
Align(
|
|
alignment: AlignmentDirectional(0, 0),
|
|
child: Container(
|
|
width: MediaQuery.sizeOf(context)
|
|
.width,
|
|
height: 46,
|
|
decoration: BoxDecoration(
|
|
color: Color(0xFFF3F5F6),
|
|
borderRadius:
|
|
BorderRadius.circular(12),
|
|
),
|
|
child: Align(
|
|
alignment:
|
|
AlignmentDirectional(0, 0),
|
|
child: Obx(() {
|
|
return TextFormField(
|
|
obscureText: controller
|
|
.model.cpdshow!,
|
|
onChanged: (value) {
|
|
controller.model
|
|
.register_confirm_pd =
|
|
value;
|
|
},
|
|
initialValue: controller
|
|
.model
|
|
.register_confirm_pd,
|
|
decoration: InputDecoration(
|
|
labelStyle: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
hintText: '请确认密码'.tr,
|
|
hintStyle: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color:
|
|
Color(0xFF929699),
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
enabledBorder:
|
|
InputBorder.none,
|
|
focusedBorder:
|
|
InputBorder.none,
|
|
errorBorder:
|
|
InputBorder.none,
|
|
focusedErrorBorder:
|
|
InputBorder.none,
|
|
contentPadding:
|
|
EdgeInsetsDirectional
|
|
.fromSTEB(
|
|
10, 12, 0, 0),
|
|
suffixIcon: IconButton(
|
|
icon: Icon(
|
|
// 根据 pdshow 控制图标
|
|
controller
|
|
.model.cpdshow!
|
|
? Icons
|
|
.visibility_off
|
|
: Icons
|
|
.visibility,
|
|
color:
|
|
Color(0xFF333333),
|
|
size: 16,
|
|
),
|
|
onPressed: () {
|
|
// 切换 pdshow 状态
|
|
controller.model
|
|
.cpdshow =
|
|
!controller.model
|
|
.cpdshow!;
|
|
controller
|
|
.updateAll();
|
|
},
|
|
),
|
|
),
|
|
style: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
);
|
|
})),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
|
|
// Align(
|
|
// alignment: AlignmentDirectional(-1, 0),
|
|
// child: Padding(
|
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
|
// 0, 32.rpx, 0, 0),
|
|
// child: Container(
|
|
// width: double.infinity,
|
|
// height: bodysize!.maxHeight * 0.06,
|
|
// decoration: BoxDecoration(
|
|
// color: Color(0xFFF3F5F6),
|
|
// borderRadius: BorderRadius.circular(12),
|
|
// ),
|
|
// constraints: BoxConstraints(
|
|
// minHeight: 92.rpx,
|
|
// ),
|
|
// child: Padding(
|
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
|
// 35.rpx, 0, 35.rpx, 0),
|
|
// child: Row(
|
|
// mainAxisSize: MainAxisSize.max,
|
|
// mainAxisAlignment:
|
|
// MainAxisAlignment.spaceBetween,
|
|
// children: [
|
|
// Expanded(
|
|
// child: Container(
|
|
// child: Align(
|
|
// alignment:
|
|
// AlignmentDirectional(
|
|
// -1, 0),
|
|
// child: Obx(() =>
|
|
// TextFormField(
|
|
// onChanged: (value) {
|
|
// controller.model
|
|
// .register_confirm_pd =
|
|
// value;
|
|
// },
|
|
// obscureText: controller
|
|
// .model.cpdshow!,
|
|
// decoration:
|
|
// InputDecoration(
|
|
// isDense: true,
|
|
// hintText:
|
|
// '请输入确认密码'.tr,
|
|
// hintStyle: TextStyle(
|
|
// fontFamily:
|
|
// 'Readex Pro',
|
|
// color: Color(
|
|
// 0xFF929699),
|
|
// fontSize: 26.rpx,
|
|
// ),
|
|
// border:
|
|
// InputBorder.none,
|
|
// suffixIcon:
|
|
// IconButton(
|
|
// icon: Icon(
|
|
// controller.model
|
|
// .pdshow!
|
|
// ? Icons
|
|
// .visibility_off
|
|
// : Icons
|
|
// .visibility,
|
|
// color: Color(
|
|
// 0xFF333333),
|
|
// size: 16,
|
|
// ),
|
|
// onPressed: () {
|
|
// controller.model
|
|
// .cpdshow =
|
|
// !controller
|
|
// .model
|
|
// .cpdshow!;
|
|
// controller
|
|
// .updateAll();
|
|
// },
|
|
// ),
|
|
// ),
|
|
// style: TextStyle(
|
|
// fontFamily:
|
|
// 'Readex Pro',
|
|
// fontSize: 26.rpx,
|
|
// color: Colors.black,
|
|
// ),
|
|
// )),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ],
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
|
|
// Align(
|
|
// alignment: AlignmentDirectional(-1, 0),
|
|
// child: Padding(
|
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
|
// 0, 32.rpx, 0, 0),
|
|
// child: Container(
|
|
// width: double.infinity,
|
|
// height: bodysize!.maxHeight * 0.06,
|
|
// decoration: BoxDecoration(
|
|
// color: Color(0xFFF3F5F6),
|
|
// borderRadius: BorderRadius.circular(12),
|
|
// ),
|
|
// constraints: BoxConstraints(
|
|
// minHeight: 92.rpx,
|
|
// ),
|
|
// child: Padding(
|
|
// padding: EdgeInsetsDirectional.fromSTEB(
|
|
// 10, 0, 35.rpx, 0),
|
|
// child: Row(
|
|
// mainAxisSize: MainAxisSize.max,
|
|
// mainAxisAlignment:
|
|
// MainAxisAlignment.spaceBetween,
|
|
// children: [
|
|
// Expanded(
|
|
// child: Container(
|
|
// child: Align(
|
|
// alignment:
|
|
// AlignmentDirectional(
|
|
// -1, 0),
|
|
// child: TextFormField(
|
|
// onChanged: (value) {
|
|
// controller.model
|
|
// .register_code =
|
|
// value;
|
|
// },
|
|
// decoration: InputDecoration(
|
|
// isDense: true,
|
|
// hintText: '请输入验证码',
|
|
// hintStyle: TextStyle(
|
|
// fontFamily:
|
|
// 'Readex Pro',
|
|
// color:
|
|
// Color(0xFF929699),
|
|
// fontSize: 26.rpx,
|
|
// ),
|
|
// border: InputBorder.none,
|
|
// ),
|
|
// style: TextStyle(
|
|
// fontFamily: 'Readex Pro',
|
|
// fontSize: 26.rpx,
|
|
// color: Colors.black,
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// Container(
|
|
// width: 1.rpx,
|
|
// height: 38.rpx,
|
|
// color: Color(0xFF929699),
|
|
// ),
|
|
// Obx(() {
|
|
// final countdownController = Get
|
|
// .find<CountdownController>();
|
|
// return InkWell(
|
|
// onTap: () async {
|
|
// if (countdownController
|
|
// .countdown.value !=
|
|
// 0) return;
|
|
// String msg = await controller
|
|
// .getCode(context);
|
|
// if (msg.isEmpty) {
|
|
// countdownController
|
|
// .startCountdown(
|
|
// AppConstants
|
|
// .code_time);
|
|
// }
|
|
// },
|
|
// child: Text(
|
|
// countdownController.countdown
|
|
// .value ==
|
|
// 0
|
|
// ? '获取验证码'.tr
|
|
// : '${countdownController.countdown.value}秒'
|
|
// .tr,
|
|
// style: TextStyle(
|
|
// fontFamily: 'Readex Pro',
|
|
// color: Color(0xFF333333),
|
|
// fontSize: 20.rpx,
|
|
// ),
|
|
// ),
|
|
// );
|
|
// }),
|
|
// ],
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
// ),
|
|
|
|
// 其他部分保持不变...
|
|
|
|
Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0.rpx, 17, 0.rpx, 0),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: 46,
|
|
decoration: BoxDecoration(),
|
|
child: Stack(
|
|
children: [
|
|
Align(
|
|
alignment: AlignmentDirectional(0, 0),
|
|
child: Container(
|
|
width: MediaQuery.sizeOf(context)
|
|
.width,
|
|
height: 46,
|
|
decoration: BoxDecoration(
|
|
color: Color(0xFFF3F5F6),
|
|
borderRadius:
|
|
BorderRadius.circular(12),
|
|
),
|
|
child: Align(
|
|
alignment:
|
|
AlignmentDirectional(0, 0),
|
|
child: TextFormField(
|
|
// focusNode: _focusNode4,
|
|
onChanged: (value) {
|
|
controller.model
|
|
.register_code = value;
|
|
},
|
|
obscureText: false,
|
|
decoration: InputDecoration(
|
|
labelStyle: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
hintText: '请输入验证码'.tr,
|
|
hintStyle: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
color: Color(0xFF929699),
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
enabledBorder:
|
|
InputBorder.none,
|
|
focusedBorder:
|
|
InputBorder.none,
|
|
errorBorder: InputBorder.none,
|
|
focusedErrorBorder:
|
|
InputBorder.none,
|
|
contentPadding:
|
|
EdgeInsetsDirectional
|
|
.fromSTEB(
|
|
10, 0, 0, 5),
|
|
),
|
|
style: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(0.2, 0.1),
|
|
child: Container(
|
|
width: 1.rpx,
|
|
height: 38.rpx,
|
|
decoration: BoxDecoration(
|
|
color: stringToColor("#929699"),
|
|
),
|
|
),
|
|
),
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(0.9, 0),
|
|
child: Container(
|
|
width: MediaQuery.sizeOf(context)
|
|
.width *
|
|
0.157,
|
|
height: MediaQuery.sizeOf(context)
|
|
.height *
|
|
0.014,
|
|
constraints: BoxConstraints(
|
|
minWidth: 118,
|
|
minHeight: 30,
|
|
),
|
|
decoration: BoxDecoration(),
|
|
child: Align(
|
|
alignment:
|
|
AlignmentDirectional(0, 0),
|
|
child: Obx(() {
|
|
final CountdownController
|
|
countdownController =
|
|
Get.find<
|
|
CountdownController>();
|
|
return InkWell(
|
|
onTap: () async {
|
|
if (countdownController
|
|
.countdown.value !=
|
|
0) {
|
|
return;
|
|
}
|
|
if (CommonVariables
|
|
.isNetWorkOn ==
|
|
false) {
|
|
TopSlideNotification.show(
|
|
context,
|
|
text:
|
|
"网络未连接,请开启设备网络后重试"
|
|
.tr,
|
|
textColor:
|
|
themeController
|
|
.currentColor
|
|
.sc9);
|
|
return;
|
|
}
|
|
String msg =
|
|
await controller
|
|
.getCode(context);
|
|
if (msg.isNotEmpty) {
|
|
return;
|
|
}
|
|
countdownController
|
|
.countdown
|
|
.value ==
|
|
0
|
|
? countdownController
|
|
.startCountdown(
|
|
AppConstants
|
|
.code_time)
|
|
: null;
|
|
},
|
|
child: Text(
|
|
countdownController
|
|
.countdown
|
|
.value ==
|
|
0
|
|
? '获取验证码'.tr
|
|
: '${countdownController.countdown.value}' +
|
|
'秒'.tr,
|
|
style: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
color: Color(0xFF333333),
|
|
fontSize: AppFontsize
|
|
.normal_text_size,
|
|
letterSpacing: 0,
|
|
),
|
|
),
|
|
);
|
|
}),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
|
|
Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0, 19, 0, 0),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: bodysize!.maxHeight * 0.022,
|
|
constraints: BoxConstraints(
|
|
minWidth: 466,
|
|
minHeight: 30,
|
|
),
|
|
decoration: BoxDecoration(),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: bodysize!.maxHeight * 0.022,
|
|
constraints: BoxConstraints(
|
|
minWidth: 466,
|
|
minHeight: 30,
|
|
),
|
|
decoration: BoxDecoration(),
|
|
child: Row(
|
|
mainAxisSize: MainAxisSize.max,
|
|
mainAxisAlignment:
|
|
MainAxisAlignment.start,
|
|
children: [
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(0, 0),
|
|
child: Padding(
|
|
padding: EdgeInsetsDirectional
|
|
.fromSTEB(0, 3, 0, 0),
|
|
child: Container(
|
|
width: 36,
|
|
height: 36,
|
|
decoration: BoxDecoration(),
|
|
child: Align(
|
|
alignment:
|
|
AlignmentDirectional(
|
|
0, 0),
|
|
child: Theme(
|
|
data: ThemeData(
|
|
checkboxTheme:
|
|
CheckboxThemeData(
|
|
visualDensity:
|
|
VisualDensity
|
|
.compact,
|
|
materialTapTargetSize:
|
|
MaterialTapTargetSize
|
|
.shrinkWrap,
|
|
shape:
|
|
RoundedRectangleBorder(
|
|
borderRadius:
|
|
BorderRadius
|
|
.circular(
|
|
64),
|
|
),
|
|
),
|
|
unselectedWidgetColor:
|
|
Color(0xFFD3D3D3),
|
|
),
|
|
child: Obx(
|
|
() => Checkbox(
|
|
value: controller
|
|
.model
|
|
.register_agree ??
|
|
false,
|
|
onChanged:
|
|
(newValue) async {
|
|
controller.model
|
|
.register_agree =
|
|
newValue;
|
|
|
|
controller
|
|
.updateAll();
|
|
},
|
|
side: BorderSide(
|
|
width: 1.5,
|
|
color: Colors.white,
|
|
),
|
|
activeColor:
|
|
const Color(
|
|
0xFF84F5FF),
|
|
checkColor:
|
|
Color(0xFF003058),
|
|
visualDensity:
|
|
VisualDensity(
|
|
horizontal:
|
|
-4.0,
|
|
vertical:
|
|
-4.0),
|
|
),
|
|
)),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
Flexible(
|
|
child: Padding(
|
|
padding: EdgeInsetsDirectional
|
|
.fromSTEB(0, 0, 0, 0),
|
|
child: Container(
|
|
width:
|
|
MediaQuery.sizeOf(context)
|
|
.width *
|
|
0.622,
|
|
height:
|
|
MediaQuery.sizeOf(context)
|
|
.height *
|
|
1,
|
|
constraints: BoxConstraints(
|
|
minWidth: 466,
|
|
minHeight: 30,
|
|
),
|
|
decoration: BoxDecoration(),
|
|
child: Container(
|
|
width: 100,
|
|
height: 100,
|
|
decoration: BoxDecoration(),
|
|
child: Row(
|
|
mainAxisSize:
|
|
MainAxisSize.max,
|
|
children: [
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(
|
|
0, 0),
|
|
child: Text(
|
|
'我已阅读并同意'.tr,
|
|
style: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color: Colors.white,
|
|
fontSize: 12,
|
|
letterSpacing: 0,
|
|
),
|
|
),
|
|
),
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(
|
|
0, 0),
|
|
child: InkWell(
|
|
onTap: () {
|
|
Get.toNamed(
|
|
"/userPolicyPageNew",
|
|
arguments:
|
|
getPrivacy(
|
|
2));
|
|
},
|
|
child: Text(
|
|
'《用户协议》'.tr,
|
|
style: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color:
|
|
stringToColor(
|
|
"FF9F66"),
|
|
fontSize: 12,
|
|
letterSpacing: 0,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(
|
|
0, 0),
|
|
child: Text(
|
|
'与'.tr,
|
|
style: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color: Colors.white,
|
|
fontSize: 12,
|
|
letterSpacing: 0,
|
|
),
|
|
),
|
|
),
|
|
Align(
|
|
alignment:
|
|
AlignmentDirectional(
|
|
0, 0),
|
|
child: InkWell(
|
|
onTap: () {
|
|
Get.toNamed(
|
|
"/privacyPolicyPageNew",
|
|
arguments:
|
|
getPrivacy(
|
|
1));
|
|
},
|
|
child: Text(
|
|
'《隐私协议》'.tr,
|
|
style: TextStyle(
|
|
fontFamily:
|
|
'Readex Pro',
|
|
color:
|
|
stringToColor(
|
|
"FF9F66"),
|
|
fontSize: 12,
|
|
letterSpacing: 0,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0, 29, 0, 0),
|
|
child: Container(
|
|
width: bodysize!.maxWidth,
|
|
height: bodysize!.maxHeight * 0.056,
|
|
decoration: BoxDecoration(),
|
|
child: CustomCard(
|
|
borderRadius: 16.rpx,
|
|
gradientDirection:
|
|
GradientDirection.vertical,
|
|
onTap: () async {
|
|
if (CommonVariables.isNetWorkOn ==
|
|
false) {
|
|
TopSlideNotification.show(context,
|
|
text: "网络未连接,请开启设备网络后重试".tr,
|
|
textColor: themeController
|
|
.currentColor.sc9);
|
|
return;
|
|
}
|
|
String msg = await controller
|
|
.registerUser(context);
|
|
if (msg == null || msg.isEmpty) {
|
|
Get.toNamed("/loginPage");
|
|
}
|
|
},
|
|
colors: const [
|
|
Color(0xFFFCFCFC),
|
|
Color(0xFFF8FAF9),
|
|
Color(0XFFECF6F3),
|
|
Color(0XFFD9F0E9),
|
|
Color(0xFFCEECE3)
|
|
],
|
|
child: Container(
|
|
width: double.infinity,
|
|
height: 90.rpx,
|
|
alignment: Alignment.center,
|
|
decoration: BoxDecoration(
|
|
borderRadius:
|
|
BorderRadius.circular(16.rpx),
|
|
),
|
|
child: Text(
|
|
"提交".tr,
|
|
style: TextStyle(
|
|
fontFamily: 'Readex Pro',
|
|
color: stringToColor("#011D33"),
|
|
letterSpacing: 0,
|
|
fontSize: 30.rpx,
|
|
),
|
|
),
|
|
),
|
|
)),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
)),
|
|
));
|
|
});
|
|
}
|
|
}
|