Procházet zdrojové kódy

feat(Student): 为工具类型76添加iframe链接处理逻辑

添加对工具类型76的特殊处理,解析URL并添加mode=pptMode参数,用于幻灯片模式下的iframe展示
lsc před 1 dnem
rodič
revize
1563e9d041
1 změnil soubory, kde provedl 41 přidání a 0 odebrání
  1. 41 0
      src/views/Student/index.vue

+ 41 - 0
src/views/Student/index.vue

@@ -1400,6 +1400,47 @@ const processIframeLinks = async () => {
                     return element
                   }
                 }
+                else if (toolType == 76) {
+                  hasIframe = true
+                  try {
+                    // 解析URL,处理hash部分
+                    let baseUrl = iframeSrc
+                    let hashPart = ''
+
+                    // 分离base URL和hash部分
+                    if (iframeSrc.includes('#')) {
+                      const parts = iframeSrc.split('#')
+                      baseUrl = parts[0]
+                      hashPart = parts[1]
+                    }
+
+                    // 构建新的hash部分,添加参数
+                    // 使用当前幻灯片索引作为task参数
+                    let newHash = hashPart
+                    if (newHash.includes('?')) {
+                      // 如果hash中已经有查询参数,添加&
+                      newHash += `&mode=pptMode`
+                    } 
+                    else {
+                      // 如果hash中没有查询参数,添加?
+                      newHash += `?mode=pptMode`
+                    }
+
+                    // 构建新的URL
+                    const newUrl = `${baseUrl}#${newHash}`
+
+                    console.log(`幻灯片 ${slideIndex + 1} 的iframe链接已更新:`, newUrl)
+                    // 返回更新后的元素
+                    return {
+                      ...element,
+                      url: newUrl
+                    }
+                  }
+                  catch (error) {
+                    console.error(`处理幻灯片 ${slideIndex + 1} 的iframe链接时出错:`, error)
+                    return element
+                  }
+                }
                 else if (toolType == 73) {
                   hasIframe = true