From 7f0c1fca1de8abfd3251931e118fcfda5cbeed9e Mon Sep 17 00:00:00 2001 From: liyi Date: Wed, 12 Feb 2025 09:16:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=99=BB=E9=99=86=E6=8E=A5=E5=8F=A3=E7=9A=84scdUrl=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=AE=BE=E7=BD=AE=E6=98=9F=E5=9B=BE=E7=9A=84url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/starLock_login_logic.dart | 8 ++++++++ .../minePersonInfoPage/minePersonInfo_entity.dart | 5 ++++- lib/network/start_chart_api.dart | 10 +++++++++- .../starChart/status/appLifecycle_observer.dart | 14 +++++++++++++- 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index 6f7cff26..6ec2ad91 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -8,6 +8,7 @@ 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/network/start_chart_api.dart'; import 'package:star_lock/talk/starChart/entity/star_chart_register_node_entity.dart'; import 'package:star_lock/tools/baseGetXController.dart'; @@ -61,6 +62,13 @@ class StarLockLoginLogic extends BaseGetXController { //如已有星图配置则保存 无需重复注册节点及重复绑定 if (entity.data!.starchart != null) { final Starchart starChart = entity.data!.starchart!; + // 获取星图url + if (starChart != null && + starChart.scdUrl != null && + starChart.scdUrl != '') { + StartChartApi.to.startChartHost = + starChart!.scdUrl ?? StartChartApi.to.startChartHost; + } final StarChartRegisterNodeEntity starChartRegisterNodeEntity = StarChartRegisterNodeEntity( peer: PeerData( diff --git a/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart b/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart index 16b87225..02b74876 100755 --- a/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart +++ b/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart @@ -148,16 +148,18 @@ class GoogleHome { } class Starchart { + String? scdUrl; String? starchartId; String? starchartPeerPublicKey; String? starchartPeerPrivateKey; Starchart( - {this.starchartId, + {this.scdUrl,this.starchartId, this.starchartPeerPublicKey, this.starchartPeerPrivateKey}); Starchart.fromJson(Map json) { + scdUrl = json['scdUrl']; starchartId = json['starchartId']; starchartPeerPublicKey = json['starchartPeerPublicKey']; starchartPeerPrivateKey = json['starchartPeerPrivateKey']; @@ -165,6 +167,7 @@ class Starchart { Map toJson() { final Map data = Map(); + data['scdUrl'] = this.scdUrl; data['starchartId'] = this.starchartId; data['starchartPeerPublicKey'] = this.starchartPeerPublicKey; data['starchartPeerPrivateKey'] = this.starchartPeerPrivateKey; diff --git a/lib/network/start_chart_api.dart b/lib/network/start_chart_api.dart index a8566924..107cbd79 100644 --- a/lib/network/start_chart_api.dart +++ b/lib/network/start_chart_api.dart @@ -9,10 +9,18 @@ import 'package:star_lock/talk/starChart/entity/star_chart_register_node_entity. class StartChartApi extends BaseProvider { // 星图url - final String _startChartHost = 'http://sls1-scd.star-lock.cn:8080'; + String _startChartHost = 'http://sls1-scd.star-lock.cn:8080'; static StartChartApi get to => Get.put(StartChartApi()); + // 设置星图host + set startChartHost(String value) { + _startChartHost = value; + } + + // 获取星图host + String get startChartHost => _startChartHost; + // 星图--注册节点 Future starChartRegisterNode({ required String product, diff --git a/lib/talk/starChart/status/appLifecycle_observer.dart b/lib/talk/starChart/status/appLifecycle_observer.dart index e0343296..d1f55e73 100644 --- a/lib/talk/starChart/status/appLifecycle_observer.dart +++ b/lib/talk/starChart/status/appLifecycle_observer.dart @@ -1,5 +1,7 @@ import 'package:flutter/widgets.dart'; +import 'package:star_lock/network/start_chart_api.dart'; import 'package:star_lock/talk/starChart/star_chart_manage.dart'; +import 'package:star_lock/tools/storage.dart'; class AppLifecycleObserver extends WidgetsBindingObserver { @override @@ -28,9 +30,19 @@ class AppLifecycleObserver extends WidgetsBindingObserver { StartChartManage().destruction(); } - void onAppResumed() { + void onAppResumed() async { // 处理应用程序恢复到前台的逻辑 StartChartManage().init(); + final loginData = await Storage.getLoginData(); + + // 获取星图url + if (loginData != null && + loginData?.starchart != null && + loginData?.starchart?.scdUrl != null && + loginData?.starchart?.scdUrl != '') { + StartChartApi.to.startChartHost = + loginData!.starchart!.scdUrl ?? StartChartApi.to.startChartHost; + } print('App has resumed to the foreground.'); }