fix:1,优化绑定星图配置流程—修复重复绑定问题

2,登录后增加星图相关配置本地存储处理—以免重复注册节点问题
	3,退出登录销毁星图相关资源处理
This commit is contained in:
“DaisyWu” 2024-12-12 16:27:50 +08:00
parent f9bf6a15bb
commit 909b2a7d49
5 changed files with 37 additions and 15 deletions

View File

@ -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<String, dynamic> toJson() {
final map = <String, dynamic>{};
@ -50,6 +57,9 @@ class LoginData {
map['haveSafeAnswer'] = haveSafeAnswer;
map['uid'] = uid;
map['isVip'] = isVip;
if (starchart != null) {
map['starchart'] = starchart!.toJson();
}
return map;
}
}

View File

@ -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<LockMainLogic>()) {
Get.find<LockMainLogic>().getStarLockInfo(isUnShowLoading: true);

View File

@ -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();
}
//

View File

@ -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', {

View File

@ -111,8 +111,8 @@ class StartChartManage {
await _requestStarChartRegisterNode();
await _saveStarChartRegisterNodeToStorage(requestStarChartRegisterNode);
FromPeerId = requestStarChartRegisterNode.peer!.id ?? '';
bindUserStarchart();
}
bindUserStarchart();
}
//