Merge remote-tracking branch 'origin/master'

This commit is contained in:
czz
2025-07-23 13:56:03 +08:00
12 changed files with 682 additions and 296 deletions

View File

@@ -36,7 +36,8 @@ if (flutterVersionName == null) {
} }
android { android {
namespace = "com.taihe.vbvs_app" // namespace = "com.taihe.vbvs_app"
namespace = "com.taihe.mianhuatang"
// compileSdk = flutter.compileSdkVersion // compileSdk = flutter.compileSdkVersion
compileSdk = localProperties.getProperty('flutter.compileSdkVersion').toInteger() compileSdk = localProperties.getProperty('flutter.compileSdkVersion').toInteger()
@@ -55,7 +56,8 @@ android {
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.taihe.vbvs_app" // applicationId "com.taihe.vbvs_app"
applicationId "com.taihe.mianhuatang"
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
// minSdk = flutter.minSdkVersion // minSdk = flutter.minSdkVersion

View File

@@ -6,7 +6,7 @@ plugins {
} }
android { android {
namespace = "com.taihe.vbvs_app" namespace = "com.taihe.mianhuatang"
compileSdk = flutter.compileSdkVersion compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion ndkVersion = flutter.ndkVersion
@@ -21,7 +21,7 @@ android {
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.taihe.vbvs_app" applicationId = "com.taihe.mianhuatang"
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config. // For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion minSdk = flutter.minSdkVersion

View File

@@ -48,7 +48,7 @@
android:enableOnBackInvokedCallback="true" android:enableOnBackInvokedCallback="true"
> >
<activity <activity
android:name="com.taihe.mh_app.MainActivity" android:name="com.taihe.mianhuatang.MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:exported="true" android:exported="true"

View File

@@ -1,4 +1,4 @@
package com.taihe.mh_app package com.taihe.mianhuatang
import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.android.FlutterActivity

View File

@@ -1,4 +1,9 @@
storePassword=mh1234 # storePassword=taihe601
keyPassword=mh1234 # keyPassword=taihe601
keyAlias=Key # keyAlias=testalias
storeFile=test.keystore # storeFile=test.keystore
storePassword=mht@123456
keyPassword=mht@123456
keyAlias=mianhuatang
storeFile=AppKeys.jks

View File

@@ -1,7 +1,7 @@
sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\wyf\\AppData\\Local\\Android\\sdk
flutter.sdk=C:\\dev\\flutter flutter.sdk=D:\\flutter_res\\flutter
=======
flutter.buildMode=release flutter.buildMode=debug
flutter.versionName=1.0.0 flutter.versionName=1.0.0
flutter.versionCode=1 flutter.versionCode=1
flutter.minSdkVersion=22 flutter.minSdkVersion=22

View File

@@ -1,3 +1,3 @@
[ [
"assets/miniapp/mhtControl_1.0.30.zip" "assets/miniapp/mhtControl_1.0.31.zip"
] ]

View File

@@ -961,8 +961,10 @@ class MHTLoginPage extends GetView<MHTLoginController> {
), ),
), ),
), ),
); );
}), }),
Obx(() { Obx(() {
return Visibility( return Visibility(
visible: controller.model.loginStyle == 2 visible: controller.model.loginStyle == 2
@@ -1219,6 +1221,7 @@ class MHTLoginPage extends GetView<MHTLoginController> {
), ),
), ),
), ),
); );
}), }),
Padding( Padding(

View File

@@ -1,6 +1,7 @@
import 'package:ef/ef.dart'; import 'package:ef/ef.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:vbvs_app/common/color/appConstants.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/CommonVariables.dart';
import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart'; import 'package:vbvs_app/common/util/MyUtils.dart';
@@ -93,7 +94,7 @@ class RegisterPage extends GetView<MHTRegisterController> {
0, 184.rpx, 0, 0), 0, 184.rpx, 0, 0),
child: Container( child: Container(
width: double.infinity, width: double.infinity,
height: bodysize!.maxHeight * 0.06, height: 46,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color(0xFFF3F5F6), color: Color(0xFFF3F5F6),
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
@@ -103,7 +104,7 @@ class RegisterPage extends GetView<MHTRegisterController> {
), ),
child: Padding( child: Padding(
padding: EdgeInsetsDirectional.fromSTEB( padding: EdgeInsetsDirectional.fromSTEB(
35.rpx, 0, 35.rpx, 0), 10, 0, 35.rpx, 0),
child: Row( child: Row(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
mainAxisAlignment: mainAxisAlignment:
@@ -148,293 +149,664 @@ class RegisterPage extends GetView<MHTRegisterController> {
), ),
), ),
), ),
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(
Align( padding: EdgeInsetsDirectional.fromSTEB(
alignment: AlignmentDirectional(-1, 0), 0.rpx, 17, 0.rpx, 0),
child: Padding( child: Container(
padding: EdgeInsetsDirectional.fromSTEB( width: bodysize!.maxWidth,
0, 32.rpx, 0, 0), height: 46,
child: Container( decoration: BoxDecoration(),
width: double.infinity, child: Stack(
height: bodysize!.maxHeight * 0.06, children: [
decoration: BoxDecoration( Align(
color: Color(0xFFF3F5F6), alignment: AlignmentDirectional(0, 0),
borderRadius: BorderRadius.circular(12), child: Container(
), width: MediaQuery.sizeOf(context)
constraints: BoxConstraints( .width,
minHeight: 92.rpx, height: 46,
), decoration: BoxDecoration(
child: Padding( color: Color(0xFFF3F5F6),
padding: EdgeInsetsDirectional.fromSTEB( borderRadius:
35.rpx, 0, 35.rpx, 0), BorderRadius.circular(12),
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,
),
)),
),
),
), ),
], child: Align(
), alignment:
), AlignmentDirectional(0, 0),
), child: Obx(() {
), return TextFormField(
), obscureText: controller
.model.pdshow!,
// 验证码输入框
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: TextFormField(
onChanged: (value) { onChanged: (value) {
controller.model controller.model
.register_code = .register_pd = value;
value;
}, },
initialValue: controller
.model.register_pd,
decoration: InputDecoration( decoration: InputDecoration(
isDense: true, labelStyle: TextStyle(
hintText: '请输入验证码', fontFamily:
'Readex Pro',
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
),
hintText: '请输入密码',
hintStyle: TextStyle( hintStyle: TextStyle(
fontFamily: fontFamily:
'Readex Pro', 'Readex Pro',
color: color:
Color(0xFF929699), Color(0xFF929699),
fontSize: 26.rpx, 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();
},
), ),
border: InputBorder.none,
), ),
style: TextStyle( style: TextStyle(
fontFamily: 'Readex Pro', fontFamily: 'Readex Pro',
fontSize: 26.rpx, fontSize: AppFontsize
color: Colors.black, .normal_text_size,
letterSpacing: 0,
), ),
), );
), })),
), ),
),
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,
),
),
);
}),
],
), ),
), ],
), ),
), ),
), ),
// 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: '请确认密码',
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: '请输入验证码',
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
? '获取验证码'
: '${countdownController.countdown.value}' +
''.tr,
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF333333),
fontSize: AppFontsize
.normal_text_size,
letterSpacing: 0,
),
),
);
}),
),
),
),
],
),
),
),
Padding( Padding(
padding: EdgeInsetsDirectional.fromSTEB( padding: EdgeInsetsDirectional.fromSTEB(
0, 19, 0, 0), 0, 19, 0, 0),
@@ -577,10 +949,12 @@ class RegisterPage extends GetView<MHTRegisterController> {
0, 0), 0, 0),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
showCustomConfirmOfWebViewDialog( // showCustomConfirmOfWebViewDialog(
context, // context,
"用户协议", // "用户协议",
"/#/pages/agreement/agreement?type=2&hideHead=true"); // "/#/pages/agreement/agreement?type=2&hideHead=true");
Get.toNamed(
"/userAgreementPage");
}, },
child: Text( child: Text(
'《用户协议》'.tr, '《用户协议》'.tr,
@@ -617,10 +991,12 @@ class RegisterPage extends GetView<MHTRegisterController> {
0, 0), 0, 0),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
showCustomConfirmOfWebViewDialog( // showCustomConfirmOfWebViewDialog(
context, // context,
"隐私协议", // "隐私协议",
"/#/pages/agreement/agreement?type=1&hideHead=true"); // "/#/pages/agreement/agreement?type=1&hideHead=true");
Get.toNamed(
"/privacyPolicyPage");
}, },
child: Text( child: Text(
'《隐私协议》'.tr, '《隐私协议》'.tr,

View File

@@ -90,12 +90,12 @@ BEGIN
BLOCK "040904e4" BLOCK "040904e4"
BEGIN BEGIN
VALUE "CompanyName", "com.example" "\0" VALUE "CompanyName", "com.example" "\0"
VALUE "FileDescription", "vbvs_app" "\0" VALUE "FileDescription", "com.taihe.mianhuatang" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0" VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "vbvs_app" "\0" VALUE "InternalName", "com.taihe.mianhuatang" "\0"
VALUE "LegalCopyright", "Copyright (C) 2025 com.example. All rights reserved." "\0" VALUE "LegalCopyright", "Copyright (C) 2025 com.example. All rights reserved." "\0"
VALUE "OriginalFilename", "vbvs_app.exe" "\0" VALUE "OriginalFilename", "com.taihe.mianhuatang.exe" "\0"
VALUE "ProductName", "vbvs_app" "\0" VALUE "ProductName", "com.taihe.mianhuatang" "\0"
VALUE "ProductVersion", VERSION_AS_STRING "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0"
END END
END END