|
@@ -117,7 +117,7 @@ import CharacterStructurePreview from '../preview/components/character_structure
|
|
|
export const bookTypeOption = [
|
|
export const bookTypeOption = [
|
|
|
{
|
|
{
|
|
|
value: 'base',
|
|
value: 'base',
|
|
|
- label: '基础',
|
|
|
|
|
|
|
+ label: '基础组件',
|
|
|
children: [
|
|
children: [
|
|
|
// {
|
|
// {
|
|
|
// value: 'stem',
|
|
// value: 'stem',
|
|
@@ -137,14 +137,6 @@ export const bookTypeOption = [
|
|
|
preview: DescribePreview,
|
|
preview: DescribePreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'label',
|
|
|
|
|
- label: '标签',
|
|
|
|
|
- icon: 'label',
|
|
|
|
|
- component: LabelPage,
|
|
|
|
|
- set: LabelSetting,
|
|
|
|
|
- preview: LabelPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
value: 'audio',
|
|
value: 'audio',
|
|
|
label: '音频',
|
|
label: '音频',
|
|
|
icon: 'audio',
|
|
icon: 'audio',
|
|
@@ -153,6 +145,14 @@ export const bookTypeOption = [
|
|
|
preview: AudioPreview,
|
|
preview: AudioPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
|
|
+ value: 'picture',
|
|
|
|
|
+ label: '图片',
|
|
|
|
|
+ icon: 'picture',
|
|
|
|
|
+ component: PicturePage,
|
|
|
|
|
+ set: PictureSetting,
|
|
|
|
|
+ preview: PicturePreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
value: 'video',
|
|
value: 'video',
|
|
|
label: '视频',
|
|
label: '视频',
|
|
|
icon: 'video',
|
|
icon: 'video',
|
|
@@ -161,12 +161,28 @@ export const bookTypeOption = [
|
|
|
preview: VideoPreview,
|
|
preview: VideoPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'picture',
|
|
|
|
|
- label: '图片',
|
|
|
|
|
- icon: 'picture',
|
|
|
|
|
- component: PicturePage,
|
|
|
|
|
- set: PictureSetting,
|
|
|
|
|
- preview: PicturePreview,
|
|
|
|
|
|
|
+ value: 'input',
|
|
|
|
|
+ label: '输入',
|
|
|
|
|
+ icon: 'input',
|
|
|
|
|
+ component: Input,
|
|
|
|
|
+ set: InputSetting,
|
|
|
|
|
+ preview: InputPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'write_base',
|
|
|
|
|
+ label: '写字',
|
|
|
|
|
+ icon: 'write_base',
|
|
|
|
|
+ component: WriteBase,
|
|
|
|
|
+ set: WriteBaseSetting,
|
|
|
|
|
+ preview: WriteBasePreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'record_input',
|
|
|
|
|
+ label: '录音',
|
|
|
|
|
+ icon: 'record_input',
|
|
|
|
|
+ component: RecordInput,
|
|
|
|
|
+ set: RecordInputSetting,
|
|
|
|
|
+ preview: RecordInputPreview,
|
|
|
},
|
|
},
|
|
|
// {
|
|
// {
|
|
|
// value: 'upload_control',
|
|
// value: 'upload_control',
|
|
@@ -185,12 +201,44 @@ export const bookTypeOption = [
|
|
|
preview: UploadPreviewPreview,
|
|
preview: UploadPreviewPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'divider',
|
|
|
|
|
- label: '分隔',
|
|
|
|
|
- icon: 'spacing',
|
|
|
|
|
- component: DividerPage,
|
|
|
|
|
- set: DividerSetting,
|
|
|
|
|
- preview: DividerPreview,
|
|
|
|
|
|
|
+ value: 'drawing',
|
|
|
|
|
+ label: '趣味画板',
|
|
|
|
|
+ icon: 'drawing',
|
|
|
|
|
+ component: Drawing,
|
|
|
|
|
+ set: DrawingSetting,
|
|
|
|
|
+ preview: DrawingPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'image_text',
|
|
|
|
|
+ label: '图文融合',
|
|
|
|
|
+ icon: 'image_text',
|
|
|
|
|
+ component: ImageText,
|
|
|
|
|
+ set: ImageTextSetting,
|
|
|
|
|
+ preview: ImageTextPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'video_interaction',
|
|
|
|
|
+ label: '交互视频',
|
|
|
|
|
+ icon: 'video_interaction',
|
|
|
|
|
+ component: VideoInteraction,
|
|
|
|
|
+ set: VideoInteractionSetting,
|
|
|
|
|
+ preview: VideoInteractionPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: '3DModel',
|
|
|
|
|
+ label: '3D模型',
|
|
|
|
|
+ icon: 'three-model',
|
|
|
|
|
+ component: ThreeModel,
|
|
|
|
|
+ set: ThreeModelSetting,
|
|
|
|
|
+ preview: ThreeModelPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'h5_games',
|
|
|
|
|
+ label: 'H5游戏',
|
|
|
|
|
+ icon: 'games',
|
|
|
|
|
+ component: H5Games,
|
|
|
|
|
+ set: H5GamesSetting,
|
|
|
|
|
+ preview: H5GamesPreview,
|
|
|
},
|
|
},
|
|
|
// {
|
|
// {
|
|
|
// value: 'spacing',
|
|
// value: 'spacing',
|
|
@@ -209,111 +257,125 @@ export const bookTypeOption = [
|
|
|
// preview: CharacterBasePreview,
|
|
// preview: CharacterBasePreview,
|
|
|
// },
|
|
// },
|
|
|
{
|
|
{
|
|
|
- value: 'write_base',
|
|
|
|
|
- label: '写字',
|
|
|
|
|
- icon: 'write_base',
|
|
|
|
|
- component: WriteBase,
|
|
|
|
|
- set: WriteBaseSetting,
|
|
|
|
|
- preview: WriteBasePreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'h5_games',
|
|
|
|
|
- label: 'H5游戏',
|
|
|
|
|
- icon: 'games',
|
|
|
|
|
- component: H5Games,
|
|
|
|
|
- set: H5GamesSetting,
|
|
|
|
|
- preview: H5GamesPreview,
|
|
|
|
|
|
|
+ value: 'label',
|
|
|
|
|
+ label: '标签',
|
|
|
|
|
+ icon: 'label',
|
|
|
|
|
+ component: LabelPage,
|
|
|
|
|
+ set: LabelSetting,
|
|
|
|
|
+ preview: LabelPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: '3DModel',
|
|
|
|
|
- label: '3D模型',
|
|
|
|
|
- icon: 'three-model',
|
|
|
|
|
- component: ThreeModel,
|
|
|
|
|
- set: ThreeModelSetting,
|
|
|
|
|
- preview: ThreeModelPreview,
|
|
|
|
|
|
|
+ value: 'divider',
|
|
|
|
|
+ label: '分隔',
|
|
|
|
|
+ icon: 'spacing',
|
|
|
|
|
+ component: DividerPage,
|
|
|
|
|
+ set: DividerSetting,
|
|
|
|
|
+ preview: DividerPreview,
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'question',
|
|
|
|
|
- label: '题型组件',
|
|
|
|
|
|
|
+ value: 'teaching',
|
|
|
|
|
+ label: '教学组件',
|
|
|
children: [
|
|
children: [
|
|
|
{
|
|
{
|
|
|
- value: 'article',
|
|
|
|
|
- label: '文章',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: Article,
|
|
|
|
|
- set: ArticleSetting,
|
|
|
|
|
- preview: ArticlePreview,
|
|
|
|
|
|
|
+ value: 'voice_matrix',
|
|
|
|
|
+ label: '语音矩阵',
|
|
|
|
|
+ icon: 'voice_matrix',
|
|
|
|
|
+ component: VoiceMatrix,
|
|
|
|
|
+ set: VoiceMatrixSetting,
|
|
|
|
|
+ preview: VoiceMatrixPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'pinyin_base',
|
|
|
|
|
+ label: '拼音',
|
|
|
|
|
+ icon: 'pinyin_base',
|
|
|
|
|
+ component: PinyinBase,
|
|
|
|
|
+ set: PinyinBaseSetting,
|
|
|
|
|
+ preview: PinyinBasePreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'character',
|
|
|
|
|
+ label: '汉字',
|
|
|
|
|
+ icon: 'character',
|
|
|
|
|
+ component: Character,
|
|
|
|
|
+ set: CharacterSetting,
|
|
|
|
|
+ preview: CharacterPreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'new_word',
|
|
|
|
|
+ label: '生词表',
|
|
|
|
|
+ icon: 'new_word',
|
|
|
|
|
+ component: NewWord,
|
|
|
|
|
+ set: NewWordSetting,
|
|
|
|
|
+ preview: NewWordPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
value: 'dialogue_article',
|
|
value: 'dialogue_article',
|
|
|
- label: '对话课文',
|
|
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ label: '对话体课文',
|
|
|
|
|
+ icon: 'dialogue_article',
|
|
|
component: DialogueArticlePage,
|
|
component: DialogueArticlePage,
|
|
|
set: DialogueArticleSetting,
|
|
set: DialogueArticleSetting,
|
|
|
preview: DialogueArticlePreview,
|
|
preview: DialogueArticlePreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
|
|
+ value: 'article',
|
|
|
|
|
+ label: '文章',
|
|
|
|
|
+ icon: 'article',
|
|
|
|
|
+ component: Article,
|
|
|
|
|
+ set: ArticleSetting,
|
|
|
|
|
+ preview: ArticlePreview,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: 'exercise',
|
|
|
|
|
+ label: '练习组件',
|
|
|
|
|
+ children: [
|
|
|
|
|
+ {
|
|
|
value: 'select',
|
|
value: 'select',
|
|
|
- label: '选择',
|
|
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ label: '选择题',
|
|
|
|
|
+ icon: 'select',
|
|
|
component: SelectPage,
|
|
component: SelectPage,
|
|
|
set: SelectSetting,
|
|
set: SelectSetting,
|
|
|
preview: SelectPreview,
|
|
preview: SelectPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'matching',
|
|
|
|
|
- label: '连线',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: MatchingPage,
|
|
|
|
|
- set: MatchingSetting,
|
|
|
|
|
- preview: MatchingPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'sort',
|
|
|
|
|
- label: '排序',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: SortPage,
|
|
|
|
|
- set: SortSetting,
|
|
|
|
|
- preview: SortPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'voice_matrix',
|
|
|
|
|
- label: '语音矩阵',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: VoiceMatrix,
|
|
|
|
|
- set: VoiceMatrixSetting,
|
|
|
|
|
- preview: VoiceMatrixPreview,
|
|
|
|
|
|
|
+ value: 'judge',
|
|
|
|
|
+ label: '判断题',
|
|
|
|
|
+ icon: 'judge',
|
|
|
|
|
+ component: Judge,
|
|
|
|
|
+ set: JudgeSetting,
|
|
|
|
|
+ preview: JudgePreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
value: 'fill',
|
|
value: 'fill',
|
|
|
- label: '填空',
|
|
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ label: '填空题',
|
|
|
|
|
+ icon: 'fill',
|
|
|
component: FillPage,
|
|
component: FillPage,
|
|
|
set: FillSetting,
|
|
set: FillSetting,
|
|
|
preview: FillPreview,
|
|
preview: FillPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'record_input',
|
|
|
|
|
- label: '录音',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: RecordInput,
|
|
|
|
|
- set: RecordInputSetting,
|
|
|
|
|
- preview: RecordInputPreview,
|
|
|
|
|
|
|
+ value: 'matching',
|
|
|
|
|
+ label: '连线题',
|
|
|
|
|
+ icon: 'matching',
|
|
|
|
|
+ component: MatchingPage,
|
|
|
|
|
+ set: MatchingSetting,
|
|
|
|
|
+ preview: MatchingPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- value: 'new_word',
|
|
|
|
|
- label: '生词',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: NewWord,
|
|
|
|
|
- set: NewWordSetting,
|
|
|
|
|
- preview: NewWordPreview,
|
|
|
|
|
|
|
+ value: 'sort',
|
|
|
|
|
+ label: '排序题',
|
|
|
|
|
+ icon: 'sort',
|
|
|
|
|
+ component: SortPage,
|
|
|
|
|
+ set: SortSetting,
|
|
|
|
|
+ preview: SortPreview,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
value: 'notes',
|
|
value: 'notes',
|
|
|
label: '注释',
|
|
label: '注释',
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ icon: 'notes',
|
|
|
component: Notes,
|
|
component: Notes,
|
|
|
set: NotesSetting,
|
|
set: NotesSetting,
|
|
|
preview: NotesPreview,
|
|
preview: NotesPreview,
|
|
@@ -327,17 +389,9 @@ export const bookTypeOption = [
|
|
|
// preview: OtherWordPreview,
|
|
// preview: OtherWordPreview,
|
|
|
// },
|
|
// },
|
|
|
{
|
|
{
|
|
|
- value: 'character',
|
|
|
|
|
- label: '汉字',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: Character,
|
|
|
|
|
- set: CharacterSetting,
|
|
|
|
|
- preview: CharacterPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
value: 'newWord_template',
|
|
value: 'newWord_template',
|
|
|
label: '生字',
|
|
label: '生字',
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ icon: 'newWord_template',
|
|
|
component: NewWordTemplate,
|
|
component: NewWordTemplate,
|
|
|
set: NewWordTemplateSetting,
|
|
set: NewWordTemplateSetting,
|
|
|
preview: NewWordTemplatePreview,
|
|
preview: NewWordTemplatePreview,
|
|
@@ -345,7 +399,7 @@ export const bookTypeOption = [
|
|
|
{
|
|
{
|
|
|
value: 'character_structure',
|
|
value: 'character_structure',
|
|
|
label: '汉字结构',
|
|
label: '汉字结构',
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ icon: 'character_structure',
|
|
|
component: CharacterStructure,
|
|
component: CharacterStructure,
|
|
|
set: CharacterStructureSetting,
|
|
set: CharacterStructureSetting,
|
|
|
preview: CharacterStructurePreview,
|
|
preview: CharacterStructurePreview,
|
|
@@ -367,61 +421,13 @@ export const bookTypeOption = [
|
|
|
// preview: MathPreview,
|
|
// preview: MathPreview,
|
|
|
// },
|
|
// },
|
|
|
{
|
|
{
|
|
|
- value: 'input',
|
|
|
|
|
- label: '输入框',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: Input,
|
|
|
|
|
- set: InputSetting,
|
|
|
|
|
- preview: InputPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'judge',
|
|
|
|
|
- label: '判断',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: Judge,
|
|
|
|
|
- set: JudgeSetting,
|
|
|
|
|
- preview: JudgePreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'image_text',
|
|
|
|
|
- label: '图片文本融合',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: ImageText,
|
|
|
|
|
- set: ImageTextSetting,
|
|
|
|
|
- preview: ImageTextPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
value: 'table',
|
|
value: 'table',
|
|
|
- label: '表格',
|
|
|
|
|
- icon: '',
|
|
|
|
|
|
|
+ label: '表格题',
|
|
|
|
|
+ icon: 'table',
|
|
|
component: Table,
|
|
component: Table,
|
|
|
set: TableSetting,
|
|
set: TableSetting,
|
|
|
preview: TablePreview,
|
|
preview: TablePreview,
|
|
|
},
|
|
},
|
|
|
- {
|
|
|
|
|
- value: 'pinyin_base',
|
|
|
|
|
- label: '拼音',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: PinyinBase,
|
|
|
|
|
- set: PinyinBaseSetting,
|
|
|
|
|
- preview: PinyinBasePreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'video_interaction',
|
|
|
|
|
- label: '视频交互',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: VideoInteraction,
|
|
|
|
|
- set: VideoInteractionSetting,
|
|
|
|
|
- preview: VideoInteractionPreview,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: 'drawing',
|
|
|
|
|
- label: '画板',
|
|
|
|
|
- icon: '',
|
|
|
|
|
- component: Drawing,
|
|
|
|
|
- set: DrawingSetting,
|
|
|
|
|
- preview: DrawingPreview,
|
|
|
|
|
- },
|
|
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
];
|
|
];
|