/** * 简化的静态页面生成器 - Windows兼容版本 */ import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; import { generateStaticHTML } from './pageTemplates.js'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // 简化的SEO配置 const seoConfigs = { '/': { title: '天远查官网_企业与婚姻关联风险核验_综合履约背景核验', description: '天远查官网(TianYuanCha)聚合官方公示数据,专注于商业安全与资产背调。提供企业工商画像、婚姻状态关联风险、司法涉诉筛查及配偶债务核验。数据实时同步,助您精准规避投资、交易及家庭结合中的经济与法律风险。', keywords: '天远查,婚姻状态风险, 配偶背景核验,企业信用查询,司法诉讼记录,资产风险评估' }, '/inquire/category/lawsuit': { title: '司法涉诉核验_个人及企业法律诉讼记录_履约风险评估_天远查', description: '天远查司法风险检测中心,聚合全国法院公开公示数据。一键筛查开庭公告、裁判文书、立案信息及执行记录。帮助用户快速识别法律纠纷隐患,全方位扫除合作盲区。', keywords: '司法案件核验,法律诉讼记录,个人涉诉详情,法院公告查询,案件执行状态' }, '/inquire/marriage': { title: '婚前背景核验_婚姻关联司法风险筛查_情感综合保障_天远查', description: '天远查婚恋风险报告为您提供深度的背景核实服务。基于合法公开数据,排查对象的重婚司法记录、家庭暴力涉诉历史、潜在债务风险及不良嗜好风险。拒绝盲目信任,用数据守护您的情感与财产安全。', keywords: '婚前背景核实,婚恋对象评估,婚姻司法风险,个人情感风险,婚前背调工具' }, '/inquire/category/vehicle': { title: '车辆档案报告_二手车车况与产权风险检测_机动车报告_天远查', description: '天远查车辆数据中心,让车辆交易更透明。支持通过车牌号或VIN码,核验车辆的初次登记信息、抵押查封状态、事故维修记录及产权属性。数据同步权威行业系统,精准识别问题车。', keywords: '车辆维修记录,二手车出险报告,车辆抵押报告,车况报告,机动车档案' }, '/inquire/category/marriageStatus': { title: '个人婚姻关联风险核验_家庭背景合规报告_天远查', description: '天远查提供基于大数据的婚姻关联风险评估。通过分析司法文书及公开社会关系,辅助判断目标的真实家庭状况与情感履历。合法合规,保障知情权。', keywords: '婚史风险排查,家庭背景核实,婚姻诚信评估,情感状态评估,涉婚法律记录' }, '/agent': { title: '天远查代理 - 免费开通代理权限 | 大数据风险报告代理', description: '天远查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。', keywords: '天远查代理, 免费代理, 大数据风险报告代理, 代理权限, 代理收益' }, '/help': { title: '帮助中心 - 天远查使用指南 | 常见问题解答', description: '天远查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。', keywords: '天远查帮助, 使用指南, 常见问题, 操作教程, 客服支持' }, '/example': { title: '示例报告 - 天远查报告展示 | 大数据风险报告样例', description: '天远查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。', keywords: '示例报告, 报告展示, 报告样例, 大数据风险报告, 婚姻查询报告' }, '/service': { title: '客服中心 - 天远查在线客服 | 技术支持', description: '天远查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。', keywords: '客服中心, 在线客服, 技术支持, 问题反馈, 天远查客服' }, '/inquire': { title: '核验工具多场景数据核验服务天远查', description: '提供车辆、企业、个人等多场景核验,包括状态、信用、身份等查询,权威高效,保护隐私。', keywords: '核验工具,数据核验服务,车辆核验,企业核验,天远查' }, }; const OUTPUT_DIR = path.resolve(__dirname, 'static-pages'); // 确保目录存在 if (!fs.existsSync(OUTPUT_DIR)) { fs.mkdirSync(OUTPUT_DIR, { recursive: true }); } // 转换路径为文件名 function pathToFilename(routePath) { let filename = routePath .replace(/^\//, '') .replace(/\/+/g, '-') .replace(/:/g, '-'); if (!filename) { filename = 'index'; } return `${filename}.html`; } // 生成单个页面 function generatePage(routePath, seoConfig) { const filename = pathToFilename(routePath); const filepath = path.join(OUTPUT_DIR, filename); // 动态导入generateContentByRoute const content = generateContentByRoute(routePath, seoConfig); const html = generateStaticHTML(seoConfig, { path: routePath, content: content, canonical: 'https://www.tianyuancha.cn' }); fs.writeFileSync(filepath, html, 'utf-8'); console.log(`✅ ${filename}`); return filepath; } // 动态导入内容生成函数 async function generateContentByRoute(routePath, seoConfig) { const { generateContentByRoute: generateContent } = await import('./pageTemplates.js'); return generateContent(routePath, seoConfig); } // 生成sitemap function generateSitemap() { const sitemapPath = path.join(OUTPUT_DIR, 'sitemap.xml'); const baseUrl = 'https://www.tianyuancha.cn'; const currentDate = new Date().toISOString().split('T')[0]; let sitemap = ` `; for (const [routePath] of Object.entries(seoConfigs)) { const priority = routePath === '/' ? '1.0' : '0.8'; sitemap += ` ${baseUrl}${routePath} ${currentDate} weekly ${priority} `; } sitemap += ``; fs.writeFileSync(sitemapPath, sitemap, 'utf-8'); console.log(`✅ sitemap.xml`); } // 生成robots.txt function generateRobots() { const robotsPath = path.join(OUTPUT_DIR, 'robots.txt'); const robotsContent = `User-agent: * Allow: / Disallow: /admin Disallow: /api Sitemap: https://www.tianyuancha.cn/sitemap.xml `; fs.writeFileSync(robotsPath, robotsContent, 'utf-8'); console.log(`✅ robots.txt`); } // 主函数 async function main() { console.log('========================================'); console.log(' 天远查 - 静态页面生成器'); console.log('========================================'); console.log(''); console.log('📂 输出目录:', OUTPUT_DIR); console.log(''); console.log('📝 生成静态页面:'); console.log(''); let count = 0; for (const [routePath, seoConfig] of Object.entries(seoConfigs)) { try { await generatePage(routePath, seoConfig); count++; } catch (error) { console.error(`❌ ${routePath}: ${error.message}`); } } console.log(''); console.log('📝 生成SEO文件:'); console.log(''); try { generateSitemap(); generateRobots(); } catch (error) { console.error(`❌ 生成SEO文件失败: ${error.message}`); } console.log(''); console.log('========================================'); console.log(`✨ 完成! 共生成 ${count} 个静态页面`); console.log('========================================'); } main().catch(error => { console.error('❌ 生成失败:', error); process.exit(1); });