Kaynağa Gözat

h5游戏调整为编辑时zip包解压缩

natasha 2 hafta önce
ebeveyn
işleme
06b40ad382

+ 12 - 0
src/views/book/courseware/create/components/base/h5_games/H5Games.vue

@@ -24,6 +24,7 @@
 import ModuleMixin from '../../common/ModuleMixin';
 import UploadFile from '../common/UploadFile.vue';
 import { getH5GamesData } from '@/views/book/courseware/data/h5Games';
+import { H5StartupFile } from '@/api/app';
 
 export default {
   name: 'H5GamesPage',
@@ -45,6 +46,17 @@ export default {
       this.data.file_list = file_list;
       this.data.file_id_list = file_id_list;
       this.data.file_info = file_info;
+      this.data.file_list.forEach((item, index) => {
+        const suffix = item.file_url.slice(item.file_url.lastIndexOf('.') + 1, item.file_url.length).toLowerCase();
+        if (suffix === 'zip') {
+          H5StartupFile({ file_id: item.file_id, index_file_name: 'index.html' }).then((res) => {
+            this.$set(this.data.file_info, res.file_id, this.data.file_info[item.file_id]);
+            item.file_url = res.file_url;
+            item.file_id = res.file_id;
+            this.data.file_id_list[index] = res.file_id;
+          });
+        }
+      });
     },
     handleMindMap() {
       // 思维导图数据

+ 1 - 1
src/views/book/courseware/preview/components/h5_games/H5GamesPreview.vue

@@ -61,7 +61,7 @@ export default {
   methods: {
     initData() {
       this.data.file_list.forEach((item) => {
-        const suffix = item.file_name.slice(item.file_name.lastIndexOf('.') + 1, item.file_name.length).toLowerCase();
+        const suffix = item.file_url.slice(item.file_url.lastIndexOf('.') + 1, item.file_url.length).toLowerCase();
         if (suffix === 'html') {
           this.games_url = item.file_url;
         } else {