https://api.1999.fan/api
多语言活动数据 JSON 文件:
api/resource/data/activity/en.json
api/resource/data/activity/jp.json
api/resource/data/activity/tw.json
api/resource/data/combat/manifest.json
api/resource/data/sos/manifest.json
api/images/manifest.json
api/resource/manifest.json
api/resource/data/manifest.json
import requests
base_url = 'https://api.1999.fan/api'
# 读取 activity manifest
manifest = requests.get(f'{base_url}/resource/data/activity/manifest.json').json()
# 下载所有文件
for file in manifest['files']:
url = f"{base_url}/{file['path']}"
response = requests.get(url)
# 验证文件完整性
import hashlib
downloaded_hash = hashlib.sha256(response.content).hexdigest()
if downloaded_hash == file['hash']:
with open(file['name'], 'wb') as f:
f.write(response.content)
print(f"✓ {file['name']} ({file['size']} bytes)")
else:
print(f"✗ {file['name']} hash mismatch!")
print(f"\nTotal: {len(manifest['files'])} files")
const baseUrl = 'https://api.1999.fan/api';
// 读取 images manifest
const manifest = await fetch(`${baseUrl}/images/manifest.json`).then(r => r.json());
// 找到魔精图片
const mojingFile = manifest.files.find(f => f.name === 'mojing_tjb.png');
console.log(`Latest update: ${new Date(mojingFile.updated)}`);
console.log(`SHA256: ${mojingFile.hash}`);
// 显示图片
const img = document.createElement('img');
img.src = `${baseUrl}/${mojingFile.path}`;
document.body.appendChild(img);
数据源: MAA1999/M9A | API 仓库: MAA1999/M9A-API