mirror of
https://github.com/daydreamer-json/ak-endfield-api-archive.git
synced 2026-05-07 06:03:39 +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));
|
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[]) {
|
async function fetchAndSaveLatestGameResources(gameTargets: GameTarget[]) {
|
||||||
@@ -409,7 +428,7 @@ async function downloadRawFile(url: string) {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const data = await ky
|
const data = await ky
|
||||||
.get(urlObj.href, {
|
.get(url, {
|
||||||
headers: { 'User-Agent': appConfig.network.userAgent.minimum },
|
headers: { 'User-Agent': appConfig.network.userAgent.minimum },
|
||||||
timeout: appConfig.network.timeout,
|
timeout: appConfig.network.timeout,
|
||||||
retry: { limit: appConfig.network.retryCount },
|
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: 'mainBgImage', method: apiUtils.akEndfield.launcherWeb.mainBgImage, dir: 'main_bg_image' },
|
||||||
{ name: 'banner', method: apiUtils.akEndfield.launcherWeb.banner, dir: 'banner' },
|
{ name: 'banner', method: apiUtils.akEndfield.launcherWeb.banner, dir: 'banner' },
|
||||||
{ name: 'announcement', method: apiUtils.akEndfield.launcherWeb.announcement, dir: 'announcement' },
|
{ 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;
|
] as const;
|
||||||
|
|
||||||
for (const target of gameTargets) {
|
for (const target of gameTargets) {
|
||||||
|
|||||||
@@ -34,6 +34,9 @@ type LauncherLatestGame = {
|
|||||||
md5: string;
|
md5: string;
|
||||||
package_size: string;
|
package_size: string;
|
||||||
}[];
|
}[];
|
||||||
|
v2_patch_info_url: string;
|
||||||
|
v2_patch_info_size: string;
|
||||||
|
v2_patch_info_md5: string;
|
||||||
} | null;
|
} | null;
|
||||||
state: number;
|
state: number;
|
||||||
launcher_action: number;
|
launcher_action: number;
|
||||||
@@ -559,37 +562,37 @@ type GameHubGiftCodeRedeem = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export type {
|
export type {
|
||||||
LauncherProtocol,
|
|
||||||
LauncherLatestGame,
|
|
||||||
LauncherLatestGameResources,
|
|
||||||
LauncherLatestLauncher,
|
|
||||||
LauncherLatestLauncherExe,
|
|
||||||
LauncherWebSidebar,
|
|
||||||
LauncherWebSingleEnt,
|
|
||||||
LauncherWebMainBgImage,
|
|
||||||
LauncherWebBanner,
|
|
||||||
LauncherWebAnnouncement,
|
|
||||||
LauncherWebUrlConfig,
|
|
||||||
AccSrvUserAuthV1TokenByEmail,
|
AccSrvUserAuthV1TokenByEmail,
|
||||||
AccSrvUserInfoV1Basic,
|
AccSrvUserInfoV1Basic,
|
||||||
AccSrvUserInfoV1ThirdParty,
|
AccSrvUserInfoV1ThirdParty,
|
||||||
AccSrvUserOAuth2V2Grant,
|
AccSrvUserOAuth2V2Grant,
|
||||||
AccSrvUserOAuth2V2GrantType1,
|
AccSrvUserOAuth2V2GrantType1,
|
||||||
U8UserAuthV2ChToken,
|
|
||||||
U8UserAuthV2Grant,
|
|
||||||
U8GameServerV1ServerList,
|
|
||||||
U8GameRoleV1ConfirmServer,
|
|
||||||
BindApiAccBindV1BindList,
|
BindApiAccBindV1BindList,
|
||||||
BindApiAccBindV1U8TokenByUid,
|
BindApiAccBindV1U8TokenByUid,
|
||||||
BindApiGeneralV1AuthAppList,
|
BindApiGeneralV1AuthAppList,
|
||||||
|
GameHubGiftCodeRedeem,
|
||||||
|
LauncherLatestGame,
|
||||||
|
LauncherLatestGameResources,
|
||||||
|
LauncherLatestLauncher,
|
||||||
|
LauncherLatestLauncherExe,
|
||||||
|
LauncherProtocol,
|
||||||
|
LauncherWebAnnouncement,
|
||||||
|
LauncherWebBanner,
|
||||||
|
LauncherWebMainBgImage,
|
||||||
|
LauncherWebSidebar,
|
||||||
|
LauncherWebSingleEnt,
|
||||||
|
LauncherWebUrlConfig,
|
||||||
|
U8GameRoleV1ConfirmServer,
|
||||||
|
U8GameServerV1ServerList,
|
||||||
|
U8UserAuthV2ChToken,
|
||||||
|
U8UserAuthV2Grant,
|
||||||
WebViewRecordChar,
|
WebViewRecordChar,
|
||||||
WebViewRecordContent,
|
WebViewRecordContent,
|
||||||
|
ZonaiApiV1GamePlayerBinding,
|
||||||
|
ZonaiWebV1GameEndfieldAttendance,
|
||||||
|
ZonaiWebV1GameEndfieldAttendanceRecord,
|
||||||
ZonaiWebV1UserAuthGenCredByCode,
|
ZonaiWebV1UserAuthGenCredByCode,
|
||||||
ZonaiWebV1UserCheck,
|
ZonaiWebV1UserCheck,
|
||||||
ZonaiWebV1WikiMe,
|
ZonaiWebV1WikiMe,
|
||||||
ZonaiWebV2User,
|
ZonaiWebV2User,
|
||||||
ZonaiApiV1GamePlayerBinding,
|
|
||||||
ZonaiWebV1GameEndfieldAttendance,
|
|
||||||
ZonaiWebV1GameEndfieldAttendanceRecord,
|
|
||||||
GameHubGiftCodeRedeem,
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user