fix:1,优化绑定星图配置流程—修复重复绑定问题
2,登录后增加星图相关配置本地存储处理—以免重复注册节点问题 3,退出登录销毁星图相关资源处理
This commit is contained in:
parent
f9bf6a15bb
commit
909b2a7d49
@ -1,3 +1,5 @@
|
|||||||
|
import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart';
|
||||||
|
|
||||||
class LoginData {
|
class LoginData {
|
||||||
LoginData(
|
LoginData(
|
||||||
{this.accessToken,
|
{this.accessToken,
|
||||||
@ -10,7 +12,8 @@ class LoginData {
|
|||||||
this.nickname,
|
this.nickname,
|
||||||
this.haveSafeAnswer,
|
this.haveSafeAnswer,
|
||||||
this.uid,
|
this.uid,
|
||||||
this.isVip});
|
this.isVip,
|
||||||
|
this.starchart});
|
||||||
|
|
||||||
LoginData.fromJson(dynamic json) {
|
LoginData.fromJson(dynamic json) {
|
||||||
accessToken = json['accessToken'];
|
accessToken = json['accessToken'];
|
||||||
@ -24,6 +27,9 @@ class LoginData {
|
|||||||
haveSafeAnswer = json['haveSafeAnswer'];
|
haveSafeAnswer = json['haveSafeAnswer'];
|
||||||
uid = json['uid'];
|
uid = json['uid'];
|
||||||
isVip = json['isVip'];
|
isVip = json['isVip'];
|
||||||
|
starchart = json['starchart'] != null
|
||||||
|
? Starchart.fromJson(json['starchart'])
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
String? accessToken;
|
String? accessToken;
|
||||||
int? userid;
|
int? userid;
|
||||||
@ -36,6 +42,7 @@ class LoginData {
|
|||||||
bool? haveSafeAnswer;
|
bool? haveSafeAnswer;
|
||||||
int? uid;
|
int? uid;
|
||||||
int? isVip;
|
int? isVip;
|
||||||
|
Starchart? starchart;
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final map = <String, dynamic>{};
|
final map = <String, dynamic>{};
|
||||||
@ -50,6 +57,9 @@ class LoginData {
|
|||||||
map['haveSafeAnswer'] = haveSafeAnswer;
|
map['haveSafeAnswer'] = haveSafeAnswer;
|
||||||
map['uid'] = uid;
|
map['uid'] = uid;
|
||||||
map['isVip'] = isVip;
|
map['isVip'] = isVip;
|
||||||
|
if (starchart != null) {
|
||||||
|
map['starchart'] = starchart!.toJson();
|
||||||
|
}
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,8 @@ import 'package:star_lock/blue/blue_manage.dart';
|
|||||||
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
|
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
|
||||||
import 'package:star_lock/login/login/entity/LoginEntity.dart';
|
import 'package:star_lock/login/login/entity/LoginEntity.dart';
|
||||||
import 'package:star_lock/mine/mine/starLockMine_state.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:star_lock/tools/baseGetXController.dart';
|
||||||
import 'package:umeng_common_sdk/umeng_common_sdk.dart';
|
import 'package:umeng_common_sdk/umeng_common_sdk.dart';
|
||||||
|
|
||||||
@ -58,6 +60,13 @@ class StarLockLoginLogic extends BaseGetXController {
|
|||||||
|
|
||||||
Storage.saveLoginData(entity.data);
|
Storage.saveLoginData(entity.data);
|
||||||
Storage.setBool(saveIsVip, entity.data!.isVip == 1);
|
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());
|
eventBus.fire(MineInfoChangeRefreshUI());
|
||||||
if (Get.isRegistered<LockMainLogic>()) {
|
if (Get.isRegistered<LockMainLogic>()) {
|
||||||
Get.find<LockMainLogic>().getStarLockInfo(isUnShowLoading: true);
|
Get.find<LockMainLogic>().getStarLockInfo(isUnShowLoading: true);
|
||||||
|
|||||||
@ -63,21 +63,22 @@ class StarChartLogic extends BaseGetXController {
|
|||||||
|
|
||||||
// 发起接听命令
|
// 发起接听命令
|
||||||
void initiateAnswerCommand() {
|
void initiateAnswerCommand() {
|
||||||
state.answerTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
|
// state.answerTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
|
||||||
StartChartManage().sendTalkAcceptMessage();
|
// StartChartManage().sendTalkAcceptMessage();
|
||||||
state.answerSeconds++;
|
// state.answerSeconds++;
|
||||||
|
|
||||||
if (state.talkStatus.value == TalkStatus.duringCall.index) {
|
// if (state.talkStatus.value == TalkStatus.duringCall.index) {
|
||||||
state.answerTimer.cancel();
|
// state.answerTimer.cancel();
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (state.answerSeconds >= 6) {
|
// if (state.answerSeconds >= 6) {
|
||||||
state.answerTimer.cancel();
|
// state.answerTimer.cancel();
|
||||||
showToast('接听失败'.tr);
|
// showToast('接听失败'.tr);
|
||||||
initiateHangUpCommand();
|
// initiateHangUpCommand();
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
StartChartManage().sendTalkAcceptMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发起挂断命令
|
// 发起挂断命令
|
||||||
|
|||||||
@ -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/mineSet_state.dart';
|
||||||
import 'package:star_lock/mine/mineSet/mineSet/userSettingInfoEntity.dart';
|
import 'package:star_lock/mine/mineSet/mineSet/userSettingInfoEntity.dart';
|
||||||
import 'package:star_lock/mine/mineSet/mineSet/weChatQRCodeEntity.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/push/xs_jPhush.dart';
|
||||||
import 'package:star_lock/tools/showCupertinoAlertView.dart';
|
import 'package:star_lock/tools/showCupertinoAlertView.dart';
|
||||||
import 'package:star_lock/tools/storage.dart';
|
import 'package:star_lock/tools/storage.dart';
|
||||||
@ -150,6 +151,7 @@ class MineSetLogic extends BaseGetXController {
|
|||||||
|
|
||||||
BlueManage().disconnect();
|
BlueManage().disconnect();
|
||||||
XSJPushProvider().initLocalNotification(isCancelLocalPush: true);
|
XSJPushProvider().initLocalNotification(isCancelLocalPush: true);
|
||||||
|
StartChartManage().destruction();
|
||||||
Get.offNamedUntil(Routers.starLockLoginPage, (Route route) => false);
|
Get.offNamedUntil(Routers.starLockLoginPage, (Route route) => false);
|
||||||
} else {
|
} else {
|
||||||
UmengCommonSdk.onEvent('logout', {
|
UmengCommonSdk.onEvent('logout', {
|
||||||
|
|||||||
@ -111,8 +111,8 @@ class StartChartManage {
|
|||||||
await _requestStarChartRegisterNode();
|
await _requestStarChartRegisterNode();
|
||||||
await _saveStarChartRegisterNodeToStorage(requestStarChartRegisterNode);
|
await _saveStarChartRegisterNodeToStorage(requestStarChartRegisterNode);
|
||||||
FromPeerId = requestStarChartRegisterNode.peer!.id ?? '';
|
FromPeerId = requestStarChartRegisterNode.peer!.id ?? '';
|
||||||
|
bindUserStarchart();
|
||||||
}
|
}
|
||||||
bindUserStarchart();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//绑定星图配置
|
//绑定星图配置
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user