Преглед на файлове

h5游戏扩展支持上传html类型文件

natasha преди 2 дни
родител
ревизия
3a818867df

+ 2 - 2
src/views/book/courseware/create/components/base/common/UploadFile.vue

@@ -274,8 +274,8 @@ export default {
         ];
         typeTip = '文件不支持';
       } else if (this.type === 'h5_games') {
-        fileType = ['zip'];
-        typeTip = 'H5游戏文件只能是 zip 格式!';
+        fileType = ['zip', 'html'];
+        typeTip = 'H5游戏文件只能是 zip、html 格式!';
       } else if (this.type === '3DModel') {
         fileType = ['fbx', 'obj', 'gltf', 'glb'];
         typeTip = '3D模型文件只能是 fbx、obj、gltf、glb 格式!';

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

@@ -7,8 +7,8 @@
         :component-id="id"
         :type="data.type"
         :total-size="200"
-        :file-list="data.games_list"
-        :file-id-list="data.games_id_list"
+        :file-list="data.file_list"
+        :file-id-list="data.file_id_list"
         :label-text="labelText"
         :accept-file-type="acceptFileType"
         :icon-class="iconClass"
@@ -33,22 +33,22 @@ export default {
     return {
       data: getH5GamesData(),
       labelText: '压缩包',
-      acceptFileType: '.zip',
+      acceptFileType: '.zip,.html',
       iconClass: 'zip',
     };
   },
   watch: {
-    'data.games_list': 'handleMindMap',
+    'data.file_list': 'handleMindMap',
   },
   methods: {
     updateFileList({ file_list, file_id_list }) {
-      this.data.games_list = file_list;
-      this.data.games_id_list = file_id_list;
+      this.data.file_list = file_list;
+      this.data.file_id_list = file_id_list;
     },
     handleMindMap() {
       // 思维导图数据
       let node_list = [];
-      this.data.games_list.forEach((item) => {
+      this.data.file_list.forEach((item) => {
         node_list.push({
           name: item.file_name ?? item.name,
           id: Math.random().toString(36).substring(2, 12),

+ 2 - 2
src/views/book/courseware/data/h5Games.js

@@ -21,8 +21,8 @@ export function getH5GamesData() {
     type: 'h5_games',
     title: 'H5游戏',
     property: getH5GamesProperty(),
-    games_list: [],
-    games_id_list: [],
+    file_list: [],
+    file_id_list: [],
     mind_map: {
       node_list: [
         { name: 'H5游戏' }

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

@@ -37,10 +37,15 @@ export default {
   mounted() {},
   methods: {
     initData() {
-      this.data.games_list.forEach((item) => {
-        H5StartupFile({ file_id: item.file_id, index_file_name: 'index.html' }).then((res) => {
-          this.games_url = res.file_url;
-        });
+      this.data.file_list.forEach((item) => {
+        const suffix = item.file_name.slice(item.file_name.lastIndexOf('.') + 1, item.file_name.length).toLowerCase();
+        if (suffix === 'html') {
+          this.games_url = item.file_url;
+        } else {
+          H5StartupFile({ file_id: item.file_id, index_file_name: 'index.html' }).then((res) => {
+            this.games_url = res.file_url;
+          });
+        }
       });
     },
     toggleFullScreen() {