/**
 * 数据初始化脚本
 * 可以在云开发控制台中运行该脚本来初始化数据
 */

// 海龟汤题目数据
const turtleSoupRiddles = [
  {
    title: '奇怪的旅馆',
    description: '一位旅行者来到一家偏远的旅馆住宿。当天晚上，他躺在床上准备入睡时，突然发现枕头下面有一张纸条，上面写着："请立即离开这里！"。旅行者看了纸条后，立刻收拾行李，连夜离开了旅馆。第二天，旅馆被大火烧毁。',
    answer: '这位旅行者是这家旅馆的老板。他在检查房间时，发现了一位前任房客留下的警告纸条。意识到可能有危险，他立刻撤离。果然第二天旅馆因电路故障发生火灾。',
    difficulty: 'medium',
    tips: [
      '纸条可能不是写给这位旅行者的',
      '旅行者对旅馆很熟悉',
      '思考旅行者与旅馆的关系'
    ]
  },
  {
    title: '回家的路',
    description: '一个男人开车外出，天色已晚，突然下起了大雨。他在一个十字路口停下来，看到一位老人、一位妇女和一位年轻女子在等车。老人看起来病得很重需要去医院，妇女是他的前女友，年轻女子看起来是他的理想型。由于他的车只能再搭载一人，他最后选择载了老人去医院，并把车钥匙给了前女友让她开车送年轻女子回家，自己则淋着雨步行回家了。',
    answer: '这个男人是一位出租车司机。他载老人去医院是工作需要，把车交给前女友是因为她也是出租车司机，能够接替他的班次送年轻女子回家并继续工作。',
    difficulty: 'hard',
    tips: [
      '思考为什么他会把车钥匙给前女友',
      '为什么他会选择送老人而不是其他人',
      '男人的职业是什么'
    ]
  },
  {
    title: '沙漠中的点',
    description: '一个人独自在沙漠中行走，身后留下了一串脚印。突然，他停下脚步，向后看了看，然后继续前进。奇怪的是，从他停下的地方开始，沙漠上只剩下一个个点，而不是完整的脚印。',
    answer: '这个人原本是倒着走的，留下了正常的脚印。当他停下来向后看时，其实是在朝前方观望，然后决定改为正向行走。由于沙漠很热，他只能用脚尖快速触地前进，因此只留下了点状痕迹。',
    difficulty: 'medium',
    tips: [
      '注意脚印的方向问题',
      '思考人如何在沙漠中行走才会留下点状痕迹',
      '人的行走方向可能发生了变化'
    ]
  },
  {
    title: '最后的晚餐',
    description: '一名囚犯被判处死刑，行刑前一天，狱警按照惯例问他想吃什么作为最后的晚餐。囚犯要求吃一个苹果。狱警给了他一个苹果，囚犯吃完后很快就死亡了，而行刑日期还没到。',
    answer: '这个囚犯有严重的过敏症，他过敏的食物就是苹果。他故意要求吃苹果作为最后的晚餐，以便在正式行刑前自行了断生命。狱警并不知道他对苹果过敏。',
    difficulty: 'easy',
    tips: [
      '囚犯死亡的原因与苹果有关',
      '苹果本身可能没有问题',
      '考虑囚犯的身体状况'
    ]
  },
  {
    title: '独自一人的晚餐',
    description: '一位女士独自一人在餐厅吃晚餐。服务员上了一道她点的鱼。她吃了一口后，起身去了洗手间，回来后看了看盘子，就直接离开了餐厅，再也没有回来。',
    answer: '这位女士是餐厅的食品评论家或卫生检查员。她尝了一口鱼后，去洗手间吐了出来，因为鱼已经不新鲜了。回来确认后，她决定离开并给餐厅一个不及格的评分。',
    difficulty: 'medium',
    tips: [
      '女士的身份很特殊',
      '她为什么要尝一口就离开',
      '考虑食物的质量问题'
    ]
  },
  {
    title: '电梯之谜',
    description: '一个住在高层公寓的男人，每天上班时乘电梯下楼，总是直达一层。但回家时，如果电梯里有其他人，或者天气在下雨，他会直接乘电梯到自己的楼层；否则，他会乘电梯到10楼，然后走楼梯上楼。',
    answer: '这个男人身材矮小，够不着高层的电梯按钮。下楼时，他可以按到1楼的按钮。上楼时，如果有人在电梯里，他可以请别人帮忙按他的楼层；如果下雨天，他会带伞，可以用伞尖按到高层按钮；其他情况下，他只能按到自己够得着的最高楼层（10楼），然后走楼梯。',
    difficulty: 'hard',
    tips: [
      '男人有什么身体特征限制？',
      '为什么下楼时总能到一层？',
      '下雨天有什么特别之处？'
    ]
  },
  {
    title: '湖边的脚印',
    description: '湖边发现了一具尸体，周围只有死者自己的脚印，从湖边一直延伸到湖水中。警方调查后确认这是一起谋杀案，而非自杀或意外。',
    answer: '凶手是冬天在湖面结冰时将被害人杀害的，然后把尸体放在冰面上。等到春天冰融化后，尸体落入湖中，随后被冲到岸边。被害人生前在湖边留下的脚印仍然可见，看起来好像是他自己走入湖中的。',
    difficulty: 'medium',
    tips: [
      '考虑季节变化的影响',
      '尸体是如何到达湖边的？',
      '脚印是什么时候留下的？'
    ]
  },
  {
    title: '桥上的遭遇',
    description: '两人同时从一座独木桥的两端上桥。独木桥很窄，一次只能通过一人。然而奇怪的是，两人却都顺利通过了独木桥，没有一个人掉下去或退回。',
    answer: '两人是在独木桥的中间相遇的。当他们相遇时，一人蹲下，另一人跨过他的背，然后两人继续各自的方向前进，成功通过了独木桥。',
    difficulty: 'easy',
    tips: [
      '思考两人如何能在狭窄的桥上错过对方',
      '不一定需要退回',
      '人体可以做出各种动作'
    ]
  },
  {
    title: '寂静的房间',
    description: '一个密闭的房间里，地上躺着一个人，旁边有一摊水和一些碎玻璃。没有窗户，门是锁着的，房间里没有其他人。',
    answer: '地上的人是一条金鱼。它原本生活在一个玻璃鱼缸里，但鱼缸不知何故破碎了，金鱼因缺水而死亡。',
    difficulty: 'easy',
    tips: [
      '"人"不一定是指人类',
      '思考水和碎玻璃的来源',
      '考虑各种可能生活在玻璃容器中的生物'
    ]
  },
  {
    title: '雪地里的足迹',
    description: '一个积雪的花园里发现了一串足迹，足迹从花园门口一直延伸到花园中央，然后突然消失了。花园周围是平整的雪地，没有任何其他足迹或痕迹。',
    answer: '这串足迹是倒着印上去的。有人故意穿着鞋子倒着走，从花园中央走到了门口。因此看起来好像有人从门口走到中央然后突然消失了。',
    difficulty: 'medium',
    tips: [
      '足迹的方向可能具有欺骗性',
      '思考如何制造"消失"的假象',
      '考虑反向思维'
    ]
  }
];

// 初始化函数
async function initData() {
  // 获取数据库引用
  const db = wx.cloud.database();
  const riddleCollection = db.collection('turtle_soup_riddles');
  
  try {
    // 先检查集合是否存在，如不存在则创建
    try {
      await riddleCollection.count();
    } catch (e) {
      console.log('集合不存在，将创建集合');
      await db.createCollection('turtle_soup_riddles');
    }
    
    // 检查是否已有数据
    const countResult = await riddleCollection.count();
    if (countResult.total > 0) {
      console.log('已有题目数据，跳过初始化');
      return;
    }
    
    // 批量添加题目数据
    const batchTasks = [];
    for (const riddle of turtleSoupRiddles) {
      batchTasks.push(riddleCollection.add({
        data: {
          ...riddle,
          createdAt: db.serverDate()
        }
      }));
    }
    
    await Promise.all(batchTasks);
    console.log('成功初始化海龟汤题目数据，共添加题目：', turtleSoupRiddles.length);
  } catch (error) {
    console.error('数据初始化失败:', error);
  }
}

// 执行初始化
initData().then(() => {
  console.log('数据初始化脚本执行完毕');
}); 