From 909b2a7d491707cf2cb185a924b80d3315173a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Thu, 12 Dec 2024 16:27:50 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A1=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=98=9F=E5=9B=BE=E9=85=8D=E7=BD=AE=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E2=80=94=E4=BF=AE=E5=A4=8D=E9=87=8D=E5=A4=8D=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E9=97=AE=E9=A2=98=20=092=EF=BC=8C=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=90=8E=E5=A2=9E=E5=8A=A0=E6=98=9F=E5=9B=BE=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=9C=AC=E5=9C=B0=E5=AD=98=E5=82=A8=E5=A4=84?= =?UTF-8?q?=E7=90=86=E2=80=94=E4=BB=A5=E5=85=8D=E9=87=8D=E5=A4=8D=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E8=8A=82=E7=82=B9=E9=97=AE=E9=A2=98=20=093=EF=BC=8C?= =?UTF-8?q?=E9=80=80=E5=87=BA=E7=99=BB=E5=BD=95=E9=94=80=E6=AF=81=E6=98=9F?= =?UTF-8?q?=E5=9B=BE=E7=9B=B8=E5=85=B3=E8=B5=84=E6=BA=90=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/entity/LoginData.dart | 12 ++++++++- lib/login/login/starLock_login_logic.dart | 9 +++++++ .../monitoring/star_chart_logic.dart | 27 ++++++++++--------- lib/mine/mineSet/mineSet/mineSet_logic.dart | 2 ++ lib/talk/startChart/start_chart_manage.dart | 2 +- 5 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/login/login/entity/LoginData.dart b/lib/login/login/entity/LoginData.dart index 921be345..0879cc53 100755 --- a/lib/login/login/entity/LoginData.dart +++ b/lib/login/login/entity/LoginData.dart @@ -1,3 +1,5 @@ +import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart'; + class LoginData { LoginData( {this.accessToken, @@ -10,7 +12,8 @@ class LoginData { this.nickname, this.haveSafeAnswer, this.uid, - this.isVip}); + this.isVip, + this.starchart}); LoginData.fromJson(dynamic json) { accessToken = json['accessToken']; @@ -24,6 +27,9 @@ class LoginData { haveSafeAnswer = json['haveSafeAnswer']; uid = json['uid']; isVip = json['isVip']; + starchart = json['starchart'] != null + ? Starchart.fromJson(json['starchart']) + : null; } String? accessToken; int? userid; @@ -36,6 +42,7 @@ class LoginData { bool? haveSafeAnswer; int? uid; int? isVip; + Starchart? starchart; Map toJson() { final map = {}; @@ -50,6 +57,9 @@ class LoginData { map['haveSafeAnswer'] = haveSafeAnswer; map['uid'] = uid; map['isVip'] = isVip; + if (starchart != null) { + map['starchart'] = starchart!.toJson(); + } return map; } } diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index fdd944c3..7ab2f5f3 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -6,6 +6,8 @@ import 'package:star_lock/blue/blue_manage.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/mine/mine/starLockMine_state.dart'; +import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart'; +import 'package:star_lock/talk/startChart/entity/star_chart_register_node_entity.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import 'package:umeng_common_sdk/umeng_common_sdk.dart'; @@ -58,6 +60,13 @@ class StarLockLoginLogic extends BaseGetXController { Storage.saveLoginData(entity.data); Storage.setBool(saveIsVip, entity.data!.isVip == 1); + //如已有星图配置则保存 无需重复注册节点及重复绑定 + final Starchart starChart = entity.data!.starchart!; + await Storage.saveStarChartRegisterNodeInfo(StarChartRegisterNodeEntity( + peer: PeerData( + id: starChart.starchartId, + publicKey: starChart.starchartPeerPublicKey, + privateKey: starChart.starchartPeerPrivateKey))); eventBus.fire(MineInfoChangeRefreshUI()); if (Get.isRegistered()) { Get.find().getStarLockInfo(isUnShowLoading: true); diff --git a/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart b/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart index 759f60fa..b90c1d14 100644 --- a/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart +++ b/lib/main/lockDetail/monitoring/monitoring/star_chart_logic.dart @@ -63,21 +63,22 @@ class StarChartLogic extends BaseGetXController { // 发起接听命令 void initiateAnswerCommand() { - state.answerTimer = Timer.periodic(const Duration(seconds: 1), (timer) { - StartChartManage().sendTalkAcceptMessage(); - state.answerSeconds++; + // state.answerTimer = Timer.periodic(const Duration(seconds: 1), (timer) { + // StartChartManage().sendTalkAcceptMessage(); + // state.answerSeconds++; - if (state.talkStatus.value == TalkStatus.duringCall.index) { - state.answerTimer.cancel(); - return; - } + // if (state.talkStatus.value == TalkStatus.duringCall.index) { + // state.answerTimer.cancel(); + // return; + // } - if (state.answerSeconds >= 6) { - state.answerTimer.cancel(); - showToast('接听失败'.tr); - initiateHangUpCommand(); - } - }); + // if (state.answerSeconds >= 6) { + // state.answerTimer.cancel(); + // showToast('接听失败'.tr); + // initiateHangUpCommand(); + // } + // }); + StartChartManage().sendTalkAcceptMessage(); } // 发起挂断命令 diff --git a/lib/mine/mineSet/mineSet/mineSet_logic.dart b/lib/mine/mineSet/mineSet/mineSet_logic.dart index 5cbcee65..d1f40f9b 100755 --- a/lib/mine/mineSet/mineSet/mineSet_logic.dart +++ b/lib/mine/mineSet/mineSet/mineSet_logic.dart @@ -9,6 +9,7 @@ import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireElect import 'package:star_lock/mine/mineSet/mineSet/mineSet_state.dart'; import 'package:star_lock/mine/mineSet/mineSet/userSettingInfoEntity.dart'; import 'package:star_lock/mine/mineSet/mineSet/weChatQRCodeEntity.dart'; +import 'package:star_lock/talk/startChart/start_chart_manage.dart'; import 'package:star_lock/tools/push/xs_jPhush.dart'; import 'package:star_lock/tools/showCupertinoAlertView.dart'; import 'package:star_lock/tools/storage.dart'; @@ -150,6 +151,7 @@ class MineSetLogic extends BaseGetXController { BlueManage().disconnect(); XSJPushProvider().initLocalNotification(isCancelLocalPush: true); + StartChartManage().destruction(); Get.offNamedUntil(Routers.starLockLoginPage, (Route route) => false); } else { UmengCommonSdk.onEvent('logout', { diff --git a/lib/talk/startChart/start_chart_manage.dart b/lib/talk/startChart/start_chart_manage.dart index 63d66256..a9e82e2e 100644 --- a/lib/talk/startChart/start_chart_manage.dart +++ b/lib/talk/startChart/start_chart_manage.dart @@ -111,8 +111,8 @@ class StartChartManage { await _requestStarChartRegisterNode(); await _saveStarChartRegisterNodeToStorage(requestStarChartRegisterNode); FromPeerId = requestStarChartRegisterNode.peer!.id ?? ''; + bindUserStarchart(); } - bindUserStarchart(); } //绑定星图配置