Przeglądaj źródła

Merge branch 'master' of http://60.205.254.193:3000/GCLS/GCLS_Page_Exercise

dusenyao 1 rok temu
rodzic
commit
90efdd2084

+ 2 - 1
src/router/modules/index.js

@@ -1,4 +1,5 @@
 import { LoginPage, HomePage, NotFoundPage, EnterSys } from './basic';
 import ExerciseRouters from './exercise';
+import { ExerciseSharePage } from './share';
 
-export const routes = [LoginPage, EnterSys, HomePage, ...ExerciseRouters, NotFoundPage];
+export const routes = [LoginPage, EnterSys, HomePage, ...ExerciseRouters, NotFoundPage, ExerciseSharePage];

+ 8 - 0
src/router/modules/share.js

@@ -0,0 +1,8 @@
+/**
+ * 分享
+ */
+export const ExerciseSharePage = {
+  path: '/open/share/exercise',
+  name: 'ShareExercise',
+  component: () => import('@/views/share/ShareExercise.vue'),
+};

+ 2 - 5
src/views/exercise_questions/create/components/exercises/RepeatQuestion.vue

@@ -27,11 +27,7 @@
       <div class="content">
         <label class="title-little">内容</label>
         <ul>
-          <li
-            v-for="(item, i) in data.option_list"
-            :key="i + Math.random().toString(36).slice(-6)"
-            class="content-item repeat-option"
-          >
+          <li v-for="(item, i) in data.option_list" :key="i" class="content-item repeat-option">
             <span class="question-number" @dblclick="changeOptionType(data)">
               {{ computedQuestionNumber(i, data.option_number_show_mode) }}.
             </span>
@@ -39,6 +35,7 @@
               <RichText v-model="item.content" placeholder="输入内容" :inline="true" />
             </div>
             <UploadAudio
+              :key="i + Math.random().toString(36).slice(-6)"
               :file-id="item.file_id_list?.[0]"
               :item-index="i"
               @upload="uploads"

+ 2 - 16
src/views/exercise_questions/data/common.js

@@ -11,31 +11,17 @@ export const questionTypeOption = [
       { label: '填空题', value: 'fill' },
       { label: '排序题', value: 'sort', disabled: true },
       { label: '连线题', value: 'matching' },
-      { label: '问答题', value: 'answer', disabled: true },
-      { label: '填表题', value: 'table', disabled: true },
       { label: '选择声调', value: 'choose_tone' },
     ],
   },
   {
-    value: 'hear',
-    label: '听力题',
-    children: [
-      { label: '听后选择', value: 'hear_select', disabled: true },
-      { label: '听后判断', value: 'hear_judge', disabled: true },
-      { label: '听后填空', value: 'hear_fill', disabled: true },
-      { label: '自定义听力题', value: 'hear_custom', disabled: true },
-    ],
-  },
-  {
     value: 'spoken',
     label: '口语题',
     children: [
       { label: '朗读题', value: 'read_aloud' },
-      { label: '听后复述', value: 'repeat', disabled: true },
-      { label: '回答问题', value: 'spoken_answer', disabled: true },
+      { label: '听说训练', value: 'repeat' },
       { label: '看图说话', value: 'talk_picture' },
-      { label: '对话题', value: 'dialogue' },
-      { label: '自定义口语', value: 'spoken_custom', disabled: true },
+      { label: '对话练习', value: 'dialogue' },
     ],
   },
   {

+ 27 - 0
src/views/share/ShareExercise.vue

@@ -0,0 +1,27 @@
+<template>
+  <h1></h1>
+</template>
+
+<script>
+export default {
+  name: 'ShareExercise',
+
+  data() {
+    return {};
+  },
+  created() {
+    let info = navigator.userAgent;
+    // 通过正则表达式的test方法判断是否包含“Mobile”字符串
+    let isPhone = /mobile|iPad/i.test(info);
+    // 如果包含“Mobile”(是手机设备)则返回true
+    if (isPhone) {
+      window.location.href = `${window.location.origin}/GCLS-Mobile/#/open/share/exercise?share_record_id=${this.$route.query.share_record_id}`;
+    } else {
+      console.log('pc');
+    }
+  },
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped></style>