优化登录数据解析过程中,String 类型无法转换为 int? 类型
This commit is contained in:
parent
099e9e180f
commit
7376afe9a1
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -164,10 +164,10 @@ class Starchart {
|
||||
this.starchartPeerPrivateKey});
|
||||
|
||||
Starchart.fromJson(Map<String, dynamic> 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<String, dynamic> toJson() {
|
||||
|
||||
@ -72,7 +72,7 @@ class MineSetLogic extends BaseGetXController {
|
||||
Future<void> 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();
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ class ValueAddedServicesListLogic extends BaseGetXController {
|
||||
Future<void> 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();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user