From 7376afe9a179ff2fea15b9ab02ba95091b1cdf6b Mon Sep 17 00:00:00 2001 From: "sky.min" Date: Wed, 4 Feb 2026 13:54:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=A7=A3=E6=9E=90=E8=BF=87=E7=A8=8B=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?String=20=E7=B1=BB=E5=9E=8B=E6=97=A0=E6=B3=95=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E4=B8=BA=20int=3F=20=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/entity/LoginData.dart | 36 +++++++++++++------ lib/login/login/entity/LoginEntity.dart | 20 +++++++++-- .../minePersonInfo_entity.dart | 8 ++--- lib/mine/mineSet/mineSet/mineSet_logic.dart | 2 +- .../valueAddedServicesList_logic.dart | 2 +- 5 files changed, 48 insertions(+), 20 deletions(-) diff --git a/lib/login/login/entity/LoginData.dart b/lib/login/login/entity/LoginData.dart index bc8a5591..2a8c2c08 100755 --- a/lib/login/login/entity/LoginData.dart +++ b/lib/login/login/entity/LoginData.dart @@ -17,22 +17,36 @@ class LoginData { this.starchart}); LoginData.fromJson(dynamic json) { - accessToken = json['accessToken']; - userid = json['userid']; - expiresAt = json['expiresAt']; - expiresAtString = json['expiresAtString']; - mobile = json['mobile']; - headUrl = json['headUrl']; - email = json['email']; - nickname = json['nickname']; - haveSafeAnswer = json['haveSafeAnswer']; - uid = json['uid']; - isVip = json['isVip']; + accessToken = json['accessToken'] as String?; + userid = _parseInt(json['userid']); + expiresAt = _parseInt(json['expiresAt']); + expiresAtString = json['expiresAtString'] as String?; + mobile = json['mobile'] as String?; + headUrl = json['headUrl'] as String?; + email = json['email'] as String?; + nickname = json['nickname'] as String?; + haveSafeAnswer = json['haveSafeAnswer'] as bool?; + uid = _parseInt(json['uid']); + isVip = _parseInt(json['isVip']); starchart = json['starchart'] != null ? Starchart.fromJson(json['starchart']) : null; } + // 安全的整数解析方法 + int? _parseInt(dynamic value) { + if (value == null) return null; + if (value is int) return value; + if (value is String) { + try { + return int.parse(value); + } catch (e) { + return null; + } + } + return null; + } + String? accessToken; int? userid; int? expiresAt; diff --git a/lib/login/login/entity/LoginEntity.dart b/lib/login/login/entity/LoginEntity.dart index f8c2505d..234d2ae2 100755 --- a/lib/login/login/entity/LoginEntity.dart +++ b/lib/login/login/entity/LoginEntity.dart @@ -8,10 +8,24 @@ class LoginEntity { this.errorMsg,}); LoginEntity.fromJson(dynamic json) { - description = json['description']; - errorCode = json['errorCode']; + description = json['description'] as String?; + errorCode = _parseInt(json['errorCode']); data = json['data'] != null ? LoginData.fromJson(json['data']) : null; - errorMsg = json['errorMsg']; + errorMsg = json['errorMsg'] as String?; + } + + // 安全的整数解析方法 + int? _parseInt(dynamic value) { + if (value == null) return null; + if (value is int) return value; + if (value is String) { + try { + return int.parse(value); + } catch (e) { + return null; + } + } + return null; } String? description; int? errorCode; diff --git a/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart b/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart index bd3eb68b..9a80b7a1 100755 --- a/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart +++ b/lib/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart @@ -164,10 +164,10 @@ class Starchart { this.starchartPeerPrivateKey}); Starchart.fromJson(Map json) { - scdUrl = json['scdUrl']; - starchartId = json['starchartId']; - starchartPeerPublicKey = json['starchartPeerPublicKey']; - starchartPeerPrivateKey = json['starchartPeerPrivateKey']; + scdUrl = json['scdUrl'] as String?; + starchartId = json['starchartId'] as String?; + starchartPeerPublicKey = json['starchartPeerPublicKey'] as String?; + starchartPeerPrivateKey = json['starchartPeerPrivateKey'] as String?; } Map toJson() { diff --git a/lib/mine/mineSet/mineSet/mineSet_logic.dart b/lib/mine/mineSet/mineSet/mineSet_logic.dart index a7b19862..cceb359e 100755 --- a/lib/mine/mineSet/mineSet/mineSet_logic.dart +++ b/lib/mine/mineSet/mineSet/mineSet_logic.dart @@ -72,7 +72,7 @@ class MineSetLogic extends BaseGetXController { Future getUserInfoRequest() async { final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo(); if (entity.errorCode!.codeIsSuccessful) { - Storage.setBool(saveIsVip, entity.data!.isVip! == 1); + Storage.setBool(saveIsVip, entity.data!.isVip == 1); state.amazonAlexaData.value = entity.data!.amazonAlexa ?? AmazonAlexa(); state.googleHomeData.value = entity.data!.googleHome ?? GoogleHome(); } diff --git a/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart b/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart index 2e024376..d8c7390f 100755 --- a/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart +++ b/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart @@ -20,7 +20,7 @@ class ValueAddedServicesListLogic extends BaseGetXController { Future getUserInfoRequest() async { final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo(); if (entity.errorCode!.codeIsSuccessful) { - Storage.setBool(saveIsVip, entity.data!.isVip! == 1); + Storage.setBool(saveIsVip, entity.data!.isVip == 1); state.amazonAlexaData.value = entity.data!.amazonAlexa ?? AmazonAlexa(); state.googleHomeData.value = entity.data!.googleHome ?? GoogleHome(); }