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.
43 lines
2.1 KiB
43 lines
2.1 KiB
|
7 days ago
|
// 下载表格 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, ' '));
|
||
|
|
}
|
||
|
|
}
|