From 23c6430fb877c5b12b5df971ecc91bd3d5148b5e Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 3 Mar 2025 17:42:54 +0800 Subject: [PATCH 01/15] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E8=AF=AD=E8=A8=80=E6=B2=A1=E6=9C=89=E6=88=90=E5=8A=9F?= =?UTF-8?q?=EF=BC=8C=E4=BE=9D=E7=84=B6=E6=9B=B4=E6=96=B0=E4=BA=86=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E5=BD=93=E5=89=8D=E8=AF=AD=E8=A8=80=E8=A1=A8=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mineMultiLanguage_logic.dart | 10 +++++----- .../mineMultiLanguage_page.dart | 18 ++++++++++++------ lib/mine/mineSet/mineSet/mineSet_page.dart | 7 +++++-- pubspec.lock | 2 +- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/lib/mine/mineMultiLanguage/mineMultiLanguage_logic.dart b/lib/mine/mineMultiLanguage/mineMultiLanguage_logic.dart index c63773bb..a25ca1ef 100755 --- a/lib/mine/mineMultiLanguage/mineMultiLanguage_logic.dart +++ b/lib/mine/mineMultiLanguage/mineMultiLanguage_logic.dart @@ -33,9 +33,9 @@ class MineMultiLanguageLogic extends GetxController { } } - // Future changeLanguage(Locale l) async { - // await StoreService.to.saveLanguageCode(l.toString()); - // await Get.updateLocale(l); - // AppLog.log('saveLocale: ${l.toString()}}'); - // } +// Future changeLanguage(Locale l) async { +// await StoreService.to.saveLanguageCode(l.toString()); +// await Get.updateLocale(l); +// AppLog.log('saveLocale: ${l.toString()}}'); +// } } diff --git a/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart b/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart index a5a83f84..753ec6b0 100755 --- a/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart +++ b/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/mine/mineMultiLanguage/mineMultiLanguage_state.dart'; @@ -33,12 +34,17 @@ class _MineMultiLanguagePageState extends State { actionsList: [ TextButton( onPressed: () async { - await logic.updateUserLangInfo(state.seletLocale); - final String lanTypeTitle = - ExtensionLanguageType.fromLocale(state.seletLocale) - .lanTitle; - Get.back( - result: {'currentLanguage': state.seletLocale.toString()}); + await logic.updateUserLangInfo(state.seletLocale).then((value) { + final String lanTypeTitle = + ExtensionLanguageType.fromLocale(state.seletLocale) + .lanTitle; + Get.back(result: { + 'currentLanguage': state.seletLocale.toString() + }); + }).catchError((e) { + AppLog.log('updateUserLangInfo error:$e'); + EasyLoading.showToast('网络访问失败,请检查网络是否正常'.tr); + }); }, child: Text( '保存'.tr, diff --git a/lib/mine/mineSet/mineSet/mineSet_page.dart b/lib/mine/mineSet/mineSet/mineSet_page.dart index 7f639d2b..d7eeb3f6 100755 --- a/lib/mine/mineSet/mineSet/mineSet_page.dart +++ b/lib/mine/mineSet/mineSet/mineSet_page.dart @@ -302,8 +302,11 @@ class _MineSetPageState extends State action: () async { // Get.toNamed(Routers.mineMultiLanguagePage); await Get.toNamed(Routers.mineMultiLanguagePage)!.then((value) { - state.currentLanguage.value = value['currentLanguage']; - setState(() {}); + setState(() { + if (value.containsKey('currentLanguage')) { + state.currentLanguage.value = value['currentLanguage']; + } + }); }); }), /* 2024-01-12 会议确定去掉“锁屏” by DaisyWu diff --git a/pubspec.lock b/pubspec.lock index dd6aba4d..20ab4d4b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -329,7 +329,7 @@ packages: source: hosted version: "0.3.4+2" crypto: - dependency: transitive + dependency: "direct main" description: name: crypto sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab From e22a510307039721997a0cd67aed6f92744f8862 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 3 Mar 2025 17:55:47 +0800 Subject: [PATCH 02/15] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E8=AF=AD=E8=A8=80=E6=B2=A1=E6=9C=89=E6=88=90=E5=8A=9F?= =?UTF-8?q?=EF=BC=8C=E4=BE=9D=E7=84=B6=E6=9B=B4=E6=96=B0=E4=BA=86=E5=A4=96?= =?UTF-8?q?=E9=83=A8=E5=BD=93=E5=89=8D=E8=AF=AD=E8=A8=80=E8=A1=A8=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart b/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart index 753ec6b0..1e003033 100755 --- a/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart +++ b/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart @@ -3,6 +3,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/mine/mineMultiLanguage/mineMultiLanguage_state.dart'; +import 'package:star_lock/tools/store_service.dart'; import 'package:star_lock/translations/current_locale_tool.dart'; import '../../app_settings/app_colors.dart'; @@ -35,12 +36,12 @@ class _MineMultiLanguagePageState extends State { TextButton( onPressed: () async { await logic.updateUserLangInfo(state.seletLocale).then((value) { + final String currentLanguage = + StoreService.to.getLanguageCode()!; final String lanTypeTitle = ExtensionLanguageType.fromLocale(state.seletLocale) .lanTitle; - Get.back(result: { - 'currentLanguage': state.seletLocale.toString() - }); + Get.back(result: {'currentLanguage': currentLanguage}); }).catchError((e) { AppLog.log('updateUserLangInfo error:$e'); EasyLoading.showToast('网络访问失败,请检查网络是否正常'.tr); From 49d27976192d8b22305f61b4afc6903c006b7b68 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 3 Mar 2025 19:24:57 +0800 Subject: [PATCH 03/15] =?UTF-8?q?bug:1001991=20=E6=B2=A1=E6=9C=89=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=94=81=E4=BF=A1=E6=81=AF=E6=88=90=E5=8A=9F=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E5=85=81=E8=AE=B8=E5=AF=B9=E9=94=81=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E8=AE=BE=E7=BD=AE=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lockSet/lockSet/lockSetInfo_entity.dart | 20 +++++++++++++++---- .../lockSet/lockSet/lockSet_page.dart | 12 +++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart b/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart index e7c66577..5127c0b5 100755 --- a/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart +++ b/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart @@ -75,6 +75,10 @@ class LockSetInfoData { } return data; } + + bool isValid() { + return lockId != null; + } } class LockStatus { @@ -717,11 +721,19 @@ class CatEyeModeConfig { // 从 JSON 数据构造对象 factory CatEyeModeConfig.fromJson(Map json) { return CatEyeModeConfig( - recordMode: json['recordMode'] != null ? int.tryParse(json['recordMode'].toString()) : null, + recordMode: json['recordMode'] != null + ? int.tryParse(json['recordMode'].toString()) + : null, recordTime: json['recordTime'], - realTimeMode: json['realTimeMode'] != null ? int.tryParse(json['realTimeMode'].toString()) : null, - recordEndTime: json['recordEndTime'] != null ? int.tryParse(json['recordEndTime'].toString()) : null, - recordStartTime: json['recordStartTime'] != null ? int.tryParse(json['recordStartTime'].toString()) : null, + realTimeMode: json['realTimeMode'] != null + ? int.tryParse(json['realTimeMode'].toString()) + : null, + recordEndTime: json['recordEndTime'] != null + ? int.tryParse(json['recordEndTime'].toString()) + : null, + recordStartTime: json['recordStartTime'] != null + ? int.tryParse(json['recordStartTime'].toString()) + : null, detectionDistance: json['detectionDistance'], ); } diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart index a0011308..493d3d16 100755 --- a/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart +++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart @@ -102,6 +102,10 @@ class _LockSetPageState extends State isHaveLine: false, isHaveDirection: true, action: () { + if (!state.lockSetInfoData.value.isValid()) { + EasyLoading.showToast('网络访问失败,请检查网络是否正常'.tr); + return; + } Get.toNamed(Routers.basicInformationPage, arguments: { 'lockSetInfoData': state.lockSetInfoData.value @@ -154,6 +158,10 @@ class _LockSetPageState extends State isHaveLine: true, isHaveDirection: true, action: () { + if (!state.lockSetInfoData.value.isValid()) { + EasyLoading.showToast('网络访问失败,请检查网络是否正常'.tr); + return; + } Get.toNamed(Routers.lockTimePage, arguments: { 'lockSetInfoData': state.lockSetInfoData.value @@ -166,6 +174,10 @@ class _LockSetPageState extends State btnName: '删除'.tr, isDelete: true, onClick: () async { + if (!state.lockSetInfoData.value.isValid()) { + EasyLoading.showToast('网络访问失败,请检查网络是否正常'.tr); + return; + } // logic.deletUserAction(); // logic.deletLockInfoData(); // showDeletAlertDialog(context); From afcb031bd0ca3a11047995b986fa609b326c4757 Mon Sep 17 00:00:00 2001 From: liyi Date: Fri, 18 Apr 2025 10:46:57 +0800 Subject: [PATCH 04/15] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=90=8E=E5=88=97=E8=A1=A8=E5=87=BA=E7=8E=B0=E5=A4=9A=E6=9D=A1?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main/lockDetail/card/cardList/cardList_logic.dart | 2 +- lib/main/lockDetail/face/faceList/faceList_logic.dart | 2 +- .../fingerprint/fingerprintList/fingerprintList_logic.dart | 1 - lib/main/lockDetail/palm/palmList/palmList_logic.dart | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/main/lockDetail/card/cardList/cardList_logic.dart b/lib/main/lockDetail/card/cardList/cardList_logic.dart index 022ff0fb..2fc2e376 100755 --- a/lib/main/lockDetail/card/cardList/cardList_logic.dart +++ b/lib/main/lockDetail/card/cardList/cardList_logic.dart @@ -248,7 +248,7 @@ class CardListLogic extends BaseGetXController { if (isDemoMode == false) { _initReplySubscription(); - _initRefreshAction(); + // _initRefreshAction(); } await getICCardListData(isRefresh: true); } diff --git a/lib/main/lockDetail/face/faceList/faceList_logic.dart b/lib/main/lockDetail/face/faceList/faceList_logic.dart index 9781a916..a1499556 100755 --- a/lib/main/lockDetail/face/faceList/faceList_logic.dart +++ b/lib/main/lockDetail/face/faceList/faceList_logic.dart @@ -430,7 +430,7 @@ class FaceListLogic extends BaseGetXController { if (isDemoMode == false) { _initReplySubscription(); - _initRefreshAction(); + // _initRefreshAction(); } } diff --git a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart index 3c886df8..d65269cd 100755 --- a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart +++ b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart @@ -461,7 +461,6 @@ class FingerprintListLogic extends BaseGetXController { _initReplySubscription(); // _initRefreshAction(); - getFingerprintsListData(isRefresh: true); } } diff --git a/lib/main/lockDetail/palm/palmList/palmList_logic.dart b/lib/main/lockDetail/palm/palmList/palmList_logic.dart index b18e3609..8d15fa33 100755 --- a/lib/main/lockDetail/palm/palmList/palmList_logic.dart +++ b/lib/main/lockDetail/palm/palmList/palmList_logic.dart @@ -233,7 +233,7 @@ class PalmListLogic extends BaseGetXController { if (isDemoMode == false) { _initReplySubscription(); - _initRefreshAction(); + // _initRefreshAction(); } } From 4242ac0a80cdba1bca55b11a9522f0c6644d1160 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 21 Apr 2025 18:40:47 +0800 Subject: [PATCH 05/15] =?UTF-8?q?fix:=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E6=B2=A1=E6=9C=89=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=89=A7=E8=A1=8C=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E5=A4=B1=E8=B4=A5=E5=90=8E=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BB=BB=E4=BD=95=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/starLock_login_logic.dart | 3 +++ lib/tools/jverify_one_click_login.dart | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index f6130c6b..01453fba 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -136,6 +136,8 @@ class StarLockLoginLogic extends BaseGetXController { 'login_res': '${entity.errorCode}--${entity.errorMsg}', }); } + } else { + showToast('一键登录失败,请重试'.tr); } }); } @@ -215,6 +217,7 @@ class StarLockLoginLogic extends BaseGetXController { //刷新设备信息 Future flushedDeviceInfo() async { + eventBus.fire(AgreePrivacyAgreement()); XSConstantMacro().getDeviceInfoData().then((Map data) { state.deviceInfoMap.value = data; }).catchError((dynamic error) { diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index 94993d6d..d0a01f5b 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -95,6 +95,7 @@ class JverifyOneClickLoginManage { /// 判断当前网络环境是否可以发起认证 Future checkVerifyEnable() async { final Map map = await jverify.checkVerifyEnable(); + AppLog.log('一家登录 sdk 初始化结果:$map'); final bool result = map[f_result_key]; return result; // state.jverify.checkVerifyEnable().then((map) { @@ -267,6 +268,9 @@ class JverifyOneClickLoginManage { action(event); // AppLog.log('获取到 loginAuthSyncApi 接口返回数据,code=${event.code},message = ${event.message},operator = ${event.operator}'); }); + } else { + // -10000 表示登录失败 + action(JVListenerEvent.fromJson({'code': -10000, 'message': ''})); } } } From 07f66a547773c25f95a9d77eb31b6ac26a92f447 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 21 Apr 2025 19:15:41 +0800 Subject: [PATCH 06/15] =?UTF-8?q?fix:=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E6=B2=A1=E6=9C=89=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=89=A7=E8=A1=8C=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E5=A4=B1=E8=B4=A5=E5=90=8E=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BB=BB=E4=BD=95=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/src/main/res/drawable/check.png | Bin 0 -> 5376 bytes android/app/src/main/res/drawable/uncheck.png | Bin 0 -> 4551 bytes .../check.imageset/Contents.json | 21 ++++++++++++++++++ .../Assets.xcassets/check.imageset/check.png | Bin 0 -> 5376 bytes .../uncheck.imageset/Contents.json | 21 ++++++++++++++++++ .../uncheck.imageset/uncheck.png | Bin 0 -> 4551 bytes lib/tools/jverify_one_click_login.dart | 14 ++++++------ 7 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 android/app/src/main/res/drawable/check.png create mode 100644 android/app/src/main/res/drawable/uncheck.png create mode 100644 ios/Runner/Assets.xcassets/check.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/check.imageset/check.png create mode 100644 ios/Runner/Assets.xcassets/uncheck.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/uncheck.imageset/uncheck.png diff --git a/android/app/src/main/res/drawable/check.png b/android/app/src/main/res/drawable/check.png new file mode 100644 index 0000000000000000000000000000000000000000..1b366bddba0111cd4adda558751c0c23b81c63d8 GIT binary patch literal 5376 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable/uncheck.png b/android/app/src/main/res/drawable/uncheck.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ff42177c5381dd577fbef8a4917b2eedb81225 GIT binary patch literal 4551 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 MTW6axD_Z>j0EElpYXATM literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/check.imageset/Contents.json b/ios/Runner/Assets.xcassets/check.imageset/Contents.json new file mode 100644 index 00000000..bd23e480 --- /dev/null +++ b/ios/Runner/Assets.xcassets/check.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "check.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/Runner/Assets.xcassets/check.imageset/check.png b/ios/Runner/Assets.xcassets/check.imageset/check.png new file mode 100644 index 0000000000000000000000000000000000000000..1b366bddba0111cd4adda558751c0c23b81c63d8 GIT binary patch literal 5376 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/uncheck.imageset/Contents.json b/ios/Runner/Assets.xcassets/uncheck.imageset/Contents.json new file mode 100644 index 00000000..5b51e40e --- /dev/null +++ b/ios/Runner/Assets.xcassets/uncheck.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "uncheck.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/Runner/Assets.xcassets/uncheck.imageset/uncheck.png b/ios/Runner/Assets.xcassets/uncheck.imageset/uncheck.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ff42177c5381dd577fbef8a4917b2eedb81225 GIT binary patch literal 4551 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 MTW6axD_Z>j0EElpYXATM literal 0 HcmV?d00001 diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index d0a01f5b..6982e4d9 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -166,7 +166,7 @@ class JverifyOneClickLoginManage { uiConfig.authBackgroundImage = 'images/icon_left_grey.png'; // uiConfig.navHidden = !isiOS; - uiConfig.navColor = AppColors.mainColor.value; + uiConfig.navColor = Colors.white.value; uiConfig.navText = '一键登录'.tr; uiConfig.navTextColor = Colors.white.value; uiConfig.navReturnImgPath = 'return_bg'; //图片必须存在 @@ -184,7 +184,7 @@ class JverifyOneClickLoginManage { //uiConfig.numFieldOffsetX = isiOS ? 0 : null;//(screenWidth/2 - uiConfig.numberFieldWidth/2).toInt(); uiConfig.numFieldOffsetY = isiOS ? 120 : 220; uiConfig.numberVerticalLayoutItem = JVIOSLayoutItem.ItemLogo; - uiConfig.numberColor = AppColors.mainColor.value; + uiConfig.numberColor = Colors.white.value; uiConfig.numberSize = 18; uiConfig.sloganOffsetY = isiOS ? 120 : 260; @@ -201,7 +201,7 @@ class JverifyOneClickLoginManage { uiConfig.logBtnOffsetY = isiOS ? 120 : 330; uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemNumber; uiConfig.logBtnText = '一键登录'.tr; - uiConfig.logBtnTextColor = Colors.white.value; + uiConfig.logBtnTextColor = AppColors.mainColor.value; uiConfig.logBtnTextSize = 16; uiConfig.logBtnBackgroundPath = ''; // uiConfig.logBtnTextBold = true; @@ -214,8 +214,8 @@ class JverifyOneClickLoginManage { uiConfig.privacyState = false; //设置默认勾选 uiConfig.privacyCheckboxSize = 20; - uiConfig.checkedImgPath = 'check_image'; //图片必须存在 - uiConfig.uncheckedImgPath = 'uncheck_image'; //图片必须存在 + uiConfig.checkedImgPath = 'check'; //图片必须存在 + uiConfig.uncheckedImgPath = 'uncheck'; //图片必须存在 uiConfig.privacyCheckboxInCenter = true; uiConfig.privacyCheckboxHidden = false; uiConfig.isAlertPrivacyVc = true; @@ -255,7 +255,7 @@ class JverifyOneClickLoginManage { uiConfig.enterAnim = 'activity_slide_enter_bottom'; uiConfig.exitAnim = 'activity_slide_exit_bottom'; - uiConfig.privacyNavColor = AppColors.mainColor.value; + uiConfig.privacyNavColor = Colors.white.value; uiConfig.privacyNavTitleTextColor = Colors.white.value; uiConfig.privacyNavTitleTextSize = 16; @@ -270,7 +270,7 @@ class JverifyOneClickLoginManage { }); } else { // -10000 表示登录失败 - action(JVListenerEvent.fromJson({'code': -10000, 'message': ''})); + action(JVListenerEvent.fromJson({'code': -10000, 'message': ''})); } } } From bb1607235dfe2e911b2d7fb86313a65cf4016000 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 21 Apr 2025 19:21:58 +0800 Subject: [PATCH 07/15] =?UTF-8?q?fix:=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E6=B2=A1=E6=9C=89=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=89=A7=E8=A1=8C=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E5=A4=B1=E8=B4=A5=E5=90=8E=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BB=BB=E4=BD=95=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/starLock_login_logic.dart | 60 +++++++++++++---------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index 01453fba..dc894170 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -109,35 +109,41 @@ class StarLockLoginLogic extends BaseGetXController { final String? content = e.message; // final String operator = map['operator']; AppLog.log('1111code:$code content:$content'); - if (code == 6000) { - final LoginEntity entity = await ApiRepository.to.oneClickLogin( - loginType: '3', - loginToken: content ?? '', - deviceInfo: state.deviceInfoMap); - if (entity.errorCode!.codeIsSuccessful) { - ApmHelper.instance.trackEvent('login_result', { - 'account': state.emailOrPhone.value, - 'date': DateTool().getNowDateWithType(1), - 'login_res': '成功', - }); + switch (code) { + case 6000: + final LoginEntity entity = await ApiRepository.to.oneClickLogin( + loginType: '3', + loginToken: content ?? '', + deviceInfo: state.deviceInfoMap); + if (entity.errorCode!.codeIsSuccessful) { + ApmHelper.instance.trackEvent('login_result', { + 'account': state.emailOrPhone.value, + 'date': DateTool().getNowDateWithType(1), + 'login_res': '成功', + }); - Storage.saveLoginData(entity.data); - Storage.setBool(saveIsVip, entity.data!.isVip == 1); - eventBus.fire(MineInfoChangeRefreshUI()); - if (Get.isRegistered()) { - Get.find().getStarLockInfo(isUnShowLoading: true); + Storage.saveLoginData(entity.data); + Storage.setBool(saveIsVip, entity.data!.isVip == 1); + eventBus.fire(MineInfoChangeRefreshUI()); + if (Get.isRegistered()) { + Get.find().getStarLockInfo(isUnShowLoading: true); + } + Get.offNamedUntil(Routers.starLockMain, (Route route) => false); + BlueManage().scanDevices.clear(); //清除设备缓存 + } else { + ApmHelper.instance.trackEvent('login_result', { + 'account': state.emailOrPhone.value, + 'date': DateTool().getNowDateWithType(1), + 'login_res': '${entity.errorCode}--${entity.errorMsg}', + }); } - Get.offNamedUntil(Routers.starLockMain, (Route route) => false); - BlueManage().scanDevices.clear(); //清除设备缓存 - } else { - ApmHelper.instance.trackEvent('login_result', { - 'account': state.emailOrPhone.value, - 'date': DateTool().getNowDateWithType(1), - 'login_res': '${entity.errorCode}--${entity.errorMsg}', - }); - } - } else { - showToast('一键登录失败,请重试'.tr); + break; + case 6002: + showToast('取消一键登录'.tr); + break; + default: + showToast('一键登录失败,请重试'.tr); + break; } }); } From 60a6666d224fe31d53b081736a7d7e0492e0a9cb Mon Sep 17 00:00:00 2001 From: Liuyf Date: Mon, 21 Apr 2025 19:24:04 +0800 Subject: [PATCH 08/15] =?UTF-8?q?fix:=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E6=B2=A1=E6=9C=89=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E6=89=A7=E8=A1=8C=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=E5=A4=B1=E8=B4=A5=E5=90=8E=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BB=BB=E4=BD=95=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/starLock_login_logic.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index dc894170..a2c154eb 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -139,7 +139,7 @@ class StarLockLoginLogic extends BaseGetXController { } break; case 6002: - showToast('取消一键登录'.tr); + // showToast('用户取消一键登录'.tr); break; default: showToast('一键登录失败,请重试'.tr); From 841ef69381351bf3670ac4b5850d39e1204fe424 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Tue, 22 Apr 2025 16:49:34 +0800 Subject: [PATCH 09/15] =?UTF-8?q?fix:=20-=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=EF=BC=8CUI=E5=AE=8C=E5=96=84=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20-=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E9=9D=A2=E4=BB=A5=E5=8F=8A=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E7=A1=AE=E8=AE=A4=E9=A1=B5=E9=9D=A2UI?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=AE=8C=E5=96=84=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20-=20=E4=B8=80=E9=94=AE=E7=99=BB=E5=BD=95=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=AE=8C=E5=96=84=EF=BC=8C=E8=BE=B9=E7=95=8C=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/drawable/icon_left_grey.png | Bin 0 -> 214 bytes ios/Podfile.lock | 49 ++++++++-- .../icon_left_grey.imageset/Contents.json | 21 +++++ .../icon_left_grey.png | Bin 0 -> 214 bytes lib/login/login/starLock_login_logic.dart | 6 +- lib/login/login/starLock_login_page.dart | 7 +- lib/login/login/starLock_login_xhj_page.dart | 2 +- lib/tools/jverify_one_click_login.dart | 86 ++++++++++++++++-- pubspec.lock | 48 ---------- 9 files changed, 149 insertions(+), 70 deletions(-) create mode 100644 android/app/src/main/res/drawable/icon_left_grey.png create mode 100644 ios/Runner/Assets.xcassets/icon_left_grey.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/icon_left_grey.imageset/icon_left_grey.png diff --git a/android/app/src/main/res/drawable/icon_left_grey.png b/android/app/src/main/res/drawable/icon_left_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..f95633172d283360b2e7e99f61aff75a87a74700 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^BBaTr|KZ#1%-dg@JWo0OY0pPxJvwu$Kh+1v51rC;pH+sC-IQk|`VxDt$&5|Y^!G 2.0.4) + - gallery_saver (0.0.1): + - Flutter - google_maps_flutter_ios (0.0.1): - Flutter - GoogleMaps (< 9.0) @@ -215,6 +215,24 @@ PODS: - JPush (= 5.3.0) - just_audio (0.0.1): - Flutter + - JVerification (3.2.4): + - JCore (>= 2.1.6) + - jverify (0.0.1): + - Flutter + - JCore (>= 4.6.2) + - JVerification (= 3.2.4) + - libwebp (1.3.2): + - libwebp/demux (= 1.3.2) + - libwebp/mux (= 1.3.2) + - libwebp/sharpyuv (= 1.3.2) + - libwebp/webp (= 1.3.2) + - libwebp/demux (1.3.2): + - libwebp/webp + - libwebp/mux (1.3.2): + - libwebp/demux + - libwebp/sharpyuv (1.3.2) + - libwebp/webp (1.3.2): + - libwebp/sharpyuv - nanopb (3.30910.0): - nanopb/decode (= 3.30910.0) - nanopb/encode (= 3.30910.0) @@ -257,6 +275,9 @@ PODS: - video_player_avfoundation (0.0.1): - Flutter - FlutterMacOS + - video_thumbnail (0.0.1): + - Flutter + - libwebp - webview_flutter_wkwebview (0.0.1): - Flutter - WechatOpenSDK-XCFramework (2.0.4) @@ -274,7 +295,6 @@ DEPENDENCIES: - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - - fast_rsa (from `.symlinks/plugins/fast_rsa/ios`) - file_picker (from `.symlinks/plugins/file_picker/ios`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) @@ -287,12 +307,14 @@ DEPENDENCIES: - flutter_voice_processor (from `.symlinks/plugins/flutter_voice_processor/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - fluwx (from `.symlinks/plugins/fluwx/ios`) + - gallery_saver (from `.symlinks/plugins/gallery_saver/ios`) - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) - image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - JPush - jpush_flutter (from `.symlinks/plugins/jpush_flutter/ios`) - just_audio (from `.symlinks/plugins/just_audio/ios`) + - jverify (from `.symlinks/plugins/jverify/ios`) - network_info_plus (from `.symlinks/plugins/network_info_plus/ios`) - open_filex (from `.symlinks/plugins/open_filex/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) @@ -306,6 +328,7 @@ DEPENDENCIES: - umeng_common_sdk (from `.symlinks/plugins/umeng_common_sdk/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) + - video_thumbnail (from `.symlinks/plugins/video_thumbnail/ios`) - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) SPEC REPOS: @@ -334,6 +357,8 @@ SPEC REPOS: - ios-voice-processor - JCore - JPush + - JVerification + - libwebp - nanopb - PromisesObjC - SDWebImage @@ -366,8 +391,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/connectivity_plus/darwin" device_info_plus: :path: ".symlinks/plugins/device_info_plus/ios" - fast_rsa: - :path: ".symlinks/plugins/fast_rsa/ios" file_picker: :path: ".symlinks/plugins/file_picker/ios" firebase_analytics: @@ -392,6 +415,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/fluttertoast/ios" fluwx: :path: ".symlinks/plugins/fluwx/ios" + gallery_saver: + :path: ".symlinks/plugins/gallery_saver/ios" google_maps_flutter_ios: :path: ".symlinks/plugins/google_maps_flutter_ios/ios" image_gallery_saver: @@ -402,6 +427,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/jpush_flutter/ios" just_audio: :path: ".symlinks/plugins/just_audio/ios" + jverify: + :path: ".symlinks/plugins/jverify/ios" network_info_plus: :path: ".symlinks/plugins/network_info_plus/ios" open_filex: @@ -424,6 +451,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" video_player_avfoundation: :path: ".symlinks/plugins/video_player_avfoundation/darwin" + video_thumbnail: + :path: ".symlinks/plugins/video_thumbnail/ios" webview_flutter_wkwebview: :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" @@ -451,7 +480,6 @@ SPEC CHECKSUMS: DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 EMASRest: 8df6f87836767a9415ad5cc4af739bc9d215b475 - fast_rsa: a1fed69b074093d2e2e3fefae6b821a071649d4c file_picker: ce3938a0df3cc1ef404671531facef740d03f920 Firebase: 9f574c08c2396885b5e7e100ed4293d956218af9 firebase_analytics: 1a66fe8d4375eccff44671ea37897683a78b2675 @@ -468,7 +496,8 @@ SPEC CHECKSUMS: flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82 fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c - fluwx: c18fd6c16b03a2187cd07d6e48e32a7801962849 + fluwx: daa284756ce53442b3d0417ceeda66e981906811 + gallery_saver: 9fc173c9f4fcc48af53b2a9ebea1b643255be542 google_maps_flutter_ios: f135b968a67c05679e0a53538e900b5c174b0d99 GoogleAppMeasurement: 6e49ffac7d3f2c3ded9cc663f912a13b67bbd0de GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 @@ -480,6 +509,9 @@ SPEC CHECKSUMS: JPush: b71f497a3c1b825c7843fd97f290b05d5cd75f2e jpush_flutter: c87be254790933c0363684169ef9d3d279a5adc5 just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa + JVerification: 0774807f44dd788c78d50303a14e133735807856 + jverify: 337ea43ac1e16f9484f4195abe787d1b6241163c + libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 network_info_plus: 6d0c3eb8367b8164fa3fb0c19875e3f59d49697f open_filex: 6e26e659846ec990262224a12ef1c528bb4edbe4 @@ -498,9 +530,10 @@ SPEC CHECKSUMS: umeng_common_sdk: a8abd7f86dfd013dbbeeae587ee143760c6582f2 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 + video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1 webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1 WechatOpenSDK-XCFramework: 36fb2bea0754266c17184adf4963d7e6ff98b69f PODFILE CHECKSUM: 728f9c851a19709391c77c54ed3556e484b54db6 -COCOAPODS: 1.16.2 +COCOAPODS: 1.14.3 diff --git a/ios/Runner/Assets.xcassets/icon_left_grey.imageset/Contents.json b/ios/Runner/Assets.xcassets/icon_left_grey.imageset/Contents.json new file mode 100644 index 00000000..1aa8ae8d --- /dev/null +++ b/ios/Runner/Assets.xcassets/icon_left_grey.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "icon_left_grey.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/Runner/Assets.xcassets/icon_left_grey.imageset/icon_left_grey.png b/ios/Runner/Assets.xcassets/icon_left_grey.imageset/icon_left_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..f95633172d283360b2e7e99f61aff75a87a74700 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^BBaTr|KZ#1%-dg@JWo0OY0pPxJvwu$Kh+1v51rC;pH+sC-IQk|`VxDt$&5|Y^!G oneClickLoginAction() async { - await JverifyOneClickLoginManage().loginAuth((e) async { + Future oneClickLoginAction(BuildContext context) async { + await JverifyOneClickLoginManage().loginAuth(context,(e) async { final int? code = e.code; final String? content = e.message; // final String operator = map['operator']; @@ -142,7 +142,7 @@ class StarLockLoginLogic extends BaseGetXController { // showToast('用户取消一键登录'.tr); break; default: - showToast('一键登录失败,请重试'.tr); + showToast('一键登录失败,请使用账号/密码登录'.tr); break; } }); diff --git a/lib/login/login/starLock_login_page.dart b/lib/login/login/starLock_login_page.dart index f9a46982..59997b27 100755 --- a/lib/login/login/starLock_login_page.dart +++ b/lib/login/login/starLock_login_page.dart @@ -283,7 +283,8 @@ class _StarLockLoginPageState extends State { width: 10.sp, )), Obx(() => Visibility( - visible: state.isCheckVerifyEnable.value && state.currentLanguage == 'zh_CN', + visible: state.isCheckVerifyEnable.value && + state.currentLanguage == 'zh_CN', child: GestureDetector( child: SizedBox( // width: 150.w, @@ -296,7 +297,9 @@ class _StarLockLoginPageState extends State { color: AppColors.mainColor)), ), ), - onTap: logic.oneClickLoginAction, + onTap: () { + logic.oneClickLoginAction(context); + }, ), )) ], diff --git a/lib/login/login/starLock_login_xhj_page.dart b/lib/login/login/starLock_login_xhj_page.dart index b0810366..9d32642d 100755 --- a/lib/login/login/starLock_login_xhj_page.dart +++ b/lib/login/login/starLock_login_xhj_page.dart @@ -243,7 +243,7 @@ class _StarLockLoginPageState extends State { ), ), onTap: () async { - logic.oneClickLoginAction(); + logic.oneClickLoginAction(context); }, ), )) diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index 6982e4d9..78454725 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -142,7 +142,7 @@ class JverifyOneClickLoginManage { } /// SDK 请求授权一键登录 - Future loginAuth( + Future loginAuth(BuildContext context, Function(JVListenerEvent jvListenerEvent) action) async { Map map = await jverify.checkVerifyEnable(); final bool result = map[f_result_key]; @@ -154,6 +154,9 @@ class JverifyOneClickLoginManage { // return null; if (result) { + final screenSize = MediaQuery.of(context).size; + final screenWidth = screenSize.width; + final screenHeight = screenSize.height; bool isiOS = Platform.isIOS; /// 自定义授权的 UI 界面,以下设置的图片必须添加到资源文件里, @@ -163,13 +166,13 @@ class JverifyOneClickLoginManage { // uiConfig.authBGGifPath = "main_gif"; // uiConfig.authBGVideoPath="main_vi"; // uiConfig.authBGVideoPath = 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4'; - uiConfig.authBackgroundImage = 'images/icon_left_grey.png'; + // uiConfig.authBackgroundImage = 'images/icon_left_grey.png'; // uiConfig.navHidden = !isiOS; - uiConfig.navColor = Colors.white.value; + uiConfig.navColor = AppColors.mainColor.value; uiConfig.navText = '一键登录'.tr; uiConfig.navTextColor = Colors.white.value; - uiConfig.navReturnImgPath = 'return_bg'; //图片必须存在 + uiConfig.navReturnImgPath = 'icon_left_grey'; //图片必须存在 uiConfig.logoWidth = 100; uiConfig.logoHeight = 100; @@ -194,11 +197,11 @@ class JverifyOneClickLoginManage { // uiConfig.slogan //uiConfig.sloganHidden = 0; - uiConfig.logBtnOffsetX = 20; + // uiConfig.logBtnOffsetX = 20; uiConfig.logBtnWidth = double.parse('${1.sw - 20 * 2}').toInt(); uiConfig.logBtnHeight = 50; //uiConfig.logBtnOffsetX = isiOS ? 0 : null;//(screenWidth/2 - uiConfig.logBtnWidth/2).toInt(); - uiConfig.logBtnOffsetY = isiOS ? 120 : 330; + uiConfig.logBtnOffsetY = isiOS ? 140 : 330; uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemNumber; uiConfig.logBtnText = '一键登录'.tr; uiConfig.logBtnTextColor = AppColors.mainColor.value; @@ -221,6 +224,7 @@ class JverifyOneClickLoginManage { uiConfig.isAlertPrivacyVc = true; //uiConfig.privacyOffsetX = isiOS ? (20 + uiConfig.privacyCheckboxSize) : null; + uiConfig.privacyNavReturnBtnImage = 'icon_left_grey'; //图片必须存在; uiConfig.privacyOffsetY = 30; // 距离底部距离 uiConfig.privacyOffsetX = 15; // 距离底部距离 uiConfig.privacyVerticalLayoutItem = JVIOSLayoutItem.ItemSuper; @@ -259,8 +263,73 @@ class JverifyOneClickLoginManage { uiConfig.privacyNavTitleTextColor = Colors.white.value; uiConfig.privacyNavTitleTextSize = 16; + //协议二次弹窗内容设置 -Android + final JVPrivacyCheckDialogConfig privacyCheckDialogConfig = + JVPrivacyCheckDialogConfig(); + privacyCheckDialogConfig.width = 250; //协议⼆次弹窗本身的宽 + privacyCheckDialogConfig.height = 100; //协议⼆次弹窗本身的⾼ + privacyCheckDialogConfig.title = '请阅读并同意一下条款'; //弹窗标题 + privacyCheckDialogConfig.offsetX = 0; // 窗口相对屏幕中心的x轴偏移量 + privacyCheckDialogConfig.offsetY = 0; // 窗口相对屏幕中心的y轴偏移量 + + privacyCheckDialogConfig.logBtnText = '同意并登录'; //弹窗登录按钮 + privacyCheckDialogConfig.titleTextSize = 24; // 弹窗标题字体大小 + privacyCheckDialogConfig.gravity = 'center'; //弹窗对齐方式 + privacyCheckDialogConfig.titleTextColor = Colors.black.value; // 弹窗标题字体颜色 + privacyCheckDialogConfig.contentTextGravity = 'left'; //协议⼆次弹窗协议内容对⻬⽅式 + privacyCheckDialogConfig.contentTextSize = 16; //协议⼆次弹窗协议内容字体⼤⼩ + // privacyCheckDialogConfig.logBtnImgPath = "login_btn_normal";//协议⼆次弹窗登录按钮的背景图⽚ + privacyCheckDialogConfig.logBtnTextColor = + Colors.black.value; //协议⼆次弹窗登录按钮的字体颜⾊ + privacyCheckDialogConfig.logBtnMarginT = 20; //协议⼆次弹窗登录按钮上边距 + privacyCheckDialogConfig.logBtnMarginB = 20; //协议⼆次弹窗登录按钮下边距 + privacyCheckDialogConfig.logBtnMarginL = 40; //协议⼆次弹窗登录按钮左边距 + privacyCheckDialogConfig.logBtnWidth = 140; //协议⼆次弹窗登录按钮宽 + privacyCheckDialogConfig.logBtnHeight = 40; //协议⼆次弹窗登录按高 + /// 添加自定义的 控件 到dialog + final List dialogWidgetList = []; + const String btnDialogWidgetid = 'jv_add_custom_dialog_button'; // 标识控件 id + final JVCustomWidget buttonDialogWidget = + JVCustomWidget(btnDialogWidgetid, JVCustomWidgetType.button); + buttonDialogWidget.title = '取消'; + buttonDialogWidget.titleFont = 16; + buttonDialogWidget.left = 80; + buttonDialogWidget.top = 180; + buttonDialogWidget.width = 140; + buttonDialogWidget.height = 40; + buttonDialogWidget.textAlignment = JVTextAlignmentType.center; + buttonDialogWidget.titleColor = Colors.black.value; + // buttonDialogWidget.btnNormalImageName = "main_btn_other"; + // buttonDialogWidget.btnPressedImageName = "main_btn_other"; + // buttonDialogWidget.backgroundColor = Colors.yellow.value; + // buttonWidget.textAlignment = JVTextAlignmentType.left; + + // 添加点击事件监听 + jverify.addClikWidgetEventListener(btnDialogWidgetid, (eventId) { + print('receive listener - click dialog widget event :$eventId'); + if (btnDialogWidgetid == eventId) { + print('receive listener - 点击【新加 dialog button】'); + } + }); + dialogWidgetList.add(buttonDialogWidget); + privacyCheckDialogConfig.widgets = dialogWidgetList; + uiConfig.privacyCheckDialogConfig = privacyCheckDialogConfig; + // iOS 二次弹窗添加取消按钮 + uiConfig.isAlertPrivacyVc = true; + uiConfig.agreementAlertViewWidgets = dialogWidgetList; + uiConfig.agreementAlertViewLogBtnTextFontSize = 16; + uiConfig.agreementAlertViewTitleTexSize = 18; + uiConfig.agreementAlertViewContentTextFontSize = 14; + final alertLeft = (screenWidth / 2 - 300 / 2).toInt(); + uiConfig.agreementAlertViewUIFrames = { + 'superViewFrame': [alertLeft, 100, 300, 220], + 'titleFrame': [20, 10, 260, 40], + 'contentFrame': [25, 70, 250, 120], + 'buttonFrame': [80, 142, 140, 40] + }; + /// 调用接口设置 UI - jverify.setCustomAuthorizationView(true, uiConfig, + jverify.setCustomAuthorizationView(false, uiConfig, landscapeConfig: uiConfig); jverify.loginAuthSyncApi2( autoDismiss: true, @@ -270,7 +339,8 @@ class JverifyOneClickLoginManage { }); } else { // -10000 表示登录失败 - action(JVListenerEvent.fromJson({'code': -10000, 'message': ''})); + action(JVListenerEvent.fromJson( + {'code': -10000, 'message': ''})); } } } diff --git a/pubspec.lock b/pubspec.lock index 9b40c4b0..b1ead27d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -621,14 +621,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.3" - flutter_foreground_task: - dependency: transitive - description: - name: flutter_foreground_task - sha256: "6cf10a27f5e344cd2ecad0752d3a5f4ec32846d82fda8753b3fe2480ebb832a3" - url: "https://pub.dev" - source: hosted - version: "6.5.0" flutter_hooks: dependency: transitive description: @@ -714,30 +706,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.18" - flutter_screen_recording: - dependency: "direct main" - description: - name: flutter_screen_recording - sha256: "672a3f6c9e7b7438461a3a18ba36d8586189adcb716911d4c41d5d88592fbdda" - url: "https://pub.dev" - source: hosted - version: "2.0.16" - flutter_screen_recording_platform_interface: - dependency: transitive - description: - name: flutter_screen_recording_platform_interface - sha256: "9e07f78a2529bc5b6c77d045b392ed4062445543613fcad431c4cc1da57558d7" - url: "https://pub.dev" - source: hosted - version: "1.0.3" - flutter_screen_recording_web: - dependency: transitive - description: - name: flutter_screen_recording_web - sha256: f0a1b141beb1a64d8087c5871949a11ea6bf5d2a2fcd9d1341a7cf7b11e41aab - url: "https://pub.dev" - source: hosted - version: "1.0.7" flutter_screenutil: dependency: "direct main" description: @@ -1341,14 +1309,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.6" - platform_detect: - dependency: transitive - description: - name: platform_detect - sha256: a62f99417fc4fa2d099ce0ccdbb1bd3977920f2a64292c326271f049d4bc3a4f - url: "https://pub.dev" - source: hosted - version: "2.1.0" plugin_platform_interface: dependency: transitive description: @@ -1389,14 +1349,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.2" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" qr: dependency: transitive description: From 1c3c61239bd5854c1359b5958bc7ff8764f81e26 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Tue, 22 Apr 2025 18:43:15 +0800 Subject: [PATCH 10/15] =?UTF-8?q?fix:=20-=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=EF=BC=8CUI=E5=AE=8C=E5=96=84=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20-=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E9=9D=A2=E4=BB=A5=E5=8F=8A=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E7=A1=AE=E8=AE=A4=E9=A1=B5=E9=9D=A2UI?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=AE=8C=E5=96=84=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20-=20=E4=B8=80=E9=94=AE=E7=99=BB=E5=BD=95=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=AE=8C=E5=96=84=EF=BC=8C=E8=BE=B9=E7=95=8C=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/drawable/log_btn_background.xml | 5 + android/app/src/main/res/drawable/uncheck.png | Bin 4551 -> 4839 bytes lib/tools/jverify_one_click_login.dart | 145 +++++++++--------- 3 files changed, 79 insertions(+), 71 deletions(-) create mode 100644 android/app/src/main/res/drawable/log_btn_background.xml diff --git a/android/app/src/main/res/drawable/log_btn_background.xml b/android/app/src/main/res/drawable/log_btn_background.xml new file mode 100644 index 00000000..58769a9b --- /dev/null +++ b/android/app/src/main/res/drawable/log_btn_background.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/uncheck.png b/android/app/src/main/res/drawable/uncheck.png index f1ff42177c5381dd577fbef8a4917b2eedb81225..4a1f3ddaaf386959d8d17bbb5e0d57f82c9ef68a 100644 GIT binary patch literal 4839 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 Ib_`4U9~e14)Bpeg literal 4551 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 MTW6axD_Z>j0EElpYXATM diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index 78454725..1e8007dc 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -187,10 +187,10 @@ class JverifyOneClickLoginManage { //uiConfig.numFieldOffsetX = isiOS ? 0 : null;//(screenWidth/2 - uiConfig.numberFieldWidth/2).toInt(); uiConfig.numFieldOffsetY = isiOS ? 120 : 220; uiConfig.numberVerticalLayoutItem = JVIOSLayoutItem.ItemLogo; - uiConfig.numberColor = Colors.white.value; + uiConfig.numberColor = AppColors.mainColor.value; uiConfig.numberSize = 18; - uiConfig.sloganOffsetY = isiOS ? 120 : 260; + uiConfig.sloganOffsetY = isiOS ? 40 : 300; uiConfig.sloganVerticalLayoutItem = JVIOSLayoutItem.ItemNumber; uiConfig.sloganTextColor = Colors.black.value; uiConfig.sloganTextSize = 15; @@ -201,12 +201,12 @@ class JverifyOneClickLoginManage { uiConfig.logBtnWidth = double.parse('${1.sw - 20 * 2}').toInt(); uiConfig.logBtnHeight = 50; //uiConfig.logBtnOffsetX = isiOS ? 0 : null;//(screenWidth/2 - uiConfig.logBtnWidth/2).toInt(); - uiConfig.logBtnOffsetY = isiOS ? 140 : 330; + uiConfig.logBtnOffsetY = isiOS ? 60 : 330; uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemNumber; uiConfig.logBtnText = '一键登录'.tr; uiConfig.logBtnTextColor = AppColors.mainColor.value; uiConfig.logBtnTextSize = 16; - uiConfig.logBtnBackgroundPath = ''; + // uiConfig.logBtnBackgroundPath = 'log_btn_background'; // uiConfig.logBtnTextBold = true; // uiConfig.loginBtnNormalImage = 'login_btn_normal'; //图片必须存在 // uiConfig.loginBtnPressedImage = 'login_btn_press'; //图片必须存在 @@ -216,12 +216,15 @@ class JverifyOneClickLoginManage { true; //only android 设置隐私条款不选中时点击登录按钮默认显示toast。 uiConfig.privacyState = false; //设置默认勾选 - uiConfig.privacyCheckboxSize = 20; - uiConfig.checkedImgPath = 'check'; //图片必须存在 - uiConfig.uncheckedImgPath = 'uncheck'; //图片必须存在 + uiConfig.privacyCheckboxSize = 22; + if (isiOS) { + uiConfig.checkedImgPath = 'check'; //图片必须存在 + uiConfig.uncheckedImgPath = 'uncheck'; //图片必须存在 + } + uiConfig.privacyCheckboxInCenter = true; uiConfig.privacyCheckboxHidden = false; - uiConfig.isAlertPrivacyVc = true; + uiConfig.isAlertPrivacyVc = false; //uiConfig.privacyOffsetX = isiOS ? (20 + uiConfig.privacyCheckboxSize) : null; uiConfig.privacyNavReturnBtnImage = 'icon_left_grey'; //图片必须存在; @@ -264,69 +267,69 @@ class JverifyOneClickLoginManage { uiConfig.privacyNavTitleTextSize = 16; //协议二次弹窗内容设置 -Android - final JVPrivacyCheckDialogConfig privacyCheckDialogConfig = - JVPrivacyCheckDialogConfig(); - privacyCheckDialogConfig.width = 250; //协议⼆次弹窗本身的宽 - privacyCheckDialogConfig.height = 100; //协议⼆次弹窗本身的⾼ - privacyCheckDialogConfig.title = '请阅读并同意一下条款'; //弹窗标题 - privacyCheckDialogConfig.offsetX = 0; // 窗口相对屏幕中心的x轴偏移量 - privacyCheckDialogConfig.offsetY = 0; // 窗口相对屏幕中心的y轴偏移量 - - privacyCheckDialogConfig.logBtnText = '同意并登录'; //弹窗登录按钮 - privacyCheckDialogConfig.titleTextSize = 24; // 弹窗标题字体大小 - privacyCheckDialogConfig.gravity = 'center'; //弹窗对齐方式 - privacyCheckDialogConfig.titleTextColor = Colors.black.value; // 弹窗标题字体颜色 - privacyCheckDialogConfig.contentTextGravity = 'left'; //协议⼆次弹窗协议内容对⻬⽅式 - privacyCheckDialogConfig.contentTextSize = 16; //协议⼆次弹窗协议内容字体⼤⼩ - // privacyCheckDialogConfig.logBtnImgPath = "login_btn_normal";//协议⼆次弹窗登录按钮的背景图⽚ - privacyCheckDialogConfig.logBtnTextColor = - Colors.black.value; //协议⼆次弹窗登录按钮的字体颜⾊ - privacyCheckDialogConfig.logBtnMarginT = 20; //协议⼆次弹窗登录按钮上边距 - privacyCheckDialogConfig.logBtnMarginB = 20; //协议⼆次弹窗登录按钮下边距 - privacyCheckDialogConfig.logBtnMarginL = 40; //协议⼆次弹窗登录按钮左边距 - privacyCheckDialogConfig.logBtnWidth = 140; //协议⼆次弹窗登录按钮宽 - privacyCheckDialogConfig.logBtnHeight = 40; //协议⼆次弹窗登录按高 - /// 添加自定义的 控件 到dialog - final List dialogWidgetList = []; - const String btnDialogWidgetid = 'jv_add_custom_dialog_button'; // 标识控件 id - final JVCustomWidget buttonDialogWidget = - JVCustomWidget(btnDialogWidgetid, JVCustomWidgetType.button); - buttonDialogWidget.title = '取消'; - buttonDialogWidget.titleFont = 16; - buttonDialogWidget.left = 80; - buttonDialogWidget.top = 180; - buttonDialogWidget.width = 140; - buttonDialogWidget.height = 40; - buttonDialogWidget.textAlignment = JVTextAlignmentType.center; - buttonDialogWidget.titleColor = Colors.black.value; - // buttonDialogWidget.btnNormalImageName = "main_btn_other"; - // buttonDialogWidget.btnPressedImageName = "main_btn_other"; - // buttonDialogWidget.backgroundColor = Colors.yellow.value; - // buttonWidget.textAlignment = JVTextAlignmentType.left; - - // 添加点击事件监听 - jverify.addClikWidgetEventListener(btnDialogWidgetid, (eventId) { - print('receive listener - click dialog widget event :$eventId'); - if (btnDialogWidgetid == eventId) { - print('receive listener - 点击【新加 dialog button】'); - } - }); - dialogWidgetList.add(buttonDialogWidget); - privacyCheckDialogConfig.widgets = dialogWidgetList; - uiConfig.privacyCheckDialogConfig = privacyCheckDialogConfig; - // iOS 二次弹窗添加取消按钮 - uiConfig.isAlertPrivacyVc = true; - uiConfig.agreementAlertViewWidgets = dialogWidgetList; - uiConfig.agreementAlertViewLogBtnTextFontSize = 16; - uiConfig.agreementAlertViewTitleTexSize = 18; - uiConfig.agreementAlertViewContentTextFontSize = 14; - final alertLeft = (screenWidth / 2 - 300 / 2).toInt(); - uiConfig.agreementAlertViewUIFrames = { - 'superViewFrame': [alertLeft, 100, 300, 220], - 'titleFrame': [20, 10, 260, 40], - 'contentFrame': [25, 70, 250, 120], - 'buttonFrame': [80, 142, 140, 40] - }; + // final JVPrivacyCheckDialogConfig privacyCheckDialogConfig = + // JVPrivacyCheckDialogConfig(); + // privacyCheckDialogConfig.width = 300; //协议⼆次弹窗本身的宽 + // privacyCheckDialogConfig.height = 220; //协议⼆次弹窗本身的⾼ + // privacyCheckDialogConfig.privacyBackgroundColor = Colors.grey.value; + // privacyCheckDialogConfig.title = '请阅读并同意一下条款'; //弹窗标题 + // privacyCheckDialogConfig.offsetX = 0; // 窗口相对屏幕中心的x轴偏移量 + // privacyCheckDialogConfig.offsetY = 0; // 窗口相对屏幕中心的y轴偏移量 + // + // privacyCheckDialogConfig.logBtnText = '同意并登录'; //弹窗登录按钮 + // privacyCheckDialogConfig.titleTextSize = 16; // 弹窗标题字体大小 + // privacyCheckDialogConfig.gravity = 'center'; //弹窗对齐方式 + // privacyCheckDialogConfig.titleTextColor = Colors.black.value; // 弹窗标题字体颜色 + // privacyCheckDialogConfig.contentTextGravity = 'left'; //协议⼆次弹窗协议内容对⻬⽅式 + // privacyCheckDialogConfig.contentTextSize = 14; //协议⼆次弹窗协议内容字体⼤⼩ + // privacyCheckDialogConfig.logBtnImgPath = + // 'log_btn_background'; //协议⼆次弹窗登录按钮的背景图⽚ + // privacyCheckDialogConfig.logBtnTextColor = + // Colors.black.value; //协议⼆次弹窗登录按钮的字体颜⾊ + // privacyCheckDialogConfig.logBtnMarginT = 40; //协议⼆次弹窗登录按钮上边距 + // privacyCheckDialogConfig.logBtnMarginB = 20; //协议⼆次弹窗登录按钮下边距 + // privacyCheckDialogConfig.logBtnMarginL = 90; //协议⼆次弹窗登录按钮左边距 + // privacyCheckDialogConfig.logBtnWidth = 140; //协议⼆次弹窗登录按钮宽 + // privacyCheckDialogConfig.logBtnHeight = 40; //协议⼆次弹窗登录按高 + // /// 添加自定义的 控件 到dialog + // final List dialogWidgetList = []; + // const String btnDialogWidgetid = 'jv_add_custom_dialog_button'; // 标识控件 id + // final JVCustomWidget buttonDialogWidget = + // JVCustomWidget(btnDialogWidgetid, JVCustomWidgetType.button); + // buttonDialogWidget.title = '取消'; + // buttonDialogWidget.titleFont = 16; + // buttonDialogWidget.left = 80; + // buttonDialogWidget.top = 180; + // buttonDialogWidget.width = 140; + // buttonDialogWidget.height = 40; + // buttonDialogWidget.textAlignment = JVTextAlignmentType.center; + // buttonDialogWidget.titleColor = Colors.black.value; + // buttonDialogWidget.btnNormalImageName = "log_btn_background"; + // buttonDialogWidget.btnPressedImageName = "log_btn_background"; + // + // // 添加点击事件监听 + // jverify.addClikWidgetEventListener(btnDialogWidgetid, (eventId) { + // print('receive listener - click dialog widget event :$eventId'); + // if (btnDialogWidgetid == eventId) { + // print('receive listener - 点击【新加 dialog button】'); + // } + // }); + // dialogWidgetList.add(buttonDialogWidget); + // privacyCheckDialogConfig.widgets = dialogWidgetList; + // uiConfig.privacyCheckDialogConfig = privacyCheckDialogConfig; + // // iOS 二次弹窗添加取消按钮 + // uiConfig.isAlertPrivacyVc = true; + // uiConfig.agreementAlertViewWidgets = dialogWidgetList; + // uiConfig.agreementAlertViewLogBtnTextFontSize = 16; + // uiConfig.agreementAlertViewTitleTexSize = 18; + // uiConfig.agreementAlertViewContentTextFontSize = 14; + // final alertLeft = (screenWidth / 2 - 300 / 2).toInt(); + // uiConfig.agreementAlertViewUIFrames = { + // 'superViewFrame': [alertLeft, 100, 300, 220], + // 'titleFrame': [20, 10, 260, 40], + // 'contentFrame': [25, 70, 250, 120], + // 'buttonFrame': [80, 142, 140, 40] + // }; /// 调用接口设置 UI jverify.setCustomAuthorizationView(false, uiConfig, From f9c31f72392ba51c1e7eefcc9b69d2510ce19ac6 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Tue, 22 Apr 2025 19:00:51 +0800 Subject: [PATCH 11/15] =?UTF-8?q?fix:=20-=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=80=BB=E8=BE=91=EF=BC=8CUI=E5=AE=8C=E5=96=84=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20-=20=E4=B8=80=E9=94=AE=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E9=9D=A2=E4=BB=A5=E5=8F=8A=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E7=A1=AE=E8=AE=A4=E9=A1=B5=E9=9D=A2UI?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E5=AE=8C=E5=96=84=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20-=20=E4=B8=80=E9=94=AE=E7=99=BB=E5=BD=95=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=AE=8C=E5=96=84=EF=BC=8C=E8=BE=B9=E7=95=8C=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login_btn_normal.imageset/Contents.json | 21 ++++++++++++++++++ .../login_btn_normal.png | Bin 0 -> 2336 bytes .../login_btn_press.imageset/Contents.json | 21 ++++++++++++++++++ .../login_btn_press.png | Bin 0 -> 2337 bytes lib/tools/jverify_one_click_login.dart | 14 +++++++----- 5 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 ios/Runner/Assets.xcassets/login_btn_normal.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/login_btn_normal.imageset/login_btn_normal.png create mode 100644 ios/Runner/Assets.xcassets/login_btn_press.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/login_btn_press.imageset/login_btn_press.png diff --git a/ios/Runner/Assets.xcassets/login_btn_normal.imageset/Contents.json b/ios/Runner/Assets.xcassets/login_btn_normal.imageset/Contents.json new file mode 100644 index 00000000..a6c3fabf --- /dev/null +++ b/ios/Runner/Assets.xcassets/login_btn_normal.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "login_btn_normal.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/Runner/Assets.xcassets/login_btn_normal.imageset/login_btn_normal.png b/ios/Runner/Assets.xcassets/login_btn_normal.imageset/login_btn_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..4467ae9af1d5de16418d80e6bbf7804eaea51948 GIT binary patch literal 2336 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 Date: Wed, 23 Apr 2025 09:18:04 +0800 Subject: [PATCH 12/15] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4iOS=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E7=99=BB=E5=BD=95UI=E5=92=8Candroid=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools/jverify_one_click_login.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index 549f0778..0f4af29b 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -202,16 +202,16 @@ class JverifyOneClickLoginManage { uiConfig.logBtnHeight = 50; //uiConfig.logBtnOffsetX = isiOS ? 0 : null;//(screenWidth/2 - uiConfig.logBtnWidth/2).toInt(); uiConfig.logBtnOffsetY = isiOS ? 30 : 330; - uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemNumber; + uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemSlogan; uiConfig.logBtnText = '一键登录'.tr; uiConfig.logBtnTextColor = AppColors.mainColor.value; uiConfig.logBtnTextSize = 16; if (isiOS) { uiConfig.loginBtnNormalImage = 'login_btn_normal'; //图片必须存在 uiConfig.loginBtnPressedImage = 'login_btn_press'; //图片必须存在 - // uiConfig.loginBtnUnableImage = 'login_btn_unable'; //图片必须存在 + uiConfig.loginBtnUnableImage = 'login_btn_normal'; //图片必须存在 + uiConfig.logBtnBackgroundPath = 'login_btn_normal'; } - // uiConfig.logBtnBackgroundPath = 'log_btn_background'; // uiConfig.logBtnTextBold = true; uiConfig.privacyHintToast = From 6cd0bedb939cb6e29e18ed6a5c23e473db9af1d5 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Wed, 23 Apr 2025 10:23:28 +0800 Subject: [PATCH 13/15] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4iOS=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E7=99=BB=E5=BD=95UI=E5=92=8Candroid=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login_btn_press.png | Bin 2337 -> 0 bytes .../Contents.json | 21 ++++++++++++++++++ .../sky_login_btn_normal.png} | Bin .../Contents.json | 2 +- .../sky_login_btn_press.png | Bin 0 -> 2336 bytes .../Contents.json | 21 ++++++++++++++++++ .../xhj_login_btn_normal.png | Bin 0 -> 1963 bytes .../Contents.json | 2 +- .../xhj_login_btn_press.png | Bin 0 -> 1960 bytes lib/flavors.dart | 20 +++++++++++++++++ lib/tools/jverify_one_click_login.dart | 12 ++++++---- 11 files changed, 72 insertions(+), 6 deletions(-) delete mode 100644 ios/Runner/Assets.xcassets/login_btn_press.imageset/login_btn_press.png create mode 100644 ios/Runner/Assets.xcassets/sky_login_btn_normal.imageset/Contents.json rename ios/Runner/Assets.xcassets/{login_btn_normal.imageset/login_btn_normal.png => sky_login_btn_normal.imageset/sky_login_btn_normal.png} (100%) rename ios/Runner/Assets.xcassets/{login_btn_normal.imageset => sky_login_btn_press.imageset}/Contents.json (85%) create mode 100644 ios/Runner/Assets.xcassets/sky_login_btn_press.imageset/sky_login_btn_press.png create mode 100644 ios/Runner/Assets.xcassets/xhj_login_btn_normal.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/xhj_login_btn_normal.imageset/xhj_login_btn_normal.png rename ios/Runner/Assets.xcassets/{login_btn_press.imageset => xhj_login_btn_press.imageset}/Contents.json (85%) create mode 100644 ios/Runner/Assets.xcassets/xhj_login_btn_press.imageset/xhj_login_btn_press.png diff --git a/ios/Runner/Assets.xcassets/login_btn_press.imageset/login_btn_press.png b/ios/Runner/Assets.xcassets/login_btn_press.imageset/login_btn_press.png deleted file mode 100644 index 65f8929bed01c468bfee9720393cda159c3d214f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2337 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 Date: Wed, 23 Apr 2025 10:42:43 +0800 Subject: [PATCH 14/15] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4iOS=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E7=99=BB=E5=BD=95UI=E5=92=8Candroid=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools/jverify_one_click_login.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index fe6f5532..00751543 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -204,9 +204,9 @@ class JverifyOneClickLoginManage { uiConfig.logBtnOffsetY = isiOS ? 30 : 330; uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemSlogan; uiConfig.logBtnText = '一键登录'.tr; - uiConfig.logBtnTextColor = AppColors.mainColor.value; uiConfig.logBtnTextSize = 16; if (isiOS) { + uiConfig.logBtnTextColor = Colors.white.value; uiConfig.loginBtnNormalImage = '${F.loginBtnImagePrefix}_login_btn_normal'; //图片必须存在 uiConfig.loginBtnPressedImage = From c3e7998146911aaae47b51e2e21e66e8e909b180 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Wed, 23 Apr 2025 10:43:06 +0800 Subject: [PATCH 15/15] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4iOS=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E7=99=BB=E5=BD=95UI=E5=92=8Candroid=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools/jverify_one_click_login.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/tools/jverify_one_click_login.dart b/lib/tools/jverify_one_click_login.dart index 00751543..bd4a6ec2 100644 --- a/lib/tools/jverify_one_click_login.dart +++ b/lib/tools/jverify_one_click_login.dart @@ -204,6 +204,7 @@ class JverifyOneClickLoginManage { uiConfig.logBtnOffsetY = isiOS ? 30 : 330; uiConfig.logBtnVerticalLayoutItem = JVIOSLayoutItem.ItemSlogan; uiConfig.logBtnText = '一键登录'.tr; + uiConfig.logBtnTextColor = AppColors.mainColor.value; uiConfig.logBtnTextSize = 16; if (isiOS) { uiConfig.logBtnTextColor = Colors.white.value;