import {
  stemTypeList,
  questionNumberTypeList,
  scoreTypeList,
  optionTypeList,
  switchOption,
  fontSizeList,
} from './common';
import { getRandomNumber } from '@/utils/index';

export function getOption(content = '') {
  return {
    content,
    character: '',
    mark: getRandomNumber(),
    content_view: [],
    audio_file_id: '',
    content_hz: '',
  };
}

export const toneList = [
  { value: 'first', label: '一声', img: 'first-tone' },
  { value: 'second', label: '二声', img: 'second-tone' },
  { value: 'third', label: '三声', img: 'third-tone' },
  { value: 'fourth', label: '四声', img: 'fourth-tone' },
  { value: 'neutral', label: '轻声', img: 'neutral-tone' },
];

export const toneTypeList = [
  { value: 'select', label: '选择声调' },
  { value: 'label', label: '标注声调' },
];

export const audioGenerationMethodList = [
  {
    value: 'upload',
    label: '上传',
  },
  {
    value: 'auto',
    label: '自动生成',
  },
  {
    value: 'record',
    label: '录音',
  },
];

/**
 * 解析智能识别数据
 * @param {array} arr 智能识别数据
 * @returns object
 */
export function analysisRecognitionChooseToneData(arr) {
  return {
    'data.option_list': arr.map(getOption),
  };
}

// 听后辨调题数据模板
export const ChooseToneData = {
  type: 'choose_tone', // 题型
  stem: '', // 题干
  description: '', // 描述
  analysis: '', // 解析，富文本
  option_number_show_mode: optionTypeList[0].value, // 选项类型
  option_list: [getOption(), getOption(), getOption()], // 选项
  file_id_list: [],
  answer: { score: 1, score_type: scoreTypeList[0].value, answer_list: [] }, // 答案
  // 题型属性
  property: {
    stem_type: stemTypeList[1].value, // 题干类型
    question_number: '1', // 题号
    stem_question_number_font_size: fontSizeList[6], // 题干题号
    option_question_number_font_size: fontSizeList[5], // 选项题号
    is_enable_description: switchOption[1].value, // 描述
    is_enable_analysis: switchOption[1].value, // 是否开启解析
    answer_mode: toneTypeList[0].value, // 音调类型
    score: 1, // 分值
    score_type: scoreTypeList[0].value, // 分值类型
  },
  // 其他属性
  other: {
    question_number_type: questionNumberTypeList[1].value, // 题号类型
    audio_generation_method: audioGenerationMethodList[0].value, // 音频生成方式
  },
};
