You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

42 lines
2.1 KiB

// 下载表格 cell 图片 u299.png + data/document.js,验证公开可下载
import fs from 'node:fs';
const mapping = JSON.parse(fs.readFileSync('e:/code/crm-backend-matt/.scratch/lanhu-latest/team-mapping.json', 'utf8'));
const OSS = 'https://lanhu-axure-file.oss-cn-beijing.aliyuncs.com';
// 1. 表格 cell 图片
const cellImg = mapping.images['images/a3-1-1-1-8(个人)商机详情_团队成员/u299.png'];
console.log('u299.png sign:', cellImg.sign_md5);
const r1 = await fetch(`${OSS}/${cellImg.sign_md5}`, { headers: { 'User-Agent': 'Mozilla/5.0' } });
console.log('u299.png status:', r1.status, r1.headers.get('content-type'), 'size:', r1.headers.get('content-length'));
if (r1.ok) {
const buf = Buffer.from(await r1.arrayBuffer());
fs.writeFileSync('e:/code/crm-backend-matt/.scratch/lanhu-latest/u299.png', buf);
console.log('u299.png saved,', buf.length, 'bytes');
}
// 2. 多下载几个表格相关 PNG(u305/u306/u312 都是表格附近的)
for (const name of ['u305.png', 'u306.png', 'u312.png']) {
const key = `images/a3-1-1-1-8(个人)商机详情_团队成员/${name}`;
const m = mapping.images[key];
if (!m) { console.log(name, ': not in mapping'); continue; }
const r = await fetch(`${OSS}/${m.sign_md5}`, { headers: { 'User-Agent': 'Mozilla/5.0' } });
if (r.ok) {
const buf = Buffer.from(await r.arrayBuffer());
fs.writeFileSync(`e:/code/crm-backend-matt/.scratch/lanhu-latest/${name}`, buf);
console.log(`${name}: ${r.status}, ${buf.length} bytes`);
} else console.log(`${name}: ${r.status}`);
}
// 3. data/document.js(文档级 sitemap)
const docJs = mapping.scripts['data/document.js'];
if (docJs) {
const sign = docJs.sign_md5;
const url = sign.startsWith('http') ? sign : `${OSS}/${sign}`;
const r3 = await fetch(url, { headers: { 'User-Agent': 'Mozilla/5.0' } });
console.log('document.js status:', r3.status);
if (r3.ok) {
const t = await r3.text();
fs.writeFileSync('e:/code/crm-backend-matt/.scratch/lanhu-latest/document.js', t, 'utf8');
console.log('document.js saved,', t.length, 'chars, head:', t.slice(0, 200).replace(/\n/g, ' '));
}
}