From d07a5a0265b38c8d52495e49ecae64ea4c6b3f60 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期一, 13 五月 2024 14:52:47 +0800
Subject: [PATCH] 处理应用间通信

---
 src/views/home.vue |   79 +++++++++++++++++++++++----------------
 1 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/src/views/home.vue b/src/views/home.vue
index 402f91a..107f69d 100644
--- a/src/views/home.vue
+++ b/src/views/home.vue
@@ -223,7 +223,7 @@
                     <div class="resourceImg">
                       <img :src="video" mode="" />
                     </div>
-                    <div class="rName" v-if="searchText !=''" v-html="item.name"></div>
+                    <div class="rName" v-if="searchText != ''" v-html="item.name"></div>
                     <div class="rName" v-else>{{ item.name }}</div>
                   </div>
                 </el-col>
@@ -302,12 +302,7 @@
         <!-- 寰簲鐢ㄧ洅瀛� -->
         <div class="pageBox-content" @scroll="pageScroll">
           <div class="content-box">
-            <div
-              id="container"
-              @mousedown="handleMouseDown"
-              @mousemove="handleMousemove"
-              @mouseup="handleMouseUp"
-            ></div>
+            <div id="container" @mousedown="handleMouseDown" @mousemove="handleMousemove"></div>
             <!-- 鐢荤瑪鐢诲竷 -->
             <div class="canvas-box" v-show="canvasShow">
               <canvas id="canvasRef" :width="canvasWith" :height="canvasheight"></canvas>
@@ -643,7 +638,7 @@
   </el-dialog>
   <el-dialog title="鐧惧害鐧剧" align-center v-model="baiduVisible" width="60%" class="myDialogs">
     <div class="wendabox">
-      <iframe :src="'https://baike.baidu.com/item/'+ selectText" frameborder="0"></iframe>
+      <iframe :src="'https://baike.baidu.com/item/' + selectText" frameborder="0"></iframe>
     </div>
   </el-dialog>
   <el-dialog title="AI鏅鸿兘闂瓟" align-center v-model="wendaVisible" width="26%" class="myDialogs">
@@ -783,14 +778,17 @@
 import { start } from 'qiankun'
 import axios from 'axios'
 import { fabric } from 'fabric'
+
+import { loadMicroApp } from 'qiankun'
+import { microApps } from '@/child.ts'
 const canvasWith = ref(1000)
 const canvasheight = ref(3000)
 const screenWidth = ref(
   window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
 )
+
+let microApp = null // 寰簲鐢ㄥ疄渚�
 onMounted(() => {
-  console.log(1111);
-  
   // canvasWith.value = window.innerWidth - 540
   // canvasheight.value = window.innerHeight - 110
   getNotesList() // 鑾峰彇楂樹寒
@@ -814,11 +812,18 @@
     })()
   }
 
-  console.log(qiankunActions,"qiankunActions");
-  
-  qiankunActions.setGlobalState({
-    cc: (data) => {
-      console.log(data);
+  // 鍔犺浇寰簲鐢�
+  microApp = loadMicroApp(microApps.book1, {
+    sandbox: {
+      strictStyleIsolation: true,
+      experimentalStyleIsolation: true
+    }
+  })
+
+  window.qiankunActions.setGlobalState({
+    state: 1, // 鍔犺浇瀛愬簲鐢�
+    windowSelection: (data) => { // 缁戝畾瀛愬簲鐢ㄩ�夋嫨鐩戝惉浜嬩欢
+      console.log(data, '瀛愬簲鐢ㄩ�夋嫨')
     }
   })
 })
@@ -998,7 +1003,17 @@
 }
 //鍒锋柊褰撳墠椤甸潰
 const reload = () => {
-  location.reload()
+  if (microApp) {
+    microApp.unmount() // 鍗歌浇寰簲鐢�
+    microApp = loadMicroApp(microApps.book1, {
+      sandbox: {
+        strictStyleIsolation: true,
+        experimentalStyleIsolation: true
+      }
+    })
+  } else {
+    location.reload()
+  }
 }
 
 const selectResourceType = (type) => {
@@ -1463,22 +1478,22 @@
   }
 }
 
-const handleMouseUp = (e) => {
-  if (move.value) {
-    const txt = window.getSelection()?.toString()
-    selectText.value = txt
-    const node = window.getSelection()
-    let html = node.anchorNode.parentNode.parentNode
-    dialogToolData.chapter = html.firstChild.innerHTML
-    if (txt) {
-      showToolBox.value = true
-      dialogToolData.top = e.y
-      dialogToolData.left = e.x
-    }
-    isMouseDown.value = false
-  }
-  move.value = false
-}
+// const handleMouseUp = (e) => {
+//   if (move.value) {
+//     const txt = window.getSelection()?.toString()
+//     selectText.value = txt
+//     const node = window.getSelection()
+//     let html = node.anchorNode.parentNode.parentNode
+//     dialogToolData.chapter = html.firstChild.innerHTML
+//     if (txt) {
+//       showToolBox.value = true
+//       dialogToolData.top = e.y
+//       dialogToolData.left = e.x
+//     }
+//     isMouseDown.value = false
+//   }
+//   move.value = false
+// }
 
 const pageScroll = (e) => {
   showToolBox.value = false

--
Gitblit v1.9.1