Просмотр исходного кода

AI生成课程:修改生成主题
处理图片轮播NaN问题

liyanbo 3 месяцев назад
Родитель
Сommit
b8f4f5f146
1 измененных файлов с 22 добавлено и 8 удалено
  1. 22 8
      src/components/study/SelfDirectedLearning.vue

+ 22 - 8
src/components/study/SelfDirectedLearning.vue

@@ -551,8 +551,14 @@ const generateCoverImage = async () => {
       "height": 1024
     })
     console.log("生成封面图", response)
-    inProgressImageMap.value[response.data] = {
-      type: 'cover'
+    const imageId = response.data
+    if (typeof imageId === 'number' && !isNaN(imageId)) {
+      inProgressImageMap.value[imageId] = {
+        type: 'cover'
+      }
+    } else {
+      console.error('无效的图片ID:', imageId)
+      scriptData.coverImage.generating = false
     }
   } catch (error) {
     console.error('生成封面图失败:', error)
@@ -580,10 +586,16 @@ const generateImage = async (lessonIndex, sectionIndex) => {
       "height": 1024
     })
     console.log("生成图片", res)
-    inProgressImageMap.value[res.data] = {
-      lessonIndex: lessonIndex,
-      sectionIndex: sectionIndex,
-      type: 'image'
+    const imageId = res.data
+    if (typeof imageId === 'number' && !isNaN(imageId)) {
+      inProgressImageMap.value[imageId] = {
+        lessonIndex: lessonIndex,
+        sectionIndex: sectionIndex,
+        type: 'image'
+      }
+    } else {
+      console.error('无效的图片ID:', imageId)
+      media.generating = false
     }
   } catch (error) {
     console.error('生成图片失败:', error);
@@ -609,7 +621,9 @@ const stopImagePolling = () => {
 
 // 轮询生成中的图片列表
 const refreshWatchImages = async () => {
-  const imageIds = Object.keys(inProgressImageMap.value).map(Number)
+  const imageIds = Object.keys(inProgressImageMap.value)
+    .map(Number)
+    .filter(id => !isNaN(id))
   if (imageIds.length === 0) {
     return
   }
@@ -794,7 +808,7 @@ const dropdowns = ref([
     visible: false,
     icon: Search,
     options: [
-      { label: '诗词课', value: '诗词课' }
+      { label: '诗词课(课程引入、知识讲解、课程总结)', value: '诗词课' }
     ]
   },
   {