diff --git a/lib/app.dart b/lib/app.dart index 0af65278..dfffaee3 100755 --- a/lib/app.dart +++ b/lib/app.dart @@ -176,8 +176,4 @@ Future getAgreePrivacyShowUpdate() async { } } -Future getAppInfo() async { - final GetAppInfo entity = await ApiRepository.to.getAppInfo(); - CustomerTool.init(entity.data?.wechatServiceUrl ?? ''); - WxPayTool.associationUrl = entity.data?.appSiteUrl ?? ''; -} + diff --git a/lib/main.dart b/lib/main.dart index 2399f005..612b0694 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,11 +4,14 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:star_lock/flavors.dart'; +import 'package:star_lock/login/login/app_get_version.dart'; import 'package:star_lock/mine/about/debug/debug_tool.dart'; import 'package:star_lock/network/api_provider.dart'; import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/tools/bugly/bugly_tool.dart'; +import 'package:star_lock/tools/customer_tool.dart'; import 'package:star_lock/tools/device_info_service.dart'; +import 'package:star_lock/tools/pay/wx_pay_tool.dart'; import 'package:star_lock/tools/platform_info_services.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/xs_jPhush.dart'; @@ -30,7 +33,11 @@ FutureOr main() async { final bool isLogin = await getLoginStatus(); if (isLogin) { await privacySDKInitialization(); - Future.delayed(const Duration(milliseconds: 500), getAppInfo); + Future.delayed(const Duration(milliseconds: 500), () async{ + final GetAppInfo entity = await ApiRepository.to.getAppInfo(); + CustomerTool.init(entity.data?.wechatServiceUrl ?? ''); + WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!); + }); } WidgetsBinding.instance.addPostFrameCallback((_) async { diff --git a/lib/main/lockDetail/iris/addIrisType/addIrisType_page.dart b/lib/main/lockDetail/iris/addIrisType/addIrisType_page.dart index 42011cb3..5dfabc2d 100755 --- a/lib/main/lockDetail/iris/addIrisType/addIrisType_page.dart +++ b/lib/main/lockDetail/iris/addIrisType/addIrisType_page.dart @@ -259,8 +259,8 @@ class _AddIrisTypePageState extends State { rightTitle: '', isTipsImg: false, isHaveRightWidget: true, - rightWidget: SizedBox( - width: 60.w, height: 50.h, child: Obx(() => _isAdmin()))))), + rightWidget: + SizedBox(width: 60.w, height: 50.h, child: _isAdmin())))), SizedBox(height: 30.h), SubmitBtn( btnName: TranslationLoader.lanKeys!.next!.tr, diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index 133bce35..1f324ede 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -470,8 +470,14 @@ class LockDetailLogic extends BaseGetXController { Storage.setString(saveLockAlias, state.lockAlias.value); } else if (event.type == 4) { // 4 更新了电量 - state.electricQuantity.value = int.parse(event.setResult); - state.keyInfos.value.electricQuantity = int.parse(event.setResult); + // state.electricQuantity.value = int.parse(event.setResult); + // state.keyInfos.value.electricQuantity = int.parse(event.setResult); + final int electricQuantity = + int.tryParse(event.setResult['electricQuantity']) ?? 0; + state.electricQuantity.value =electricQuantity; + state.keyInfos.value.electricQuantity = electricQuantity; + state.keyInfos.value.electricQuantityDate = + event.setResult['uploadElectricQuantityDate']; } else if (event.type == 5) { // 5 远程开锁 state.keyInfos.value.lockSetting!.remoteUnlock = diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 099b1b18..196d7ba6 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -1160,6 +1160,7 @@ class _LockDetailPageState extends State state.bottomBtnisEable.value, () { Get.toNamed(Routers.msgNotificationPage, arguments: { 'lockId': state.keyInfos.value.lockId, + 'isSupportCatEye': state.keyInfos.value.lockFeature!.isSupportCatEye, }); }), ); diff --git a/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart b/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart index 30959240..2d5887d8 100755 --- a/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart +++ b/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_page.dart @@ -143,13 +143,15 @@ class _MsgNotificationPageState extends State { SizedBox( height: 10.h, ), - Obx(() => CommonItem( - leftTitel: '有人出现在门口'.tr, - rightTitle: "", - isHaveLine: true, - isHaveRightWidget: true, - rightWidget: - SizedBox(width: 60.w, height: 50.h, child: _switch(4)))), + Obx(() => Visibility( + visible: state.isSupportCatEye.value, + child: CommonItem( + leftTitel: '有人出现在门口'.tr, + rightTitle: "", + isHaveLine: true, + isHaveRightWidget: true, + rightWidget: + SizedBox(width: 60.w, height: 50.h, child: _switch(4))))), SizedBox( height: 60.h, ), diff --git a/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_state.dart b/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_state.dart index 41c6ae1e..1ba082ec 100755 --- a/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_state.dart +++ b/lib/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_state.dart @@ -15,12 +15,16 @@ class MsgNotificationState { final String notifyEnable = '已启用'.tr; final String notifyDisable = '未启用'.tr; final String settingSuccess = '设置成功'.tr; + var isSupportCatEye = false.obs; MsgNotificationState() { Map map = Get.arguments; if (map['lockId'] != null) { getLockId.value = map['lockId']; } + if (map['isSupportCatEye'] != null) { + isSupportCatEye.value = map['isSupportCatEye'] == 1; + } nDaysNotOpenDoor.value = notifyEnable; isLowBattery.value = notifyEnable; diff --git a/lib/main/lockDetail/palm/addPalmType/addPalmType_page.dart b/lib/main/lockDetail/palm/addPalmType/addPalmType_page.dart index 7941ee1d..2a66c706 100755 --- a/lib/main/lockDetail/palm/addPalmType/addPalmType_page.dart +++ b/lib/main/lockDetail/palm/addPalmType/addPalmType_page.dart @@ -259,8 +259,8 @@ class _AddPalmTypePageState extends State { rightTitle: '', isTipsImg: false, isHaveRightWidget: true, - rightWidget: SizedBox( - width: 60.w, height: 50.h, child: Obx(() => _isAdmin()))))), + rightWidget: + SizedBox(width: 60.w, height: 50.h, child: _isAdmin())))), SizedBox(height: 30.h), SubmitBtn( btnName: TranslationLoader.lanKeys!.next!.tr, diff --git a/lib/main/lockMian/lockMain/lockMain_logic.dart b/lib/main/lockMian/lockMain/lockMain_logic.dart index f658cffa..94459e55 100755 --- a/lib/main/lockMian/lockMain/lockMain_logic.dart +++ b/lib/main/lockMian/lockMain/lockMain_logic.dart @@ -52,6 +52,14 @@ class LockMainLogic extends BaseGetXController { if (Get.isRegistered()) { //设置控制器数据并刷新 Get.find().setLockListInfoGroupEntity(entity); + } else { + //延迟加载 + Future.delayed(200.milliseconds, () { + if (Get.isRegistered()) { + //设置控制器数据并刷新 + Get.find().setLockListInfoGroupEntity(entity); + } + }); } } diff --git a/lib/main/lockMian/lockMain/lockMain_page.dart b/lib/main/lockMian/lockMain/lockMain_page.dart index 46aec398..22aa7e6e 100755 --- a/lib/main/lockMian/lockMain/lockMain_page.dart +++ b/lib/main/lockMian/lockMain/lockMain_page.dart @@ -54,9 +54,7 @@ class _StarLockMainPageState extends State if (clearScanDevices) { BlueManage().scanDevices.clear(); } - WidgetsBinding.instance.addPostFrameCallback((_) async { - setState(() {}); - }); + setState(() {}); } @override diff --git a/lib/mine/mineSet/mineSet/mineSet_page.dart b/lib/mine/mineSet/mineSet/mineSet_page.dart index 51cd8e96..6c15d874 100755 --- a/lib/mine/mineSet/mineSet/mineSet_page.dart +++ b/lib/mine/mineSet/mineSet/mineSet_page.dart @@ -313,16 +313,16 @@ class _MineSetPageState extends State Navigator.pushNamed( context, Routers.aPPUnlockNeedMobileNetworkingLockPage); }), - if (!F.isLite && widget.showAbout) - CommonItem( - leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr, - isHaveLine: true, - isHaveDirection: true, - action: () { - Get.back(); - Get.toNamed(Routers.valueAddedServicesPage); - }, - ), + // if (!F.isLite) + CommonItem( + leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr, + isHaveLine: true, + isHaveDirection: true, + action: () { + Get.back(); + Get.toNamed(Routers.valueAddedServicesPage); + }, + ), SizedBox( height: 10.h, ), diff --git a/lib/network/api_provider_base.dart b/lib/network/api_provider_base.dart index 1c29ae6e..c7d3977a 100755 --- a/lib/network/api_provider_base.dart +++ b/lib/network/api_provider_base.dart @@ -2,6 +2,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:get/get.dart'; import 'package:star_lock/app_settings/app_settings.dart'; +import 'package:star_lock/tools/showTipView.dart'; import '../appRouters.dart'; import '../flavors.dart'; import 'api.dart'; @@ -100,6 +101,9 @@ class BaseProvider extends GetConnect with Api { case 10001: EasyLoading.showToast('数据不存在', duration: 2000.milliseconds); break; + case 434: //与后台约定弹出确认框提示 + ShowTipView().showSureBtnTipsAlert(T['errorMsg']); + break; } } } diff --git a/lib/starLockApplication/starLockApplication.dart b/lib/starLockApplication/starLockApplication.dart index 21ec1b71..adc72d5d 100755 --- a/lib/starLockApplication/starLockApplication.dart +++ b/lib/starLockApplication/starLockApplication.dart @@ -40,7 +40,7 @@ class _StarLockApplicationState extends State { } else if (snapshot.hasData) { if (snapshot.data!) { // 如果用户已登录,返回主页面 - getAppInfo(); + // getAppInfo(); return F.sw( skyCall: () => StarLockMainPage(), xhjCall: () => const StarLockMainXHJPage()); diff --git a/lib/tools/appFirstEnterHandle.dart b/lib/tools/appFirstEnterHandle.dart index 9bb02c61..6976af6b 100755 --- a/lib/tools/appFirstEnterHandle.dart +++ b/lib/tools/appFirstEnterHandle.dart @@ -13,6 +13,7 @@ import 'package:star_lock/login/login/app_get_version.dart'; import 'package:star_lock/main.dart'; import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/tools/customer_tool.dart'; +import 'package:star_lock/tools/pay/wx_pay_tool.dart'; import 'package:star_lock/tools/storage.dart'; import '../versionUndate/versionUndateTool.dart'; @@ -67,6 +68,7 @@ class AppFirstEnterHandle { Future getAppInfo() async { final GetAppInfo entity = await ApiRepository.to.getAppInfo(); CustomerTool.init(entity.data?.wechatServiceUrl ?? ''); + WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!); } //默认布局 diff --git a/lib/tools/pay/wx_pay_tool.dart b/lib/tools/pay/wx_pay_tool.dart index 20e025a5..0128de4c 100755 --- a/lib/tools/pay/wx_pay_tool.dart +++ b/lib/tools/pay/wx_pay_tool.dart @@ -1,4 +1,5 @@ import 'package:fluwx/fluwx.dart'; +import 'package:star_lock/tools/storage.dart'; /// /// 微信支付 @@ -7,24 +8,29 @@ import 'package:fluwx/fluwx.dart'; class WxPayTool { static Fluwx fluwx = Fluwx(); static bool isInit = false; - static String associationUrl = ''; + static void setAssociationUrl(String associationUrl) { + Storage.saveAssociationUrl(associationUrl); + } - static init(String appId, String universalLink) { + static Future init(String appId, String universalLink) async { fluwx.registerApi(appId: appId, universalLink: universalLink); } - static Future pay(Payment payment, WeChatResponseSubscriber listener) async { + static Future pay( + Payment payment, WeChatResponseSubscriber listener) async { if (!isInit) { isInit = true; - await init(payment.appId, associationUrl); + final String _associationUrl = await Storage.getAssociationUrl(); + await init(payment.appId, _associationUrl); //回调 - responseListener(WeChatResponse response) { + void responseListener(WeChatResponse response) { if (response is WeChatPaymentResponse) { //支付回调 listener.call(response); } } + //开启监听 fluwx.addSubscriber(responseListener); } diff --git a/lib/tools/showTipView.dart b/lib/tools/showTipView.dart index 011e1806..d4b14e59 100755 --- a/lib/tools/showTipView.dart +++ b/lib/tools/showTipView.dart @@ -13,7 +13,8 @@ typedef BlockIsHaveAllDataCallback = void Function(bool isAllData); class ShowTipView { // 只有一个确定按钮 - void showSureAlertDialog(String contentStr, {String? tipTitle, String? sureStr}) { + void showSureAlertDialog(String contentStr, + {String? tipTitle, String? sureStr}) { showCupertinoDialog( context: Get.context!, builder: (BuildContext context) { @@ -121,4 +122,23 @@ class ShowTipView { }, ); } + + // 只有一个确定按钮 + void showSureBtnTipsAlert(String tipsText) { + showCupertinoDialog( + context: Get.context!, + builder: (BuildContext context) { + return CupertinoAlertDialog( + content: Text(tipsText), + actions: [ + CupertinoDialogAction( + child: + Text('确定'.tr, style: TextStyle(color: AppColors.mainColor)), + onPressed: Get.back, + ), + ], + ); + }, + ); + } } diff --git a/lib/tools/storage.dart b/lib/tools/storage.dart index 09cefe43..842d18e5 100755 --- a/lib/tools/storage.dart +++ b/lib/tools/storage.dart @@ -28,6 +28,7 @@ const String saveUserLoginData = 'userLoginData'; const String saveLockMainListData = 'lockMainListData'; const String isOpenDeBug = 'isOpenDeBug'; //是否打开 debug const String automaticLockOffTime = 'automaticLockOffTime'; //自动关锁时间 +const String associationUrl = 'associationUrl'; //ios跳转微信的 url class Storage { factory Storage() => _instance; @@ -223,4 +224,14 @@ class Storage { final String data = await Storage.getString(automaticLockOffTime) ?? '0'; return data; } + + //设置自动关锁时间 + static Future saveAssociationUrl(String data) async { + await Storage.setString(associationUrl, data); + } + + static Future getAssociationUrl() async { + final String data = await Storage.getString(associationUrl) ?? '0'; + return data; + } } diff --git a/pubspec.yaml b/pubspec.yaml index 4bfba5e8..18af55df 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -66,8 +66,10 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # 1.0.56+2024060502:xhj 线上环境,对外发布,提交测试 # 1.0.57+2024060702:xhj 线上环境,对外发布,提交测试 # 1.0.58+2024060702:xhj 线上环境,对外发布,提交测试 +# 1.0.59+2024060703:xhj 线上环境,对外发布,提交测试 +# 1.0.60+2024061101:xhj 线上环境,对外发布,提交测试 -version: 1.0.58+2024060702 +version: 1.0.60+2024061101 environment: sdk: '>=2.12.0 <3.0.0'