import type { CompetitionData } from '../types'
import img from '@/assets/imgs/q5-img.png'

/**
 * 模拟数据
 *  真实后端数据可能是：
 *  活动详情接口，传活动id 获取 流程nodes
 *  每次可能只返回一个n1，前端先展示n1，用户点击“抽题”后，再请求n2。其中questions 可能不是在n1就返回，而是点击抽提时候 传nodeId 去随机获取后前端保存
 * 1. 包含 3 个节点（N1, N2, N3）
 * 2. 每个节点包含 2 个批次（汉字听一听, 汉字加一加）
 * 3. 每个批次包含 2 个问题（Q1, Q2, Q3, Q4, Q5）
 */
export const mockData: CompetitionData = {
  activityInfo: {
    name: '星·辞海遨游',
  },
  nodes: [
    {
      nodeId: 'N1',
      roundTitle: '第一轮',
      moduleName: '汉字听一听',
      batchName: '根据提示写汉字',
      description: '请根据汉语拼音提示书写正确的汉字，时间为15秒。',
      uiTemplate: 'TEMPLATE_DICTATION_HINT',
      config: { timeLimit: 5, questionCount: 2, scorePerQuestion: 1 },
      questions: [
        {
          id: 'Q1',
          content: { pinyin: 'jiū,表示小鸟的叫声', hint: '表示小鸟的叫声' },
          answer: ['啾'],
        },
        {
          id: 'Q2',
          content: { pinyin: 'yāo', hint: '形容草木茂盛美丽' },
          answer: ['夭'],
        },
      ],
    },
    {
      nodeId: 'N2',
      roundTitle: '第二轮',
      moduleName: '汉字听一听',
      batchName: '同音字',
      description: '请根据拼音书写同音字，时间为30秒。',
      uiTemplate: 'TEMPLATE_DICTATION_HOMOPHONE',
      config: { timeLimit: 5, questionCount: 2, scorePerQuestion: 1 },
      questions: [
        {
          id: 'Q3',
          content: { mainText: 'táng' },
          answer: ['唐', '塘', '糖', '搪', '溏', '瑭', '鄌', '螗', '糖', '堂', '膛', '螳', '鄳', '樘', '镗', '棠', '饧'],
        },
        {
          id: 'Q4',
          content: { mainText: 'jù' },
          answer: ['剧', '据', '巨', '拒', '聚', '炬', '距', '惧', '具', '俱', '沮', '咀', '矩', '锯'],
        },
      ],
    },
    {
      nodeId: 'N3',
      roundTitle: '第三轮',
      moduleName: '汉字加一加',
      batchName: '部件组合',
      description: '请写出含有指定部件的汉字，时间为60秒。',
      uiTemplate: 'TEMPLATE_COMPONENT_ADD',
      config: { timeLimit: 5, questionCount: 1, scorePerQuestion: 1 },
      questions: [
        {
          id: 'Q5',
          content: { component: '车' },
          answer: ['辆', '轿', '转', '软', '轮', '辐', '输', '轨', '轩', '轻', '轶', '辄', '轴', '轧', '轼', '辊', '辕', '辙', '辍', '辗', '轸', '轭', '辚', '辖', '较', '辘', '轫', '轵', '辋', '轲', '轺', '臻', '软', '辌', '轷', '轻', '辁', '辒', '蚺', '韫', '轱', '辂', '轻', '轹', '辅', '舻', '辐', '斩', '连', '阵', '军', '轰', '库', '辈', '载', '辈', '晕', '辔'],
        },
      ],
    },
    {
      nodeId: 'N4',
      roundTitle: '第四轮',
      moduleName: '词语听写',
      batchName: '拼音写词',
      description: '请根据汉语拼音提示书写正确的词语，时间为30秒。',
      uiTemplate: 'TEMPLATE_WORD_DICTATION',
      config: { timeLimit: 5, questionCount: 2, scorePerQuestion: 2 },
      questions: [
        {
          id: 'Q6',
          content: { pinyin: 'zhì rè', hint: '形容温度极高' },
          answer: ['炙热'],
        },
        {
          id: 'Q7',
          content: { pinyin: 'hào hàn', hint: '形容广大繁多' },
          answer: ['浩瀚'],
        },
      ],
    },
    {
      nodeId: 'N5',
      roundTitle: '第五轮',
      moduleName: '成语写一写',
      batchName: '文字要求',
      description: '请根据要求书写正确的成语，时间为60秒。',
      uiTemplate: 'TEMPLATE_IDIOM_TEXT_REQ',
      config: { timeLimit: 5, questionCount: 1, scorePerQuestion: 1 },
      questions: [
        {
          id: 'Q8',
          content: { requirement: '请写出含有反义字的四字成语。' },
          answer: ['七上八下', '前因后果', '大同小异', '东张西望', '左顾右盼', '南辕北辙', '深入浅出', '出生入死', '死去活来', '天翻地覆', '黑白分明'],
        },
      ],
    },
    {
      nodeId: 'N6',
      roundTitle: '第六轮',
      moduleName: '成语写一写',
      batchName: '看图写成语',
      description: '请根据图片书写正确的成语，时间为30秒。',
      uiTemplate: 'TEMPLATE_IDIOM_IMAGE',
      config: { timeLimit: 30, questionCount: 2, scorePerQuestion: 2 },
      questions: [
        {
          id: 'Q9',
          content: { hint: '比喻事情已定', image: img },
          answer: ['板上钉钉'],
        },
        {
          id: 'Q10',
          content: { hint: '比喻事情已定', image: img },
          answer: ['板上钉钉'],
        },
      ],
    },
  ],
}

export const uiTemplatesMapping = {
  TEMPLATE_DICTATION_HINT: '汉字听写-提示',
  TEMPLATE_DICTATION_HOMOPHONE: '汉字听写-同音',
  TEMPLATE_COMPONENT_ADD: '汉字加一加',
  TEMPLATE_WORD_DICTATION: '词语听写',
  TEMPLATE_IDIOM_TEXT_REQ: '成语-文字要求',
  TEMPLATE_IDIOM_IMAGE: '成语-看图',
}
