123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- import {
- stemTypeList,
- scoreTypeList,
- questionNumberTypeList,
- optionTypeList,
- switchOption,
- fontSizeList,
- } from './common';
- import { getRandomNumber } from '@/utils/index';
- import { handleChineseStrokes, handleItemPinyin } from './chinese';
- export function getOption(content = '') {
- return {
- content,
- mark: getRandomNumber(),
- audio_file_id: '',
- pinyin: '',
- definition: '',
- collocation: '',
- example_sentence: ['', ''],
- picture_file_id: '',
- hz_strokes_list: [],
- };
- }
- // 音频生成方式类型
- export const audioGenerationMethodList = [
- {
- value: 'upload',
- label: '上传',
- },
- {
- value: 'auto',
- label: '自动生成',
- },
- {
- value: 'record',
- label: '录音',
- },
- ];
- // 修改拼音
- function changePinyin(item) {
- let index = item.pinyin.search(/0|1|2|3|4/);
- if (index > -1) {
- let matically_pinyin_obj = {};
- handleItemPinyin(item.pinyin, item.mark, matically_pinyin_obj);
- setTimeout(() => {
- item.pinyin = matically_pinyin_obj[item.mark];
- }, 100);
- }
- }
- /**
- * 解析智能识别数据
- * @param {array} arr 智能识别数据
- * @returns object
- */
- export async function analysisRecognitionWordCardData(arr) {
- let option_list = await Promise.all(
- arr.map(async (content) => {
- let content_item = content.split('/');
- let option = {
- content: content_item[0] ? content_item[0] : '',
- mark: getRandomNumber(),
- audio_file_id: '',
- pinyin: content_item[1] ? content_item[1] : '',
- definition: content_item[2] ? content_item[2] : '',
- collocation: content_item[3] ? content_item[3] : '',
- example_sentence: content_item.length > 3 ? content_item.slice(4) : [''],
- picture_file_id: '',
- hz_strokes_list: [],
- };
- await handleChineseStrokes(option);
- changePinyin(option);
- return option;
- }),
- );
- return {
- 'data.option_list': option_list,
- };
- }
- // 字词卡片数据模板
- export const wordCardData = {
- type: 'word_card', // 题型
- stem: '', // 题干
- description: '', // 描述
- option_number_show_mode: optionTypeList[1].value, // 选项类型
- answer: { score: 1, score_type: scoreTypeList[0].value }, // 答案
- option_list: [getOption()], // 选项
- file_id_list: [],
- // 题型属性
- property: {
- stem_type: stemTypeList[1].value, // 题干类型
- question_number: '1', // 题号
- stem_question_number_font_size: fontSizeList[6], // 题干题号
- is_enable_description: switchOption[1].value, // 描述
- score: 1, // 分值
- score_type: scoreTypeList[0].value, // 分值类型
- },
- // 其他属性
- other: {
- question_number_type: questionNumberTypeList[1].value, // 题号类型
- audio_generation_method: audioGenerationMethodList[0].value, // 音频生成方式
- },
- };
|