From 377fc0619edd7d55d8566cce216a19b0f6a9551d Mon Sep 17 00:00:00 2001 From: "sky.min" Date: Sat, 7 Feb 2026 09:55:37 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=A4=96=E9=83=A8=E7=9A=84?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E5=BC=80=E9=94=81=E8=BD=AC=E5=9C=88=E5=9C=88?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=202.=E5=8F=96=E6=B6=88=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E4=BB=B6=E5=95=86=E5=9F=8E=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=94=AF=E4=BB=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lockDetail/lockDetail_logic.dart | 10 +++ .../lockDetail/lockDetail_page.dart | 24 +++++-- lib/mine/mall/lockMall_logic.dart | 68 ++++++++++--------- 3 files changed, 67 insertions(+), 35 deletions(-) diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index f8f17a4e..1c6278b3 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -213,6 +213,9 @@ class LockDetailLogic extends BaseGetXController { // 更新电量 await uploadElectricQuantityRequest(); + // 停止远程开锁动画 + _stopRemoteUnlockAnimation(); + resetOpenDoorState(); state.animationController?.stop(); @@ -908,6 +911,13 @@ class LockDetailLogic extends BaseGetXController { eventBus.fire(RefreshLockDetailInfoDataEvent()); } + // 停止远程开锁动画 + void _stopRemoteUnlockAnimation() { + state.openLockBtnState.value = 0; + state.animationController?.reset(); + print("远程开锁动画已停止"); + } + // /// 请求设备网络信息并设置 // void requestDeviceNetworkInfo() async { // final DeviceNetwork deviceNetworkInfo = diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 4ffb5fe9..c4518399 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -700,9 +700,14 @@ class _LockDetailPageState extends State with TickerProviderStat child: GestureDetector( onTap: () { ShowCupertinoAlertView().isToRemoteUnLockAlert(remoteUnlockAction: () { - // if (state.keyInfos.value.hasGateway != 1) { - // logic.showToast('附近没有可用网关'.tr); - // } + // 判断是否是wifi锁 + if (state.keyInfos.value.network?.isOnline != 1 && state.keyInfos.value.hasGateway != 1) { + logic.showToast('附近没有可用网关'.tr); + return; + } + //新增----min 启动开锁按钮旋转动画 + _startRemoteUnlockAnimation(); + logic.remoteOpenLock(); }); }, @@ -851,7 +856,18 @@ class _LockDetailPageState extends State with TickerProviderStat ); } -//旋转动画 + // 启动远程开锁动画 + void _startRemoteUnlockAnimation() { + if (state.animationController != null) { + state.openLockBtnState.value = 1; + state.animationController?.forward(); + print("启动动画控制器"); + } else { + print("动画控制器为空,无法启动动画"); + } + } + + //旋转动画 Widget buildRotationTransition({required double width, required double height}) { // 如果动画控制器未初始化,则不显示动画 if (state.animationController == null) { diff --git a/lib/mine/mall/lockMall_logic.dart b/lib/mine/mall/lockMall_logic.dart index c9c6e204..154560f9 100755 --- a/lib/mine/mall/lockMall_logic.dart +++ b/lib/mine/mall/lockMall_logic.dart @@ -62,41 +62,47 @@ class LockMallLogic extends BaseGetXController { } } - //监听webview的调用 + //监听webview的调用(支付功能已停用) Future flutterBridge(JavaScriptMessage message) async { - final dynamic obj = json.decode(message.message); - if (obj is! Map && obj['action'] is String) { - return; - } - final String action = obj['action']; - final dynamic data = obj['data']; - final String? callFun = obj['callFun']; - switch (action) { - case 'WechatPayParams': - //微信支付 - WechatManageTool.getAppInfo(() { - wxPay(data, callFun); - }); - // wxPay(data, callFun); - break; - } + // final dynamic obj = json.decode(message.message); + // if (obj is! Map && obj['action'] is String) { + // return; + // } + // final String action = obj['action']; + // final dynamic data = obj['data']; + // final String? callFun = obj['callFun']; + // switch (action) { + // case 'WechatPayParams': + // //微信支付 + // WechatManageTool.getAppInfo(() { + // wxPay(data, callFun); + // }); + // // wxPay(data, callFun); + // break; + // } + + // 支付功能已停用 + showToast('支付功能暂未开放'.tr); } - //微信支付 + //微信支付(已停用) Future wxPay(dynamic data, String? callFun) async { - WxPayTool.pay(WxPayTool.mapToPayment(data), (WeChatResponse response) { - if (response is WeChatPaymentResponse) { - final Map data = { - 'type': response.type, - 'extData': response.extData, - 'errCode': response.errCode, - 'errStr': response.errStr, - }; - state.mallWebView.runJavaScript( - 'window.$callFun(`${json.encode(data)}`)', - ); - } - }); + // WxPayTool.pay(WxPayTool.mapToPayment(data), (WeChatResponse response) { + // if (response is WeChatPaymentResponse) { + // final Map data = { + // 'type': response.type, + // 'extData': response.extData, + // 'errCode': response.errCode, + // 'errStr': response.errStr, + // }; + // state.mallWebView.runJavaScript( + // 'window.$callFun(`${json.encode(data)}`)', + // ); + // } + // }); + + // 支付功能已停用 + showToast('支付功能暂未开放'.tr); } //判断webview 是否可以有路由可以回退,无则退出当前页面