PADDashFormation/data/index.js

27 lines
1.3 KiB
JavaScript

import { basename } from "https://deno.land/std/path/mod.ts";
const regions = [
{path: 'pad', regionID: 'JA', baseJsonURL: 'https://dl.padsv.gungho.jp/base_adr.json'},
{path: 'padEN', regionID: 'NA', baseJsonURL: 'https://dl-na.padsv.gungho.jp/base-na-adr.json'},
{path: 'padKO', regionID: 'KO', baseJsonURL: 'https://dl-kr.padsv.gungho.jp/base.kr-adr.json'},
// {path: 'padHT', regionID: 'HT', baseJsonURL: 'https://dl.padsv.gungho.jp/base.ht-adr.json'},
];
async function downloadFile(url, path) {
const response = await fetch(url);
const headers = response.headers;
//console.log(headers);
const body = new Uint8Array(await response.clone().arrayBuffer());
Deno.writeFileSync(`${path}/${basename(response.url)}`, body);
const fileData = new Date(headers.get("date")); //获取修改时间
Deno.utimeSync(`${path}/${basename(response.url)}`, fileData, fileData);
return response;
}
for (const region of regions) {
Deno.mkdirSync(`${region.path}`, { recursive: true });
const baseUrl = region.baseJsonURL;
console.log(`正在下载 ${baseUrl}`);
const baseResponse = await downloadFile(baseUrl, region.path);
const baseJsonData = await baseResponse.json();
const extlistUrl = `${baseJsonData.extlist}/extlist.bin`;
console.log(`正在下载 ${extlistUrl}`);
const extlistResponse = await downloadFile(extlistUrl, region.path);
}