Files
PiliPlus/lib/models_new/match/match_info/contest.dart
bggRGjQaUbCoE a2c24fb33c feat: match info
opt dateformat

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-06-16 12:51:32 +08:00

216 lines
6.2 KiB
Dart

import 'package:PiliPlus/models_new/match/match_info/home_away.dart';
import 'package:PiliPlus/models_new/match/match_info/season.dart';
import 'package:PiliPlus/models_new/match/match_info/success_teaminfo.dart';
import 'package:PiliPlus/models_new/match/match_info/team.dart';
class MatchContest {
int? id;
String? gameStage;
int? stime;
int? etime;
int? homeId;
int? awayId;
int? homeScore;
int? awayScore;
int? liveRoom;
int? aid;
int? collection;
String? collectionBvid;
int? gameState;
String? dic;
String? ctime;
String? mtime;
int? status;
int? sid;
int? mid;
Season? season;
MatchTeam? homeTeam;
MatchTeam? awayTeam;
int? special;
int? successTeam;
SuccessTeaminfo? successTeaminfo;
String? specialName;
String? specialTips;
String? specialImage;
String? playback;
String? collectionUrl;
String? liveUrl;
int? dataType;
int? matchId;
int? guessType;
int? guessShow;
String? bvid;
String? gameStage1;
String? gameStage2;
int? liveStatus;
int? livePopular;
String? liveCover;
int? pushSwitch;
String? liveTitle;
int? seriesId;
int? contestStatus;
int? contestFreeze;
int? startTime;
int? endTime;
String? title;
String? playBack;
int? seasonId;
int? isSub;
int? isGuess;
HomeAway? home;
HomeAway? away;
dynamic series;
String? prospect;
String? afterContestVideo;
int? homeSmallScore;
int? awaySmallScore;
String? watchPoint;
String? watchPointIcon;
dynamic hottestPlayer;
MatchContest({
this.id,
this.gameStage,
this.stime,
this.etime,
this.homeId,
this.awayId,
this.homeScore,
this.awayScore,
this.liveRoom,
this.aid,
this.collection,
this.collectionBvid,
this.gameState,
this.dic,
this.ctime,
this.mtime,
this.status,
this.sid,
this.mid,
this.season,
this.homeTeam,
this.awayTeam,
this.special,
this.successTeam,
this.successTeaminfo,
this.specialName,
this.specialTips,
this.specialImage,
this.playback,
this.collectionUrl,
this.liveUrl,
this.dataType,
this.matchId,
this.guessType,
this.guessShow,
this.bvid,
this.gameStage1,
this.gameStage2,
this.liveStatus,
this.livePopular,
this.liveCover,
this.pushSwitch,
this.liveTitle,
this.seriesId,
this.contestStatus,
this.contestFreeze,
this.startTime,
this.endTime,
this.title,
this.playBack,
this.seasonId,
this.isSub,
this.isGuess,
this.home,
this.away,
this.series,
this.prospect,
this.afterContestVideo,
this.homeSmallScore,
this.awaySmallScore,
this.watchPoint,
this.watchPointIcon,
this.hottestPlayer,
});
factory MatchContest.fromJson(Map<String, dynamic> json) => MatchContest(
id: json['id'] as int?,
gameStage: json['game_stage'] as String?,
stime: json['stime'] as int?,
etime: json['etime'] as int?,
homeId: json['home_id'] as int?,
awayId: json['away_id'] as int?,
homeScore: json['home_score'] as int?,
awayScore: json['away_score'] as int?,
liveRoom: json['live_room'] as int?,
aid: json['aid'] as int?,
collection: json['collection'] as int?,
collectionBvid: json['collection_bvid'] as String?,
gameState: json['game_state'] as int?,
dic: json['dic'] as String?,
ctime: json['ctime'] as String?,
mtime: json['mtime'] as String?,
status: json['status'] as int?,
sid: json['sid'] as int?,
mid: json['mid'] as int?,
season: json['season'] == null
? null
: Season.fromJson(json['season'] as Map<String, dynamic>),
homeTeam: json['home_team'] == null
? null
: MatchTeam.fromJson(json['home_team'] as Map<String, dynamic>),
awayTeam: json['away_team'] == null
? null
: MatchTeam.fromJson(json['away_team'] as Map<String, dynamic>),
special: json['special'] as int?,
successTeam: json['success_team'] as int?,
successTeaminfo: json['success_teaminfo'] == null
? null
: SuccessTeaminfo.fromJson(
json['success_teaminfo'] as Map<String, dynamic>),
specialName: json['special_name'] as String?,
specialTips: json['special_tips'] as String?,
specialImage: json['special_image'] as String?,
playback: json['playback'] as String?,
collectionUrl: json['collection_url'] as String?,
liveUrl: json['live_url'] as String?,
dataType: json['data_type'] as int?,
matchId: json['match_id'] as int?,
guessType: json['guess_type'] as int?,
guessShow: json['guess_show'] as int?,
bvid: json['bvid'] as String?,
gameStage1: json['game_stage1'] as String?,
gameStage2: json['game_stage2'] as String?,
liveStatus: json['live_status'] as int?,
livePopular: json['live_popular'] as int?,
liveCover: json['live_cover'] as String?,
pushSwitch: json['push_switch'] as int?,
liveTitle: json['live_title'] as String?,
seriesId: json['series_id'] as int?,
contestStatus: json['contest_status'] as int?,
contestFreeze: json['contest_freeze'] as int?,
startTime: json['start_time'] as int?,
endTime: json['end_time'] as int?,
title: json['title'] as String?,
playBack: json['play_back'] as String?,
seasonId: json['season_id'] as int?,
isSub: json['is_sub'] as int?,
isGuess: json['is_guess'] as int?,
home: json['home'] == null
? null
: HomeAway.fromJson(json['home'] as Map<String, dynamic>),
away: json['away'] == null
? null
: HomeAway.fromJson(json['away'] as Map<String, dynamic>),
series: json['series'] as dynamic,
prospect: json['prospect'] as String?,
afterContestVideo: json['after_contest_video'] as String?,
homeSmallScore: json['home_small_score'] as int?,
awaySmallScore: json['away_small_score'] as int?,
watchPoint: json['watch_point'] as String?,
watchPointIcon: json['watch_point_icon'] as String?,
hottestPlayer: json['hottest_player'] as dynamic,
);
}