This commit is contained in:
魏少阳 2024-05-03 10:13:32 +08:00
commit a6ccd4d7f7
8 changed files with 104 additions and 71 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -316,7 +316,7 @@ SPEC CHECKSUMS:
flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907 flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907
flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e
flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82 flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82
fluttertoast: 9f2f8e81bb5ce18facb9748d7855bf5a756fe3db fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265
fluwx: daa284756ce53442b3d0417ceeda66e981906811 fluwx: daa284756ce53442b3d0417ceeda66e981906811
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458 google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458
GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4

View File

@ -28,6 +28,8 @@ class F {
static String get name => appFlavor?.name ?? ''; static String get name => appFlavor?.name ?? '';
static bool get isXHJ => appFlavor == Flavor.xhj;
//便 //便
static dynamic sw( static dynamic sw(
{required fCallFunction defaultCall, fCallFunction? xhjCall}) { {required fCallFunction defaultCall, fCallFunction? xhjCall}) {

View File

@ -78,7 +78,8 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
// color: Colors.red, // color: Colors.red,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(30.h)), borderRadius: BorderRadius.all(Radius.circular(30.h)),
border: Border.all(width: 1.0, color: AppColors.greyLineColor)), border:
Border.all(width: 1.0, color: AppColors.greyLineColor)),
child: Row( child: Row(
children: [ children: [
GestureDetector( GestureDetector(
@ -146,40 +147,42 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
state.countryCode.value = result['code']; state.countryCode.value = result['code'];
state.countryName.value = result['countryName']; state.countryName.value = result['countryName'];
} }
AppLog.log("路由返回值: $result, countryCode:${logic.state.countryCode}"); AppLog.log(
"路由返回值: $result, countryCode:${logic.state.countryCode}");
}, },
child: Obx(() => SizedBox( child: Obx(() => SizedBox(
height: 70.h, height: 70.h,
child: Row( child: Row(
children: [
SizedBox(width: 5.w),
Expanded(
child: Text("${"你所在的".tr}${TranslationLoader.lanKeys!.countryAndRegion!.tr}",
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor))),
SizedBox(width: 20.w),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
Text( SizedBox(width: 5.w),
state.isIphoneType.value Expanded(
? '${state.countryName.value} +${state.countryCode.value}' child: Text(
: state.countryName.value, "${"你所在的".tr}${TranslationLoader.lanKeys!.countryAndRegion!.tr}",
textAlign: TextAlign.end, style: TextStyle(
style: TextStyle( fontSize: 26.sp, color: AppColors.blackColor))),
fontSize: 26.sp, color: AppColors.blackColor), SizedBox(width: 20.w),
) Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text(
state.isIphoneType.value
? '${state.countryName.value} +${state.countryCode.value}'
: state.countryName.value,
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor),
)
],
),
SizedBox(width: 5.w),
Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
),
], ],
), ),
SizedBox(width: 5.w), )),
Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
),
],
),
)),
), ),
Container( Container(
height: 0.5.h, height: 0.5.h,
@ -193,26 +196,29 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
return Column( return Column(
children: [ children: [
Obx(() => LoginInput( Obx(() => LoginInput(
controller: state.phoneOrEmailController, controller: state.phoneOrEmailController,
onchangeAction: (v) { onchangeAction: (v) {
logic.checkNext(state.phoneOrEmailController); logic.checkNext(state.phoneOrEmailController);
}, },
leftWidget: leftWidget:
// Image.asset('images/icon_login_account.png', width: 30.w, height: 30.w,), // Image.asset('images/icon_login_account.png', width: 30.w, height: 30.w,),
Padding( Padding(
padding: EdgeInsets.only(right: 10.w, left: 5.w), padding: EdgeInsets.only(right: 10.w, left: 5.w),
child: Image.asset( child: Image.asset(
'images/icon_login_account.png', state.isIphoneType.value
width: 30.w, ? 'images/icon_login_account.png'
height: 30.w, : "images/icon_login_email.png",
), width: 30.w,
), height: 30.w,
hintText: "${TranslationLoader.lanKeys!.pleaseEnter!.tr}${state.isIphoneType.value ? "手机号".tr : TranslationLoader.lanKeys!.email!.tr}", ),
keyboardType: TextInputType.number, ),
inputFormatters: [ hintText:
// FilteringTextInputFormatter.allow(RegExp('[0-9]')), "${TranslationLoader.lanKeys!.pleaseEnter!.tr}${state.isIphoneType.value ? "手机号".tr : TranslationLoader.lanKeys!.email!.tr}",
LengthLimitingTextInputFormatter(30), keyboardType: TextInputType.number,
])), inputFormatters: [
// FilteringTextInputFormatter.allow(RegExp('[0-9]')),
LengthLimitingTextInputFormatter(30),
])),
SizedBox(height: 10.w), SizedBox(height: 10.w),
LoginInput( LoginInput(
controller: state.pwdController, controller: state.pwdController,
@ -285,20 +291,21 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
width: 20.w, width: 20.w,
), ),
Obx(() => GestureDetector( Obx(() => GestureDetector(
onTap: state.phoneOrEmailStrIsOK.value && state.canResend.value onTap:
? () async { state.phoneOrEmailStrIsOK.value && state.canResend.value
// Navigator.pushNamed(context, Routers.safetyVerificationPage, arguments: {"countryCode":"+86", "account":state.phoneOrEmailStr.value}); ? () async {
var result = await Navigator.pushNamed( // Navigator.pushNamed(context, Routers.safetyVerificationPage, arguments: {"countryCode":"+86", "account":state.phoneOrEmailStr.value});
context, Routers.safetyVerificationPage, var result = await Navigator.pushNamed(
arguments: { context, Routers.safetyVerificationPage,
"countryCode": state.countryCode, arguments: {
"account": state.phoneOrEmailStr.value "countryCode": state.countryCode,
}); "account": state.phoneOrEmailStr.value
state.xWidth.value = });
(result as Map<String, dynamic>)['xWidth']; state.xWidth.value =
logic.sendValidationCode(); (result as Map<String, dynamic>)['xWidth'];
} logic.sendValidationCode();
: null, }
: null,
child: Container( child: Container(
width: 180.w, width: 180.w,
// height: 60.h, // height: 60.h,

View File

@ -15,6 +15,8 @@ class LockMainXHJLogic extends BaseGetXController {
update(); update();
} }
bool get isMall => state.index ==1;
// //
void openEquipment() { void openEquipment() {
showModalBottomSheet( showModalBottomSheet(

View File

@ -25,6 +25,7 @@ class StarLockMainXHJPage extends StatefulWidget {
class _StarLockMainXHJPageState extends State<StarLockMainXHJPage> class _StarLockMainXHJPageState extends State<StarLockMainXHJPage>
with BaseWidget { with BaseWidget {
@override @override
void initState() { void initState() {
super.initState(); super.initState();

View File

@ -1,8 +1,12 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:fluwx/fluwx.dart'; import 'package:fluwx/fluwx.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/main/lockMian/lockMain/xhj/lockMain_xhj_logic.dart';
import 'package:star_lock/mine/mall/lockMall_entity.dart'; import 'package:star_lock/mine/mall/lockMall_entity.dart';
import 'package:star_lock/mine/mall/lockMall_state.dart'; import 'package:star_lock/mine/mall/lockMall_state.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
@ -16,8 +20,10 @@ import '../../tools/baseGetXController.dart';
class LockMallLogic extends BaseGetXController { class LockMallLogic extends BaseGetXController {
late LockMallState state; late LockMallState state;
DateTime? _lastPressedAt; //
LockMallLogic({required bool allowReturn}) LockMallLogic({required bool allowReturn})
: state = LockMallState(allowReturn: allowReturn ); : state = LockMallState(allowReturn: allowReturn);
// //
Future<void> getMallURLRequest() async { Future<void> getMallURLRequest() async {
@ -98,19 +104,33 @@ class LockMallLogic extends BaseGetXController {
//webview 退退 //webview 退退
Future<bool> canGoBack(bool didPop) async { Future<bool> canGoBack(bool didPop) async {
bool canGoBack = await state.mallWebView.canGoBack(); bool canGoBack = await state.mallWebView.canGoBack();
if (canGoBack) { bool isMall = true;
if (Get.isRegistered<LockMainXHJLogic>() && F.isXHJ) {
isMall = Get.find<LockMainXHJLogic>().isMall;
}
if (canGoBack && isMall) {
await state.mallWebView.goBack(); await state.mallWebView.goBack();
} else if (state.allowReturn) { } else if (state.allowReturn && isMall) {
Get.back(); Get.back();
} else {
if (_lastPressedAt == null ||
DateTime.now().difference(_lastPressedAt!) > Duration(seconds: 2)) {
// 2 退
_lastPressedAt = DateTime.now();
showToast('再返回一次退出${F.title}');
return false; //
}
SystemNavigator.pop();
return true;
} }
refreshGoBack(); refreshGoBack();
return false; return false;
} }
// //
void refreshGoBack(){ void refreshGoBack() {
//退 //退
if(state.allowReturn){ if (state.allowReturn) {
return; return;
} }
state.mallWebView.canGoBack().then((value) { state.mallWebView.canGoBack().then((value) {

View File

@ -38,8 +38,9 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# 1.0.28+2024042601 打包鑫锁提审华为 # 1.0.28+2024042601 打包鑫锁提审华为
# 1.0.29+2024042901 打包给欧阳测试 # 1.0.29+2024042901 打包给欧阳测试
# 1.0.30+2024043001 打包鑫锁提审ios # 1.0.30+2024043001 打包鑫锁提审ios
# 1.0.31+2024050301 打包鑫锁提审华为
version: 1.0.30+2024043001 version: 1.0.31+2024050301
environment: environment:
sdk: '>=2.12.0 <3.0.0' sdk: '>=2.12.0 <3.0.0'