fix: 星图:1,统一项目中星图配置获取途径及有变化更新loginData2,星图:完成修复及验证APP首次注册账号登录后未上线导致呼叫对讲无反应问题

This commit is contained in:
“DaisyWu” 2025-02-06 11:09:03 +08:00
parent d2b3ce2a3b
commit 492b2e713d
4 changed files with 40 additions and 20 deletions

View File

@ -1,4 +1,5 @@
import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart';
import 'package:star_lock/talk/starChart/entity/star_chart_register_node_entity.dart';
class LoginData {
LoginData(
@ -63,4 +64,13 @@ class LoginData {
}
return map;
}
void updateStarchart(
StarChartRegisterNodeEntity starChartRegisterNodeEntity) {
starchart = Starchart(
starchartId: starChartRegisterNodeEntity.peer?.id,
starchartPeerPublicKey: starChartRegisterNodeEntity.peer?.publicKey,
starchartPeerPrivateKey: starChartRegisterNodeEntity.peer?.privateKey,
);
}
}

View File

@ -58,17 +58,22 @@ class StarLockLoginLogic extends BaseGetXController {
'login_res': '成功',
});
Storage.saveLoginData(entity.data);
Storage.setBool(saveIsVip, entity.data!.isVip == 1);
//
if (entity.data!.starchart != null) {
final Starchart starChart = entity.data!.starchart!;
Storage.saveStarChartRegisterNodeInfo(StarChartRegisterNodeEntity(
peer: PeerData(
id: starChart.starchartId,
publicKey: starChart.starchartPeerPublicKey,
privateKey: starChart.starchartPeerPrivateKey)));
final StarChartRegisterNodeEntity starChartRegisterNodeEntity =
StarChartRegisterNodeEntity(
peer: PeerData(
id: starChart.starchartId,
publicKey: starChart.starchartPeerPublicKey,
privateKey: starChart.starchartPeerPrivateKey,
),
);
Storage.saveStarChartRegisterNodeInfo(starChartRegisterNodeEntity);
entity.data!.updateStarchart(starChartRegisterNodeEntity);
}
Storage.saveLoginData(entity.data);
Storage.setBool(saveIsVip, entity.data!.isVip == 1);
eventBus.fire(MineInfoChangeRefreshUI());
if (Get.isRegistered<LockMainLogic>()) {
Get.find<LockMainLogic>().getStarLockInfo(isUnShowLoading: true);

View File

@ -53,9 +53,11 @@ class LockMainXHJLogic extends BaseGetXController {
}
}
if (entity.data!.starchart != null) {
if (entity.data!.starchart!.starchartId!.isEmpty) {
if (entity.data!.starchart!.starchartId == null) {
bindStarChart();
}
} else {
StartChartManage().init();
}
}
}

View File

@ -146,23 +146,23 @@ class StartChartManage {
await _requestStarChartRegisterNode();
await _saveStarChartRegisterNodeToStorage(requestStarChartRegisterNode);
FromPeerId = requestStarChartRegisterNode.peer!.id ?? '';
bindUserStarchart();
bindUserStarchart(requestStarChartRegisterNode);
}
}
//
Future<void> bindUserStarchart() async {
Future<void> bindUserStarchart(
StarChartRegisterNodeEntity requestStarChartRegisterNode) async {
try {
final StarChartRegisterNodeEntity? registerNodeEntity =
await Storage.getStarChartRegisterNodeInfo();
final LoginEntity entity = await ApiRepository.to.bindUserStarchart(
starchartId: registerNodeEntity?.peer?.id ?? '',
starchartPeerPublicKey: registerNodeEntity?.peer?.publicKey ?? '',
starchartPeerPrivateKey: registerNodeEntity?.peer?.privateKey ?? '',
starchartId: requestStarChartRegisterNode.peer?.id ?? '',
starchartPeerPublicKey:
requestStarChartRegisterNode.peer?.publicKey ?? '',
starchartPeerPrivateKey:
requestStarChartRegisterNode.peer?.privateKey ?? '',
);
registerNodeEntity?.peer?.id = entity.data?.starchart?.starchartId;
await Storage.saveStarChartRegisterNodeInfo(registerNodeEntity!);
requestStarChartRegisterNode.peer?.id =
entity.data?.starchart?.starchartId;
if (entity.errorCode!.codeIsSuccessful) {
AppLog.log('绑定成功');
} else {
@ -762,6 +762,9 @@ class StartChartManage {
StarChartRegisterNodeEntity starChartRegisterNodeEntity) async {
if (starChartRegisterNodeEntity != null) {
await Storage.saveStarChartRegisterNodeInfo(starChartRegisterNodeEntity);
final LoginData? loginData = await Storage.getLoginData();
loginData?.updateStarchart(starChartRegisterNodeEntity);
Storage.saveLoginData(loginData);
}
}
@ -779,9 +782,9 @@ class StartChartManage {
final RelayInfoEntity? relayInfoEntity = await Storage.getRelayInfo();
//
final publicKey = await getPublicKey();
final String publicKey = await getPublicKey();
//
final privateKey = await getPrivateKey();
final String privateKey = await getPrivateKey();
//
final sign = await DoSign().generateSign(
currentTimestamp: relayInfoEntity!.time ?? 0,