Files
servicebase/pkg/res/match.go
2025-11-19 14:24:13 +08:00

406 lines
13 KiB
Go

package res
type BasicInfo struct {
AbbrEn string `json:"abbr_en"`
AbbrZh string `json:"abbr_zh"`
Bonus string `json:"bonus"`
CityName string `json:"city_name"`
Color string `json:"color"`
Cover string `json:"cover"`
DispName string `json:"disp_name"`
EndTime string `json:"end_time"`
Grade string `json:"grade"`
GradeLabel string `json:"grade_label"`
ID string `json:"id"`
Logo string `json:"logo"`
Mode string `json:"mode"`
SpecialColor string `json:"special_color"`
SpecialGradeLabel string `json:"special_grade_label"`
StartTime string `json:"start_time"`
Status string `json:"status"`
}
type Team struct {
Abbr string `json:"abbr"`
ID string `json:"id"`
Logo string `json:"logo"`
Name string `json:"name"`
}
type WinTeam struct {
Abbr string `json:"abbr"`
ID string `json:"id"`
Logo string `json:"logo"`
Name string `json:"name"`
}
type MatchItem struct {
BasicInfo BasicInfo `json:"basic_info"`
IsFollow int64 `json:"is_follow"`
PageToken string `json:"page_token"`
RecentMatch any `json:"recent_match"`
Teams []Team `json:"teams"`
WinTeam WinTeam `json:"win_team"`
}
type Data struct {
APIGo bool `json:"api_go"`
Items []MatchItem `json:"items"`
Stats []string `json:"stats"`
}
type MatchResponse struct {
Data Data `json:"data"`
Errcode int64 `json:"errcode"`
Message any `json:"message"`
Success bool `json:"success"`
}
// 详情返回的
type MatchDetailData struct {
Basic DetailBasic `json:"basic"`
CurTeamRank []CurTeamRank `json:"cur_team_rank"`
PointType string `json:"point_type"`
RelativeTTS []string `json:"relative_tts"`
TeamRank []TeamRank `json:"team_rank"`
Teams []TeamElement `json:"teams"`
}
type DetailBasic struct {
AbbrEn string `json:"abbr_en"`
AbbrZh string `json:"abbr_zh"`
Bonus string `json:"bonus"`
Character string `json:"character"`
CityName string `json:"city_name"`
EndTime string `json:"end_time"`
Grade string `json:"grade"`
ID string `json:"id"`
Logo string `json:"logo"`
NameEn string `json:"name_en"`
NameZh string `json:"name_zh"`
StartTime string `json:"start_time"`
Status string `json:"status"`
TtID string `json:"tt_id"`
TtNameShow string `json:"tt_name_show"`
}
type CurTeamRank struct {
Bonus string `json:"bonus"`
CupInfo string `json:"cup_info"`
MetalInfo string `json:"metal_info"`
Point string `json:"point"`
PointType string `json:"point_type"`
Promotion string `json:"promotion"`
Rank string `json:"rank"`
RankDesc string `json:"rank_desc"`
Team CurTeamRankTeam `json:"team"`
TtName []string `json:"tt_name"`
}
type CurTeamRankTeam struct {
Abbr string `json:"abbr"`
GlobalBonus string `json:"global_bonus"`
GlobalRank string `json:"global_rank"`
ID string `json:"id"`
Logo string `json:"logo"`
Name string `json:"name"`
RegionName string `json:"region_name"`
}
type TeamRank struct {
Bonus string `json:"bonus"`
CupInfo string `json:"cup_info"`
MetalInfo string `json:"metal_info"`
Point string `json:"point"`
PointType string `json:"point_type"`
Promotion string `json:"promotion"`
Rank string `json:"rank"`
RankDesc string `json:"rank_desc"`
Team TeamRankTeam `json:"team"`
TtName []string `json:"tt_name"`
}
type TeamRankTeam struct {
Abbr string `json:"abbr"`
GlobalBonus string `json:"global_bonus"`
GlobalRank string `json:"global_rank"`
ID string `json:"id"`
Logo string `json:"logo"`
Name string `json:"name"`
RegionName string `json:"region_name"`
}
type TeamElement struct {
Abbr string `json:"abbr"`
CustomText1 string `json:"custom_text1"`
CustomText2 string `json:"custom_text2"`
GlobalBonus string `json:"global_bonus"`
GlobalRank string `json:"global_rank"`
ID string `json:"id"`
Logo string `json:"logo"`
Name string `json:"name"`
PromotionFromTt PromotionFromTt `json:"promotion_from_tt"`
PromotionRank string `json:"promotion_rank"`
RegionName string `json:"region_name"`
TtSource string `json:"tt_source"`
}
type PromotionFromTt struct {
AbbrEn string `json:"abbr_en"`
AbbrZh string `json:"abbr_zh"`
Cover string `json:"cover"`
ID string `json:"id"`
LocalID string `json:"local_id"`
Logo string `json:"logo"`
NameEn string `json:"name_en"`
NameZh string `json:"name_zh"`
RelatedType string `json:"related_type"`
}
type MatchDetailResponse struct {
Data MatchDetailData `json:"data"`
Errcode int64 `json:"errcode"`
Message any `json:"message"`
Success bool `json:"success"`
}
// 赛程的
type MatchBattleResponse struct {
Data BattleData `json:"data"`
Errcode int64 `json:"errcode"`
Message any `json:"message"`
Success bool `json:"success"`
}
type BattleData struct {
Matches []Match `json:"matches"`
StateVer string `json:"state_ver"`
StateVerV1 any `json:"state_ver_v1"`
TodayMcTotal string `json:"today_mc_total"`
}
type Match struct {
LikeData LikeData `json:"like_data"`
McInfo McInfo `json:"mc_info"`
State State `json:"state"`
TtInfo TtInfo `json:"tt_info"`
}
type LikeData struct {
IsDislikes bool `json:"is_dislikes"`
IsLikes bool `json:"is_likes"`
Team1Likes int64 `json:"team1_likes"`
Team2Likes int64 `json:"team2_likes"`
}
type McInfo struct {
Display string `json:"display"`
Format string `json:"format"`
GameType string `json:"game_type"`
Grade string `json:"grade"`
GroupID int64 `json:"group_id"`
ID string `json:"id"`
PlanTs string `json:"plan_ts"`
RoundName string `json:"round_name"`
SortNum int64 `json:"sort_num"`
Star string `json:"star"`
T1Info T1Info `json:"t1_info"`
T2Info T2Info `json:"t2_info"`
Tags string `json:"tags"`
TtStage string `json:"tt_stage"`
TtStageDesc string `json:"tt_stage_desc"`
UserData UserData `json:"user_data"`
}
type T1Info struct {
Bonus string `json:"bonus"`
Country string `json:"country"`
DispName string `json:"disp_name"`
ID string `json:"id"`
Logo string `json:"logo"`
Rank string `json:"rank"`
VRank any `json:"v_rank"`
}
type T2Info struct {
Bonus string `json:"bonus"`
Country string `json:"country"`
DispName string `json:"disp_name"`
ID string `json:"id"`
Logo string `json:"logo"`
Rank string `json:"rank"`
VRank any `json:"v_rank"`
}
type UserData struct {
SubStatus int64 `json:"sub_status"`
}
type State struct {
BoutStates []BoutState `json:"bout_states"`
DarkHorse string `json:"dark_horse"`
DropAct int64 `json:"drop_act"`
HasExpertPlan int64 `json:"has_expert_plan"`
HasForecast int64 `json:"has_forecast"`
HighlightStatus int64 `json:"highlight_status"`
LiveStatus *Status `json:"live_status"`
RoundNum string `json:"round_num"`
Status string `json:"status"`
T1Odds string `json:"t1_odds"`
T1OddsPercent string `json:"t1_odds_percent"`
T1QuickScore string `json:"t1_quick_score"`
T1Score string `json:"t1_score"`
T2Odds string `json:"t2_odds"`
T2OddsPercent string `json:"t2_odds_percent"`
T2QuickScore string `json:"t2_quick_score"`
T2Score string `json:"t2_score"`
VideoStatus *Status `json:"video_status"`
}
type BoutState struct {
BaseTs string `json:"base_ts"`
BoutNum string `json:"bout_num"`
Display string `json:"display"`
EndTs string `json:"end_ts"`
FieldConf []string `json:"field_conf"`
GameTime string `json:"game_time"`
MapName string `json:"map_name"`
Now string `json:"now"`
Result string `json:"result"`
RoundNum string `json:"round_num"`
Status string `json:"status"`
T1BoutFlags []string `json:"t1_bout_flags"`
T1FhRounds string `json:"t1_fh_rounds"`
T1Kill string `json:"t1_kill"`
T1OtRounds string `json:"t1_ot_rounds"`
T1QuickScore string `json:"t1_quick_score"`
T1ScRounds string `json:"t1_sc_rounds"`
T1Score string `json:"t1_score"`
T2BoutFlags []string `json:"t2_bout_flags"`
T2FhRounds string `json:"t2_fh_rounds"`
T2Kill string `json:"t2_kill"`
T2OtRounds string `json:"t2_ot_rounds"`
T2QuickScore string `json:"t2_quick_score"`
T2ScRounds string `json:"t2_sc_rounds"`
T2Score string `json:"t2_score"`
}
type TtInfo struct {
AbbrEn string `json:"abbr_en"`
AbbrZh string `json:"abbr_zh"`
Bonus string `json:"bonus"`
CityName string `json:"city_name"`
Color string `json:"color"`
Cover string `json:"cover"`
DispName string `json:"disp_name"`
EndTime string `json:"end_time"`
Grade string `json:"grade"`
GradeLabel string `json:"grade_label"`
ID string `json:"id"`
Logo string `json:"logo"`
Mode string `json:"mode"`
SpecialColor string `json:"special_color"`
SpecialGradeLabel string `json:"special_grade_label"`
StartTime string `json:"start_time"`
Status string `json:"status"`
}
type Status struct {
Integer *int64
String *string
}
// 选手榜
type PlayerRankResponse struct {
Data PlayerRankData `json:"data"`
Errcode int64 `json:"errcode"`
Message any `json:"message"`
Success bool `json:"success"`
}
type PlayerRankData struct {
Items []PlayerItem `json:"items"`
TotalPage string `json:"total_page"`
TotalRows string `json:"total_rows"`
}
type PlayerItem struct {
CountryLogo string `json:"country_logo"`
FieldValues FieldValues `json:"field_values"`
PlayerID string `json:"player_id"`
PlayerName string `json:"player_name"`
Portrait string `json:"portrait"`
TeamLogo string `json:"team_logo"`
}
type FieldValues struct {
Rating string `json:"rating"`
}
// 战队榜
type TeamRankResponse struct {
Data TeamRankData `json:"data"`
Errcode int64 `json:"errcode"`
Message any `json:"message"`
Success bool `json:"success"`
}
type TeamRankData struct {
Items []TeamItem `json:"items"`
TotalPage string `json:"total_page"`
TotalRows string `json:"total_rows"`
}
type TeamItem struct {
CountryLogo string `json:"country_logo"`
FieldValues TeamFieldValues `json:"field_values"`
TeamID string `json:"team_id"`
TeamLogo string `json:"team_logo"`
TeamName string `json:"team_name"`
}
type TeamFieldValues struct {
AvgAssist string `json:"avg_assist"`
AvgDeath string `json:"avg_death"`
AvgKill string `json:"avg_kill"`
AvgRound string `json:"avg_round"`
CTFirstWinRate string `json:"ct_first_win_rate"`
CTFirstWinRound string `json:"ct_first_win_round"`
CTWinRate string `json:"ct_win_rate"`
CTWinRound string `json:"ct_win_round"`
FirstDeathNum string `json:"first_death_num"`
FirstDeathRate string `json:"first_death_rate"`
FirstFiveWinNum string `json:"first_five_win_num"`
FirstFiveWinRate string `json:"first_five_win_rate"`
FirstKill string `json:"first_kill"`
FirstKillRate string `json:"first_kill_rate"`
FirstTenWinNum string `json:"first_ten_win_num"`
FirstTenWinRate string `json:"first_ten_win_rate"`
GamePlayed string `json:"game_played"`
GlobalBonus string `json:"global_bonus"`
GlobalRank string `json:"global_rank"`
Kd string `json:"kd"`
KdDiff string `json:"kd_diff"`
KdRate string `json:"kd_rate"`
MapNum string `json:"map_num"`
MapWinLoss string `json:"map_win_loss"`
MapWinRate string `json:"map_win_rate"`
Point string `json:"point"`
Rank string `json:"rank"`
RankChange string `json:"rank_change"`
RankDiff string `json:"rank_diff"`
Rating string `json:"rating"`
RegionName string `json:"region_name"`
Score string `json:"score"`
TFirstWinRate string `json:"t_first_win_rate"`
TFirstWinRound string `json:"t_first_win_round"`
TWinRate string `json:"t_win_rate"`
TWinRound string `json:"t_win_round"`
TotalAssist string `json:"total_assist"`
TotalDeath string `json:"total_death"`
TotalKill string `json:"total_kill"`
TotalRound string `json:"total_round"`
ValvePoint string `json:"valve_point"`
ValveRank string `json:"valve_rank"`
WinRate string `json:"win_rate"`
}