const fs = require('fs');

const cDriveFile = 'C:\\system-templates.json';
const projectFile = 'electron/resources/extra/common/config/system-templates.json';

const cConfig = JSON.parse(fs.readFileSync(cDriveFile, 'utf-8'));
const pConfig = JSON.parse(fs.readFileSync(projectFile, 'utf-8'));

const cTemplates = cConfig.subtitleTemplates || [];
const pTemplates = pConfig.subtitleTemplates || [];

console.log('=== C盘配置 vs 项目配置对比 ===\n');

cTemplates.forEach(cTemplate => {
  const pTemplate = pTemplates.find(t => t.id === cTemplate.id);
  if (!pTemplate) {
    console.log(`模板 ${cTemplate.name}: 在项目配置中不存在`);
    return;
  }
  
  const cTitle = cTemplate.config && cTemplate.config.titleSubtitleConfig;
  const pTitle = pTemplate.config && pTemplate.config.titleSubtitleConfig;
  
  if (!cTitle || !pTitle) {
    console.log(`模板 ${cTemplate.name}: 标题配置缺失 (C盘: ${!!cTitle}, 项目: ${!!pTitle})`);
    return;
  }
  
  const cKey = `${cTitle.maxCharsPerLine}-${cTitle.lines.length}-${cTitle.lines.map(l => l.text).join('|')}`;
  const pKey = `${pTitle.maxCharsPerLine}-${pTitle.lines.length}-${pTitle.lines.map(l => l.text).join('|')}`;
  
  if (cKey === pKey) {
    console.log(`模板 ${cTemplate.name}: 标题配置相同 (${cTitle.maxCharsPerLine}字符/行, ${cTitle.lines.length}行)`);
  } else {
    console.log(`模板 ${cTemplate.name}: 标题配置不同`);
    console.log(`  C盘: ${cTitle.maxCharsPerLine}字符/行, ${cTitle.lines.length}行`);
    console.log(`  项目: ${pTitle.maxCharsPerLine}字符/行, ${pTitle.lines.length}行`);
  }
});

console.log('\n=== 相同配置的模板组 (C盘) ===\n');
const cGroups = {};
cTemplates.forEach(t => {
  const title = t.config && t.config.titleSubtitleConfig;
  if (title && title.lines) {
    const key = `${title.maxCharsPerLine}-${title.lines.length}-${title.lines.map(l => l.text).join('|')}`;
    if (!cGroups[key]) cGroups[key] = [];
    cGroups[key].push(t.name);
  }
});

Object.keys(cGroups).forEach(key => {
  if (cGroups[key].length > 1) {
    console.log(`模板 ${cGroups[key].join(', ')} 配置相同`);
  }
});

console.log('\n=== 相同配置的模板组 (项目) ===\n');
const pGroups = {};
pTemplates.forEach(t => {
  const title = t.config && t.config.titleSubtitleConfig;
  if (title && title.lines) {
    const key = `${title.maxCharsPerLine}-${title.lines.length}-${title.lines.map(l => l.text).join('|')}`;
    if (!pGroups[key]) pGroups[key] = [];
    pGroups[key].push(t.name);
  }
});

Object.keys(pGroups).forEach(key => {
  if (pGroups[key].length > 1) {
    console.log(`模板 ${pGroups[key].join(', ')} 配置相同`);
  }
});

