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(); } //绑定星图配置