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.
31 lines
1.3 KiB
31 lines
1.3 KiB
|
7 days ago
|
// 1. manifest 顶层结构 + 是否有图片资源映射
|
||
|
|
// 2. 尝试多种 URL 形状下载表格 cell 图片 u299.png
|
||
|
|
import fs from 'node:fs';
|
||
|
|
const data = JSON.parse(fs.readFileSync('e:/code/crm-backend-matt/.scratch/lanhu-latest/axure-v29.json', 'utf8'));
|
||
|
|
|
||
|
|
console.log('=== manifest 顶层 keys ===');
|
||
|
|
for (const [k, v] of Object.entries(data)) {
|
||
|
|
const t = Array.isArray(v) ? `array(${v.length})` : typeof v === 'object' && v ? `object(${Object.keys(v).length} keys)` : typeof v;
|
||
|
|
console.log(` ${k}: ${t}`);
|
||
|
|
}
|
||
|
|
|
||
|
|
// pages 条目的完整 key 列表
|
||
|
|
const key = Object.keys(data.pages).find(k => k.includes('a3-1-1-1-8'));
|
||
|
|
console.log('\n=== page entry keys ===');
|
||
|
|
for (const [k, v] of Object.entries(data.pages[key])) {
|
||
|
|
const s = typeof v === 'string' ? v : JSON.stringify(v);
|
||
|
|
console.log(` ${k}: ${s.slice(0, 200)}`);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 顶层其他对象的前几个 key(找资源映射)
|
||
|
|
for (const [k, v] of Object.entries(data)) {
|
||
|
|
if (v && typeof v === 'object' && !Array.isArray(v) && k !== 'pages' && k !== 'sitemap') {
|
||
|
|
const keys = Object.keys(v);
|
||
|
|
console.log(`\n=== ${k} 前 5 个条目 ===`);
|
||
|
|
keys.slice(0, 5).forEach(kk => {
|
||
|
|
const vv = v[kk];
|
||
|
|
console.log(` ${kk}: ${typeof vv === 'string' ? vv.slice(0, 150) : JSON.stringify(vv).slice(0, 150)}`);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|