opt models

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-04 15:20:35 +08:00
parent f50b1d2beb
commit b960359a39
858 changed files with 11000 additions and 12588 deletions

View File

@@ -0,0 +1,45 @@
import 'package:PiliPlus/models_new/upower_rank/level_info.dart';
import 'package:PiliPlus/models_new/upower_rank/rank_info.dart';
import 'package:PiliPlus/models_new/upower_rank/up_info.dart';
import 'package:PiliPlus/models_new/upower_rank/user_info.dart';
class UpowerRankData {
UpInfo? upInfo;
List<UpowerRankInfo>? rankInfo;
UserInfo? userInfo;
int? memberTotal;
int? privilegeType;
bool? isCharge;
List<int>? tabs;
List<LevelInfo>? levelInfo;
UpowerRankData({
this.upInfo,
this.rankInfo,
this.userInfo,
this.memberTotal,
this.privilegeType,
this.isCharge,
this.tabs,
this.levelInfo,
});
factory UpowerRankData.fromJson(Map<String, dynamic> json) => UpowerRankData(
upInfo: json['up_info'] == null
? null
: UpInfo.fromJson(json['up_info'] as Map<String, dynamic>),
rankInfo: (json['rank_info'] as List<dynamic>?)
?.map((e) => UpowerRankInfo.fromJson(e as Map<String, dynamic>))
.toList(),
userInfo: json['user_info'] == null
? null
: UserInfo.fromJson(json['user_info'] as Map<String, dynamic>),
memberTotal: json['member_total'] as int?,
privilegeType: json['privilege_type'] as int?,
isCharge: json['is_charge'] as bool?,
tabs: (json['tabs'] as List?)?.cast(),
levelInfo: (json['level_info'] as List<dynamic>?)
?.map((e) => LevelInfo.fromJson(e as Map<String, dynamic>))
.toList(),
);
}

View File

@@ -0,0 +1,15 @@
class LevelInfo {
int? privilegeType;
String? name;
int? price;
int? memberTotal;
LevelInfo({this.privilegeType, this.name, this.price, this.memberTotal});
factory LevelInfo.fromJson(Map<String, dynamic> json) => LevelInfo(
privilegeType: json['privilege_type'] as int?,
name: json['name'] as String?,
price: json['price'] as int?,
memberTotal: json['member_total'] as int?,
);
}

View File

@@ -0,0 +1,29 @@
class UpowerRankInfo {
int? mid;
String? nickname;
String? avatar;
int? rank;
int? day;
int? expireAt;
int? remainDays;
UpowerRankInfo({
this.mid,
this.nickname,
this.avatar,
this.rank,
this.day,
this.expireAt,
this.remainDays,
});
factory UpowerRankInfo.fromJson(Map<String, dynamic> json) => UpowerRankInfo(
mid: json['mid'] as int?,
nickname: json['nickname'] as String?,
avatar: json['avatar'] as String?,
rank: json['rank'] as int?,
day: json['day'] as int?,
expireAt: json['expire_at'] as int?,
remainDays: json['remain_days'] as int?,
);
}

View File

@@ -0,0 +1,26 @@
class UpInfo {
int? mid;
String? nickname;
String? avatar;
int? type;
String? title;
int? upowerState;
UpInfo({
this.mid,
this.nickname,
this.avatar,
this.type,
this.title,
this.upowerState,
});
factory UpInfo.fromJson(Map<String, dynamic> json) => UpInfo(
mid: json['mid'] as int?,
nickname: json['nickname'] as String?,
avatar: json['avatar'] as String?,
type: json['type'] as int?,
title: json['title'] as String?,
upowerState: json['upower_state'] as int?,
);
}

View File

@@ -0,0 +1,29 @@
class UserInfo {
int? mid;
String? nickname;
String? avatar;
int? rank;
int? day;
int? expireAt;
int? remainDays;
UserInfo({
this.mid,
this.nickname,
this.avatar,
this.rank,
this.day,
this.expireAt,
this.remainDays,
});
factory UserInfo.fromJson(Map<String, dynamic> json) => UserInfo(
mid: json['mid'] as int?,
nickname: json['nickname'] as String?,
avatar: json['avatar'] as String?,
rank: json['rank'] as int?,
day: json['day'] as int?,
expireAt: json['expire_at'] as int?,
remainDays: json['remain_days'] as int?,
);
}