优化登录数据解析过程中,String 类型无法转换为 int? 类型
This commit is contained in:
parent
099e9e180f
commit
7376afe9a1
@ -17,22 +17,36 @@ class LoginData {
|
|||||||
this.starchart});
|
this.starchart});
|
||||||
|
|
||||||
LoginData.fromJson(dynamic json) {
|
LoginData.fromJson(dynamic json) {
|
||||||
accessToken = json['accessToken'];
|
accessToken = json['accessToken'] as String?;
|
||||||
userid = json['userid'];
|
userid = _parseInt(json['userid']);
|
||||||
expiresAt = json['expiresAt'];
|
expiresAt = _parseInt(json['expiresAt']);
|
||||||
expiresAtString = json['expiresAtString'];
|
expiresAtString = json['expiresAtString'] as String?;
|
||||||
mobile = json['mobile'];
|
mobile = json['mobile'] as String?;
|
||||||
headUrl = json['headUrl'];
|
headUrl = json['headUrl'] as String?;
|
||||||
email = json['email'];
|
email = json['email'] as String?;
|
||||||
nickname = json['nickname'];
|
nickname = json['nickname'] as String?;
|
||||||
haveSafeAnswer = json['haveSafeAnswer'];
|
haveSafeAnswer = json['haveSafeAnswer'] as bool?;
|
||||||
uid = json['uid'];
|
uid = _parseInt(json['uid']);
|
||||||
isVip = json['isVip'];
|
isVip = _parseInt(json['isVip']);
|
||||||
starchart = json['starchart'] != null
|
starchart = json['starchart'] != null
|
||||||
? Starchart.fromJson(json['starchart'])
|
? Starchart.fromJson(json['starchart'])
|
||||||
: null;
|
: 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;
|
String? accessToken;
|
||||||
int? userid;
|
int? userid;
|
||||||
int? expiresAt;
|
int? expiresAt;
|
||||||
|
|||||||
@ -8,10 +8,24 @@ class LoginEntity {
|
|||||||
this.errorMsg,});
|
this.errorMsg,});
|
||||||
|
|
||||||
LoginEntity.fromJson(dynamic json) {
|
LoginEntity.fromJson(dynamic json) {
|
||||||
description = json['description'];
|
description = json['description'] as String?;
|
||||||
errorCode = json['errorCode'];
|
errorCode = _parseInt(json['errorCode']);
|
||||||
data = json['data'] != null ? LoginData.fromJson(json['data']) : null;
|
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;
|
String? description;
|
||||||
int? errorCode;
|
int? errorCode;
|
||||||
|
|||||||
@ -164,10 +164,10 @@ class Starchart {
|
|||||||
this.starchartPeerPrivateKey});
|
this.starchartPeerPrivateKey});
|
||||||
|
|
||||||
Starchart.fromJson(Map<String, dynamic> json) {
|
Starchart.fromJson(Map<String, dynamic> json) {
|
||||||
scdUrl = json['scdUrl'];
|
scdUrl = json['scdUrl'] as String?;
|
||||||
starchartId = json['starchartId'];
|
starchartId = json['starchartId'] as String?;
|
||||||
starchartPeerPublicKey = json['starchartPeerPublicKey'];
|
starchartPeerPublicKey = json['starchartPeerPublicKey'] as String?;
|
||||||
starchartPeerPrivateKey = json['starchartPeerPrivateKey'];
|
starchartPeerPrivateKey = json['starchartPeerPrivateKey'] as String?;
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
|
|||||||
@ -72,7 +72,7 @@ class MineSetLogic extends BaseGetXController {
|
|||||||
Future<void> getUserInfoRequest() async {
|
Future<void> getUserInfoRequest() async {
|
||||||
final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo();
|
final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo();
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
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.amazonAlexaData.value = entity.data!.amazonAlexa ?? AmazonAlexa();
|
||||||
state.googleHomeData.value = entity.data!.googleHome ?? GoogleHome();
|
state.googleHomeData.value = entity.data!.googleHome ?? GoogleHome();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ class ValueAddedServicesListLogic extends BaseGetXController {
|
|||||||
Future<void> getUserInfoRequest() async {
|
Future<void> getUserInfoRequest() async {
|
||||||
final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo();
|
final MinePersonInfoEntity entity = await ApiRepository.to.getUserInfo();
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
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.amazonAlexaData.value = entity.data!.amazonAlexa ?? AmazonAlexa();
|
||||||
state.googleHomeData.value = entity.data!.googleHome ?? GoogleHome();
|
state.googleHomeData.value = entity.data!.googleHome ?? GoogleHome();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user