mirror of
https://github.com/daydreamer-json/ak-endfield-api-archive.git
synced 2026-05-06 21:53:44 +02:00
feat: add v2 patch info to update fetch logic
This commit is contained in:
@@ -321,6 +321,25 @@ async function fetchAndSaveLatestGamePatches(gameTargets: GameTarget[]) {
|
||||
await Bun.write(patchAllPath, JSON.stringify(patchAll, null, 2));
|
||||
}
|
||||
}
|
||||
for (const target of gameTargets) {
|
||||
const patchAllPath = path.join(
|
||||
argvUtils.getArgv()['outputDir'],
|
||||
'akEndfield',
|
||||
'launcher',
|
||||
'game',
|
||||
target.dirName,
|
||||
'all_patch.json',
|
||||
);
|
||||
const patchAll: StoredData<LatestGameResponse>[] = (await Bun.file(patchAllPath).exists())
|
||||
? await Bun.file(patchAllPath).json()
|
||||
: [];
|
||||
for (const e of patchAll) {
|
||||
if (!e.rsp.patch) continue;
|
||||
const v2PatchInfoUrl = e.rsp.patch.v2_patch_info_url;
|
||||
if (!v2PatchInfoUrl) continue;
|
||||
await downloadRawFile(v2PatchInfoUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function fetchAndSaveLatestGameResources(gameTargets: GameTarget[]) {
|
||||
@@ -409,7 +428,7 @@ async function downloadRawFile(url: string) {
|
||||
|
||||
try {
|
||||
const data = await ky
|
||||
.get(urlObj.href, {
|
||||
.get(url, {
|
||||
headers: { 'User-Agent': appConfig.network.userAgent.minimum },
|
||||
timeout: appConfig.network.timeout,
|
||||
retry: { limit: appConfig.network.retryCount },
|
||||
@@ -587,7 +606,7 @@ async function fetchAndSaveLatestWebApis(gameTargets: GameTarget[]) {
|
||||
{ name: 'mainBgImage', method: apiUtils.akEndfield.launcherWeb.mainBgImage, dir: 'main_bg_image' },
|
||||
{ name: 'banner', method: apiUtils.akEndfield.launcherWeb.banner, dir: 'banner' },
|
||||
{ name: 'announcement', method: apiUtils.akEndfield.launcherWeb.announcement, dir: 'announcement' },
|
||||
{ name: 'urlConfig', method: apiUtils.akEndfield.launcherWeb.urlConfig, dir: 'url_config' }
|
||||
{ name: 'urlConfig', method: apiUtils.akEndfield.launcherWeb.urlConfig, dir: 'url_config' },
|
||||
] as const;
|
||||
|
||||
for (const target of gameTargets) {
|
||||
|
||||
@@ -34,6 +34,9 @@ type LauncherLatestGame = {
|
||||
md5: string;
|
||||
package_size: string;
|
||||
}[];
|
||||
v2_patch_info_url: string;
|
||||
v2_patch_info_size: string;
|
||||
v2_patch_info_md5: string;
|
||||
} | null;
|
||||
state: number;
|
||||
launcher_action: number;
|
||||
@@ -559,37 +562,37 @@ type GameHubGiftCodeRedeem = {
|
||||
};
|
||||
|
||||
export type {
|
||||
LauncherProtocol,
|
||||
LauncherLatestGame,
|
||||
LauncherLatestGameResources,
|
||||
LauncherLatestLauncher,
|
||||
LauncherLatestLauncherExe,
|
||||
LauncherWebSidebar,
|
||||
LauncherWebSingleEnt,
|
||||
LauncherWebMainBgImage,
|
||||
LauncherWebBanner,
|
||||
LauncherWebAnnouncement,
|
||||
LauncherWebUrlConfig,
|
||||
AccSrvUserAuthV1TokenByEmail,
|
||||
AccSrvUserInfoV1Basic,
|
||||
AccSrvUserInfoV1ThirdParty,
|
||||
AccSrvUserOAuth2V2Grant,
|
||||
AccSrvUserOAuth2V2GrantType1,
|
||||
U8UserAuthV2ChToken,
|
||||
U8UserAuthV2Grant,
|
||||
U8GameServerV1ServerList,
|
||||
U8GameRoleV1ConfirmServer,
|
||||
BindApiAccBindV1BindList,
|
||||
BindApiAccBindV1U8TokenByUid,
|
||||
BindApiGeneralV1AuthAppList,
|
||||
GameHubGiftCodeRedeem,
|
||||
LauncherLatestGame,
|
||||
LauncherLatestGameResources,
|
||||
LauncherLatestLauncher,
|
||||
LauncherLatestLauncherExe,
|
||||
LauncherProtocol,
|
||||
LauncherWebAnnouncement,
|
||||
LauncherWebBanner,
|
||||
LauncherWebMainBgImage,
|
||||
LauncherWebSidebar,
|
||||
LauncherWebSingleEnt,
|
||||
LauncherWebUrlConfig,
|
||||
U8GameRoleV1ConfirmServer,
|
||||
U8GameServerV1ServerList,
|
||||
U8UserAuthV2ChToken,
|
||||
U8UserAuthV2Grant,
|
||||
WebViewRecordChar,
|
||||
WebViewRecordContent,
|
||||
ZonaiApiV1GamePlayerBinding,
|
||||
ZonaiWebV1GameEndfieldAttendance,
|
||||
ZonaiWebV1GameEndfieldAttendanceRecord,
|
||||
ZonaiWebV1UserAuthGenCredByCode,
|
||||
ZonaiWebV1UserCheck,
|
||||
ZonaiWebV1WikiMe,
|
||||
ZonaiWebV2User,
|
||||
ZonaiApiV1GamePlayerBinding,
|
||||
ZonaiWebV1GameEndfieldAttendance,
|
||||
ZonaiWebV1GameEndfieldAttendanceRecord,
|
||||
GameHubGiftCodeRedeem,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user