/**
 * 测试动态提示词组装系统
 */

// 模拟测试不同场景
const testCases = [
  {
    name: '大学教材 - 操作系统',
    topic: '操作系统引论',
    description: '大学计算机专业教材,适合本科生,要求有案例和习题',
  },
  {
    name: '技术教程 - Python',
    topic: 'Python Web开发实战',
    description: '适合初学者的入门教程,要有代码示例和项目实战',
  },
  {
    name: '商业书籍',
    topic: '创业思维',
    description: '面向大众读者的商业书籍,要有真实案例,通俗易懂',
  },
  {
    name: '科普读物',
    topic: '量子力学揭秘',
    description: '面向大众的科普书,语言要生动有趣,用比喻解释复杂概念',
  },
];

console.log('=== 动态提示词组装系统测试 ===\n');

testCases.forEach((testCase, index) => {
  console.log(`\n${'='.repeat(80)}`);
  console.log(`测试 ${index + 1}: ${testCase.name}`);
  console.log(`${'='.repeat(80)}`);
  console.log(`书名: 《${testCase.topic}》`);
  console.log(`描述: ${testCase.description}\n`);

  // 模拟需求分析
  const text = `${testCase.topic} ${testCase.description}`.toLowerCase();
  
  const requirements = {
    bookType: '',
    audience: '',
    depth: '',
    industry: '',
    specialNeeds: [],
  };

  // 分析书籍类型
  if (/教材|课程|教学|大学|学校/i.test(text)) {
    requirements.bookType = '教材';
  } else if (/教程|实战|开发|编程|代码/i.test(text)) {
    requirements.bookType = '技术教程';
  } else if (/小说|故事|文学|传记|散文/i.test(text)) {
    requirements.bookType = '小说';
  } else if (/商业|管理|营销|创业|投资|经济/i.test(text)) {
    requirements.bookType = '商业';
  } else if (/科普|百科|科学|探索|揭秘/i.test(text)) {
    requirements.bookType = '科普';
  }

  // 分析目标读者
  if (/初学者|入门|新手|零基础|小白/i.test(text)) {
    requirements.audience = '初学者';
  } else if (/专业|高级|深入|专家|研究/i.test(text)) {
    requirements.audience = '专业人士';
  } else if (/大众|通俗|普及|广泛/i.test(text)) {
    requirements.audience = '大众读者';
  }

  // 分析内容深度
  if (/入门|基础|概论|简介|导论/i.test(text)) {
    requirements.depth = '入门';
  } else if (/进阶|高级|深入|精通/i.test(text)) {
    requirements.depth = '进阶';
  } else if (/专家|研究|前沿|底层|原理/i.test(text)) {
    requirements.depth = '专家';
  }

  // 分析行业领域
  if (/计算机|IT|编程|软件|互联网|AI|人工智能/i.test(text)) {
    requirements.industry = 'IT/计算机';
  } else if (/金融|股票|投资|银行|证券/i.test(text)) {
    requirements.industry = '金融';
  } else if (/医学|医疗|健康|临床|疾病/i.test(text)) {
    requirements.industry = '医学';
  } else if (/教育|教学|学习|学校|课程/i.test(text)) {
    requirements.industry = '教育';
  }

  // 分析特殊需求
  if (/案例|实例/i.test(text)) requirements.specialNeeds.push('有案例');
  if (/代码|示例/i.test(text)) requirements.specialNeeds.push('有代码');
  if (/习题|练习|作业/i.test(text)) requirements.specialNeeds.push('有习题');
  if (/图表|插图|配图/i.test(text)) requirements.specialNeeds.push('有图表');
  if (/项目|实战|实践/i.test(text)) requirements.specialNeeds.push('有项目实战');

  console.log('📊 需求分析结果:');
  console.log(`  - 书籍类型: ${requirements.bookType || '未识别'}`);
  console.log(`  - 目标读者: ${requirements.audience || '未识别'}`);
  console.log(`  - 内容深度: ${requirements.depth || '未识别'}`);
  console.log(`  - 行业领域: ${requirements.industry || '未识别'}`);
  console.log(`  - 特殊需求: ${requirements.specialNeeds.join(', ') || '无'}`);
  console.log('');
});

console.log('\n✅ 测试完成!\n');
console.log('说明:');
console.log('1. 系统会根据用户描述自动分析需求');
console.log('2. 根据书籍类型、读者、深度、行业动态组装提示词');
console.log('3. 不同类型的书籍会应用不同的编写要求');
console.log('4. 特殊需求(案例/代码/习题等)会被识别并加入提示词');
