92 lines
2.5 KiB
Dart
Executable File
92 lines
2.5 KiB
Dart
Executable File
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(
|
|
{this.accessToken,
|
|
this.userid,
|
|
this.expiresAt,
|
|
this.expiresAtString,
|
|
this.mobile,
|
|
this.headUrl,
|
|
this.email,
|
|
this.nickname,
|
|
this.haveSafeAnswer,
|
|
this.uid,
|
|
this.isVip,
|
|
this.starchart});
|
|
|
|
LoginData.fromJson(dynamic json) {
|
|
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;
|
|
String? expiresAtString;
|
|
String? mobile;
|
|
String? headUrl;
|
|
String? email;
|
|
String? nickname;
|
|
bool? haveSafeAnswer;
|
|
int? uid;
|
|
int? isVip;
|
|
Starchart? starchart;
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final map = <String, dynamic>{};
|
|
map['accessToken'] = accessToken;
|
|
map['userid'] = userid;
|
|
map['expiresAt'] = expiresAt;
|
|
map['expiresAtString'] = expiresAtString;
|
|
map['mobile'] = mobile;
|
|
map['headUrl'] = headUrl;
|
|
map['email'] = email;
|
|
map['nickname'] = nickname;
|
|
map['haveSafeAnswer'] = haveSafeAnswer;
|
|
map['uid'] = uid;
|
|
map['isVip'] = isVip;
|
|
if (starchart != null) {
|
|
map['starchart'] = starchart!.toJson();
|
|
}
|
|
return map;
|
|
}
|
|
|
|
void updateStarchart(
|
|
StarChartRegisterNodeEntity starChartRegisterNodeEntity) {
|
|
starchart = Starchart(
|
|
scdUrl: this.starchart?.scdUrl,
|
|
starchartId: starChartRegisterNodeEntity.peer?.id,
|
|
starchartPeerPublicKey: starChartRegisterNodeEntity.peer?.publicKey,
|
|
starchartPeerPrivateKey: starChartRegisterNodeEntity.peer?.privateKey,
|
|
);
|
|
}
|
|
}
|