From 8932a16468e23742538905892b22a60ab804cf17 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Mon, 12 Feb 2024 02:59:25 -0500 Subject: [PATCH] [O] Encapsulate all music --- AquaNet/src/libs/maimai.ts | 6 +- AquaNet/src/libs/maimaiTypes.ts | 114 +++++++++++++++++++------- AquaNet/src/pages/MaimaiRating.svelte | 27 +++--- 3 files changed, 101 insertions(+), 46 deletions(-) diff --git a/AquaNet/src/libs/maimai.ts b/AquaNet/src/libs/maimai.ts index 92fa3646..50564f37 100644 --- a/AquaNet/src/libs/maimai.ts +++ b/AquaNet/src/libs/maimai.ts @@ -1,4 +1,4 @@ -import {aqua_host} from "./config"; +import {aqua_host, data_host} from "./config"; import type {TrendEntry} from "./generalTypes"; import type {MaimaiUserSummaryEntry} from "./maimaiTypes"; @@ -32,6 +32,10 @@ export async function getMaimai(endpoint: string, params: any) { }).then(res => res.json()) } +export async function getMaimaiAllMusic(): Promise<{ [key: string]: any }> { + return fetch(`${data_host}/maimai/meta/00/all-music.json`).then(it => it.json()) +} + export async function getMaimaiApi(endpoint: string, params: any) { let url = new URL(`${aqua_host}/api/game/maimai2new/${endpoint}`) Object.keys(params).forEach(key => url.searchParams.append(key, params[key])) diff --git a/AquaNet/src/libs/maimaiTypes.ts b/AquaNet/src/libs/maimaiTypes.ts index 4f355aa4..39e67f1a 100644 --- a/AquaNet/src/libs/maimaiTypes.ts +++ b/AquaNet/src/libs/maimaiTypes.ts @@ -5,39 +5,22 @@ export interface Rating { } export interface ParsedRating extends Rating { - music: { - name: string, - composer: string, - bpm: number, - ver: number, - note: { - lv: number - designer: string - lv_id: number - notes: number - } - }, + music: MaimaiMusic, calc: number, rank: string } -export interface MaiUserPreviewData { - userName: string - userId: number - trophyId: number - totalAwake: number - playerRating: number - partnerId: number - nameplateId: number - lastRomVersion: string - lastPlayDate: string - lastLoginDate: string - lastGameId: string - lastDataVersion: string - isNetMember: boolean - isLogin: boolean - iconId: number - frameId: number +export interface MaimaiMusic { + name: string, + composer: string, + bpm: number, + ver: number, + note: { + lv: number + designer: string + lv_id: number + notes: number + } } export interface MaimaiUserSummaryEntry { @@ -59,5 +42,74 @@ export interface MaimaiUserSummaryEntry { lastVersion: string best35: string best15: string - recent: Rating[] -} \ No newline at end of file + recent: MaimaiUserPlaylog[] +} + +export interface MaimaiUserPlaylog { + id: number; + musicId: number; + level: number; + trackNo: number; + vsRank: number; + achievement: number; + deluxscore: number; + scoreRank: number; + maxCombo: number; + totalCombo: number; + maxSync: number; + totalSync: number; + tapCriticalPerfect: number; + tapPerfect: number; + tapGreat: number; + tapGood: number; + tapMiss: number; + holdCriticalPerfect: number; + holdPerfect: number; + holdGreat: number; + holdGood: number; + holdMiss: number; + slideCriticalPerfect: number; + slidePerfect: number; + slideGreat: number; + slideGood: number; + slideMiss: number; + touchCriticalPerfect: number; + touchPerfect: number; + touchGreat: number; + touchGood: number; + touchMiss: number; + breakCriticalPerfect: number; + breakPerfect: number; + breakGreat: number; + breakGood: number; + breakMiss: number; + isTap: boolean; + isHold: boolean; + isSlide: boolean; + isTouch: boolean; + isBreak: boolean; + isCriticalDisp: boolean; + isFastLateDisp: boolean; + fastCount: number; + lateCount: number; + isAchieveNewRecord: boolean; + isDeluxscoreNewRecord: boolean; + comboStatus: number; + syncStatus: number; + isClear: boolean; + beforeRating: number; + afterRating: number; + beforeGrade: number; + afterGrade: number; + afterGradeRank: number; + beforeDeluxRating: number; + afterDeluxRating: number; + isPlayTutorial: boolean; + isEventMode: boolean; + isFreedomMode: boolean; + playMode: number; + isNewFree: boolean; + trialPlayAchievement: number; + extNum1: number; + extNum2: number; +} diff --git a/AquaNet/src/pages/MaimaiRating.svelte b/AquaNet/src/pages/MaimaiRating.svelte index 26fa3b3f..9de77d91 100644 --- a/AquaNet/src/pages/MaimaiRating.svelte +++ b/AquaNet/src/pages/MaimaiRating.svelte @@ -1,31 +1,30 @@