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.
 
 
 
 
 

30 lines
1.3 KiB

// 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)}`);
});
}
}