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

refactor(CollapsibleToolbar,CanvasTool): 重构工具类型判断逻辑,提取公共数组

将多处硬编码的工具类型判断替换为共享的ref数组,简化代码并提高可维护性
lsc 1 день назад
Родитель
Сommit
216e129796

+ 3 - 1
src/components/CollapsibleToolbar/index2.vue

@@ -1207,11 +1207,13 @@ const insertContent = (item: ContentItem) => {
   createFrameElement(item.url, item.tool)
 }
 
+const toolTypeArray = ref([45, 15, 78, 79, 84, 831])
+
 const addContent = (data: ContentItem, type: number) => {
   // contentList.value.push(data)
   if (type === 2) {
     const elements = currentSlide.value?.elements || []
-    const frameElement = elements.find((el: any) => el.type === 'frame' && (el.toolType === 45 || el.toolType === 15 || el.toolType === 78 || el.toolType === 79 || el.toolType === 831))
+    const frameElement = elements.find((el: any) => el.type === 'frame' && toolTypeArray.value.includes(el.toolType))
     if (frameElement) {
       slidesStore.updateElement({
         id: frameElement.id,

+ 3 - 1
src/components/CollapsibleToolbar/index22.vue

@@ -914,11 +914,13 @@ const insertContent = (item: ContentItem) => {
   createFrameElement(item.url, item.tool)
 }
 
+const toolTypeArray = ref([45, 15, 78, 79, 84, 831])
+
 const addContent = (data: ContentItem, type: number) => {
   // contentList.value.push(data)
   if (type === 2) {
     const elements = currentSlide.value?.elements || []
-    const frameElement = elements.find((el: any) => el.type === 'frame' && (el.toolType === 45 || el.toolType === 15 || el.toolType === 78 || el.toolType === 79))
+    const frameElement = elements.find((el: any) => el.type === 'frame' && toolTypeArray.value.includes(el.toolType))
     if (frameElement) {
       slidesStore.updateElement({
         id: frameElement.id,

+ 4 - 2
src/views/Editor/CanvasTool/index2.vue

@@ -334,9 +334,11 @@ const getInitialViewMode = () => {
 
 const viewMode = computed(() => getInitialViewMode())
 
+const toolTypeArray = ref([45, 15, 78, 79, 84])
+
 const hasInteractiveTool = computed(() => {
   const elements = currentSlide.value?.elements || []
-  return elements.some((el: any) => el.type === 'frame' && (el.toolType === 45 || el.toolType === 15 || el.toolType === 78 || el.toolType === 79 || el.toolType === 84))
+  return elements.some((el: any) => el.type === 'frame' && toolTypeArray.value.includes(el.toolType))
 })
 
 const iframeLabel = computed(() => {
@@ -560,7 +562,7 @@ const editContent = (toolType: number) => {
     }
     const parentWindow = window.parent as ParentWindowWithToolList
     const elements = currentSlide.value?.elements || []
-    const frameElement = elements.find((el: any) => el.type === 'frame' && (el.toolType === 45 || el.toolType === 15 || el.toolType === 78 || el.toolType === 79))
+    const frameElement = elements.find((el: any) => el.type === 'frame' && toolTypeArray.value.includes(el.toolType))
     parentWindow?.toolBtn2?.(0, frameElement?.url || '', toolType)
     toolVisible.value = false
   })