From 7b8f96254b90c8d9cb01092e8d6ab7263972fee1 Mon Sep 17 00:00:00 2001
From: litian <2804272236@qq.com>
Date: 星期三, 15 五月 2024 17:19:24 +0800
Subject: [PATCH] hebing

---
 src/views/home.vue |  217 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 145 insertions(+), 72 deletions(-)

diff --git a/src/views/home.vue b/src/views/home.vue
index 7cf65a4..6d0bb4a 100644
--- a/src/views/home.vue
+++ b/src/views/home.vue
@@ -321,7 +321,9 @@
               <div><img :src="zoomOut" @click="changePageSize('reduce')" /></div>
             </div>
             <div class="brushImgBox">
-              <div><img :src="huabi2" class="brushImg" />鐢荤瑪</div>
+              <div @click="jumpContent('note' + index)">
+                <img :src="huabi2" class="brushImg" />鐢荤瑪
+              </div>
             </div>
           </div>
         </div>
@@ -827,6 +829,7 @@
 import useClipboard from 'vue-clipboard3'
 const { toClipboard } = useClipboard()
 const request = inject('request')
+const toolClass = inject('toolClass')
 const qiankunActions = inject('qiankunActions')
 //鑾峰彇璺敱鍣�
 let router = useRouter()
@@ -938,6 +941,7 @@
 let microApp = null // 寰簲鐢ㄥ疄渚�
 const bookName = ref('')
 const bookId = ref(1)
+const activeCatalog = ref()
 onMounted(() => {
   getCatalogueData()
   getResourceData()
@@ -959,9 +963,10 @@
   // 鍔犺浇寰簲鐢�
   microApp = loadMicroApp(microApps.book1, {
     sandbox: {
-      // strictStyleIsolation: true,
+      strictStyleIsolation: true
       // experimentalStyleIsolation: true
-    }
+    },
+    singular: true
   })
 
   window.qiankunActions.onGlobalStateChange((state, prev) => {
@@ -981,6 +986,8 @@
       getSelection(data)
     },
     catalogChange: (data) => {
+      activeCatalog.value = data.showCatalogList
+      getSignData()
       console.log(data, '绔犺妭鍒囨崲锛氱洰鍓嶆樉绀虹殑涓変釜绔犺妭')
     },
     pageChange: (data) => {
@@ -1011,10 +1018,10 @@
 watch(
   () => bookId.value,
   (val) => {
-    getNotesList() // 鑾峰彇绗旇
-    getlineHeightList() //鑾峰彇楂樹寒
-    getScribeList() //鑾峰彇鍒掔嚎
-    getScreenshotList() //鎴浘
+    // getNotesList() // 鑾峰彇绗旇
+    // getlineHeightList() //鑾峰彇楂樹寒
+    // getScribeList() //鑾峰彇鍒掔嚎
+    // getScreenshotList() //鎴浘
   }
 )
 //鑾峰彇鐩綍
@@ -1693,14 +1700,13 @@
 
 //閫変腑鏂囧瓧宸ュ叿鏍�
 const selectText = ref('') //閫変腑鏂囧瓧
-const selectNode = ref(null)
-const selectPage = ref(1)
 const showToolBox = ref(false)
 const dialogToolData = reactive({
   left: 500,
   top: 300,
+  txt: '',
+  page: '',
   chapter: '', //閫変腑鏂囧瓧鎵�鍦ㄧ珷鑺�
-  parentNode: null,
   lineHeight: [], //楂樹寒
   scribeList: [], //鍒掔嚎
   notesList: [] //绗旇
@@ -1709,11 +1715,12 @@
 ///鍐呭閫変腑
 const getSelection = (data) => {
   if (data.txt) {
-    console.log(data.node, 'data')
+    dialogToolData.txt = data.txt
+    dialogToolData.page = data.page
+    dialogToolData.chapter = data.chapterNum
+    dialogToolData.left = data.x
+    dialogToolData.top = data.y
     showToolBox.value = true
-    selectText.value = data.txt
-    selectNode.value = data.node.innerHTML
-    selectPage.value = data.page
   }
 }
 
@@ -1897,67 +1904,133 @@
 
 const clickSelect = (item) => {
   colorActive.value = item.key
-  if (toolActive.value == '楂樹寒') {
-    let lineHeightData = {
-      selectNode: selectNode.value,
-      selectText: selectText.value,
-      selectPage: selectPage.value,
-      color: colorActive.value,
-      chapter: dialogToolData.chapter,
-      createDate: new Date()
-    }
-    dialogToolData.lineHeight.push(lineHeightData)
-    console.log(dialogToolData.lineHeight, '鍓峮ode')
-    request({
-      url: '/identity/api/ApiAppUserSetKey',
-      method: 'post',
-      data: {
-        setKeyRequests: [
-          {
-            domain: 'highLight',
-            key: bookId.value,
-            value: JSON.stringify(dialogToolData.lineHeight)
-          }
-        ]
-      }
-    }).then((res) => {
-      showToolBox.value = false
-      colorActive.value = ''
-      toolActive.value = ''
-      getlineHeightList()
-    })
-  }
-  if (toolActive.value == '鍒掔嚎') {
-    dialogToolData.scribeList.push({
-      selectNode: selectNode.value,
-      selectText: selectText.value,
-      selectPage: selectPage.value,
-      color: colorActive.value,
-      chapter: dialogToolData.chapter,
-      createDate: new Date()
-    })
-    request({
-      url: '/identity/api/ApiAppUserSetKey',
-      method: 'post',
-      data: {
-        setKeyRequests: [
-          {
-            domain: 'underline',
-            key: bookId.value,
-            value: JSON.stringify(dialogToolData.scribeList)
-          }
-        ]
-      }
-    }).then((res) => {
-      colorActive.value = ''
-      showToolBox.value = false
-      toolActive.value = ''
-      getScribeList()
-    })
-  }
+  addUserKey()
 }
 
+const addUserKey = () => {
+  let dom = ''
+  let data = null
+  switch (toolActive.value) {
+    case '楂樹寒':
+      dom = 'highLightData-' + bookId.value
+      data = dialogToolData.lineHeight[dialogToolData.chapter]
+      data.push({
+        id: toolClass.uuid(8),
+        txt: dialogToolData.txt,
+        page: dialogToolData.page,
+        type: 'Highlight',
+        color: colorActive.value
+      })
+      break
+    case '鍒掔嚎':
+      dom = 'underline-' + bookId.value
+      data = dialogToolData.scribeList[dialogToolData.chapter]
+      data.push({
+        id: toolClass.uuid(8),
+        txt: dialogToolData.txt,
+        page: dialogToolData.page,
+        type: 'Dashing',
+        color: colorActive.value
+      })
+      break
+  }
+  request({
+    url: '/identity/api/ApiAppUserSetKey',
+    method: 'post',
+    data: {
+      setKeyRequests: [
+        {
+          domain: dom,
+          key: dialogToolData.chapter,
+          value: JSON.stringify(data)
+        }
+      ]
+    }
+  }).then((res) => {
+    showToolBox.value = false
+    colorActive.value = ''
+    toolActive.value = ''
+    getSignData()
+  })
+}
+
+const delUserKey = (type, ids) => {
+  switch (type) {
+    case 'Highlight':
+      dom = 'highLightData-' + bookId.value
+      data = dialogToolData.lineHeight
+      break
+    case 'Dashing':
+      dom = 'underline-' + bookId.value
+      data = dialogToolData.scribeList
+      break
+  }
+  data = data.filter((item) => ids.indexOf(item.id) == -1)
+  request({
+    url: '/identity/api/ApiAppUserSetKey',
+    method: 'post',
+    data: {
+      setKeyRequests: [
+        {
+          domain: dom,
+          key: '',
+          value: JSON.stringify(data)
+        }
+      ]
+    }
+  }).then((res) => {})
+}
 const lock = ref(false)
+
+const getSignData = () => {
+  request({
+    url: '/identity/api/ApiGetAppUserKey',
+    method: 'post',
+    data: {
+      domain: 'highLightData-' + bookId.value,
+      keys: activeCatalog.value.map((item) => item + '')
+    }
+  }).then((res) => {
+    if (res && res.length > 0) {
+      for (let i = 0; i < res.length; i++) {
+        const item = res[i]
+        const data = JSON.parse(item.value)
+        // 鍌ㄥ��
+        dialogToolData.lineHeight[item.key] = data
+        // 娓叉煋
+        for (let j = 0; j < data.length; j++) {
+          const citem = data[j]
+          if (window.qiankunState && window.qiankunState.renderSign)
+            window.qiankunState.renderSign(citem.type, citem)
+        }
+      }
+    }
+  })
+  request({
+    url: '/identity/api/ApiGetAppUserKey',
+    method: 'post',
+    data: {
+      domain: 'underline-' + bookId.value,
+      keys: activeCatalog.value.map((item) => item + '')
+    }
+  }).then((res) => {
+    if (res && res.length > 0) {
+      for (let i = 0; i < res.length; i++) {
+        const item = res[i]
+        const data = JSON.parse(item.value)
+        // 鍌ㄥ��
+        dialogToolData.scribeList[item.key] = data
+        // 娓叉煋
+        for (let j = 0; j < data.length; j++) {
+          const citem = data[j]
+          if (window.qiankunState && window.qiankunState.renderSign)
+            window.qiankunState.renderSign(citem.type, citem)
+        }
+      }
+    }
+  })
+}
+
 const addNote = () => {
   const obj = {
     desc: formData.desc

--
Gitblit v1.9.1