From d1851498866db87d7218d68d1150fe383f5178b5 Mon Sep 17 00:00:00 2001
From: litian <2804272236@qq.com>
Date: 星期三, 15 五月 2024 18:54:18 +0800
Subject: [PATCH] 1

---
 src/views/home.vue |  498 +++++++++++++++++++++++++-----------------------------
 1 files changed, 229 insertions(+), 269 deletions(-)

diff --git a/src/views/home.vue b/src/views/home.vue
index 6bbe6ee..c4febfb 100644
--- a/src/views/home.vue
+++ b/src/views/home.vue
@@ -117,8 +117,12 @@
             default-expand-all="true"
             :data="catalogueData"
             :props="defaultProps"
+            v-if="catalogueData.length > 0"
             @node-click="handleNodeClick"
           />
+          <div v-if="catalogueData.length == 0">
+            <el-empty :image-size="60" description="鏆傛棤鏁版嵁" />
+          </div>
         </div>
         <!-- 绗旇 -->
         <div class="notesBox" v-if="activeMenu == 1">
@@ -155,7 +159,7 @@
                   </div>
                   <div
                     class="noteText hover 123456"
-                    @click="jumpContent('note' + index)"
+                    @click="jumpContent(item)"
                     :style="{
                       background:
                         item.color == '#F5E12A'
@@ -171,7 +175,7 @@
                                   : item.color
                     }"
                   >
-                    <div class="con hover" @click="jumpContent('note' + index)">
+                    <div class="con hover">
                       {{ item.note }}
                     </div>
                   </div>
@@ -317,12 +321,14 @@
               <div><img :src="zoomOut" @click="changePageSize('reduce')" /></div>
             </div>
             <div class="brushImgBox">
-              <div @click="jumpContent('note' + index)"><img :src="huabi2" class="brushImg" />鐢荤瑪</div>
+              <div @click="jumpContent('note' + index)">
+                <img :src="huabi2" class="brushImg" />鐢荤瑪
+              </div>
             </div>
           </div>
         </div>
         <!-- 寰簲鐢ㄧ洅瀛� -->
-        <div class="pageBox-content" @scroll="pageScroll">
+        <div class="pageBox-content">
           <div class="content-box">
             <div
               id="container"
@@ -733,17 +739,17 @@
         v-for="item in colorSelectList"
         :key="item.key"
         class="flex1 hover"
-        @click="clickSelect(item)"
+        @click="clickSelectColor(item)"
       >
         <div :style="{ background: item.key }" class="scribeItem">
-          <img :src="xuanzhong" v-if="item.key == colorActive" />
+          <img :src="xuanzhong" v-if="item.key == noteColorActive" />
         </div>
       </div>
     </div>
     <template #footer>
       <span class="dialog-footer">
         <el-button @click="handleClose">鍙� 娑�</el-button>
-        <el-button type="primary" @click="addNote">纭� 瀹�</el-button>
+        <el-button type="primary" @click="addUserKey">纭� 瀹�</el-button>
       </span>
     </template>
   </el-dialog>
@@ -773,7 +779,7 @@
     <template #footer>
       <span class="dialog-footer">
         <el-button @click="screenshotClose">鍙� 娑�</el-button>
-        <el-button type="primary" @click="addScreenshot">纭� 瀹�</el-button>
+        <el-button type="primary" @click="addScreenshot" :loading="screenshotLoading">纭� 瀹�</el-button>
       </span>
     </template>
   </el-dialog>
@@ -823,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()
@@ -934,6 +941,7 @@
 let microApp = null // 寰簲鐢ㄥ疄渚�
 const bookName = ref('')
 const bookId = ref(1)
+const activeCatalog = ref()
 onMounted(() => {
   getCatalogueData()
   getResourceData()
@@ -955,19 +963,21 @@
   // 鍔犺浇寰簲鐢�
   microApp = loadMicroApp(microApps.book1, {
     sandbox: {
-      // strictStyleIsolation: true,
+      strictStyleIsolation: true
       // experimentalStyleIsolation: true
-    }
+    },
+    singular: true
   })
+
   window.qiankunActions.onGlobalStateChange((state, prev) => {
     console.log('鐖跺眰state鍙樺寲', state)
     bookName.value = state.bookName
     bookId.value = state.bookId
-    window.qiankunState = state;
+    window.qiankunState = state
   })
 
   // 瀹氫箟鐖跺眰鏂规硶
-  console.log(window.qiankunActions);
+  console.log(window.qiankunActions)
   window.qiankunActions.setGlobalState({
     state: 1, // 鍔犺浇瀛愬簲鐢�
     windowSelection: (data) => {
@@ -976,6 +986,8 @@
       getSelection(data)
     },
     catalogChange: (data) => {
+      activeCatalog.value = data.showCatalogList
+      getSignData()
       console.log(data, '绔犺妭鍒囨崲锛氱洰鍓嶆樉绀虹殑涓変釜绔犺妭')
     },
     pageChange: (data) => {
@@ -1006,10 +1018,10 @@
 watch(
   () => bookId.value,
   (val) => {
-    getNotesList() // 鑾峰彇绗旇
-    getlineHeightList() //鑾峰彇楂樹寒
-    getScribeList() //鑾峰彇鍒掔嚎
-    getScreenshotList() //鎴浘
+    // getNotesList() // 鑾峰彇绗旇
+    // getlineHeightList() //鑾峰彇楂樹寒
+    // getScribeList() //鑾峰彇鍒掔嚎
+    // getScreenshotList() //鎴浘
   }
 )
 //鑾峰彇鐩綍
@@ -1484,8 +1496,10 @@
 const confirmDialog = ref<Boolean>(false)
 const screenshotVisble = ref<Boolean>(false)
 const nameData = ref('') //鎴浘鍚嶇О
+const screenshotLoading = ref(false)
 const urlData = ref('') //鎴浘base64
 const screenshotList = ref([])
+const screenshotData = ref([])
 
 //娴獥宸ュ叿鏍忕偣鍑讳簨浠�
 const floatItemHandle = (item) => {
@@ -1495,7 +1509,10 @@
       canvasShow.value = true
       toolSelectData.activeTool = 'huabi'
       break
+    case '鏍囨敞':
+      break
     case '鏍囩':
+      reMark()
       break
     case '鎴睆':
       jitT()
@@ -1570,9 +1587,14 @@
   toolSelectData.fontSizeActive = str
 }
 
-//鏍囩鏄剧ず闅愯棌
+//鏍囨敞鏄剧ず闅愯棌
 const labelShow = (str) => {}
 
+//鏍囩
+const reMark =() => {
+
+  
+}
 //鎴浘
 //鎴浘浜嬩欢
 function jitT() {
@@ -1593,13 +1615,15 @@
   console.log(base64)
   floatingToolData.activeToolData = ''
 }
+//淇濆瓨鎴浘
 const addScreenshot = () => {
   if (nameData.value) {
-    screenshotList.value.push({
+    screenshotData.value.push({
       createDate: new Date(),
       imgUrl: urlData.value,
       name: nameData.value
     })
+    screenshotLoading.value = true
     request({
       url: '/identity/api/ApiAppUserSetKey',
       method: 'post',
@@ -1608,16 +1632,19 @@
           {
             domain: 'screenshot',
             key: bookId.value,
-            value: JSON.stringify(screenshotList.value)
+            value: JSON.stringify(screenshotData.value)
           }
         ]
       }
     }).then((res) => {
+      screenshotLoading.value = false
       getScreenshotList()
       nameData.value = ''
       urlData.value = ''
       floatingToolData.activeToolData = ''
       screenshotVisble.value = false
+    }).catch(function (error) {
+      screenshotLoading.value = false
     })
   } else {
     ElMessage.error('鎴浘鍚嶇О涓嶈兘涓虹┖!')
@@ -1638,24 +1665,48 @@
   }).then((res) => {
     if (res && res.length > 0 && res[0].value) {
       screenshotList.value = JSON.parse(res[0].value)
+      screenshotData.value = JSON.parse(res[0].value)
     }
   })
 }
+//鏌ョ湅鎴浘
 const getCapture = (item) => {
   imgUrl.value = item.imgUrl
   confirmDialog.value = true
 }
+//鍒犻櫎鎴浘
+const deleteScreenshot = (item) => {
+  let list = screenshotList.value.filter((itemData) => itemData.imgUrl !== item.imgUrl)
+  request({
+    url: '/identity/api/ApiAppUserSetKey',
+    method: 'post',
+    data: {
+      setKeyRequests: [
+        {
+          domain: 'screenshot',
+          key: bookId.value,
+          value: JSON.stringify(list)
+        }
+      ]
+    }
+  }).then((res) => {
+    ElMessage({
+      message: '鍒犻櫎鎴浘鎴愬姛!',
+      type: 'success'
+    })
+    getScreenshotList()
+  })
+}
 
 //閫変腑鏂囧瓧宸ュ叿鏍�
 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: [] //绗旇
@@ -1664,30 +1715,18 @@
 ///鍐呭閫変腑
 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
   }
-}
-
-const pageScroll = (e) => {
-  // window.qiankunActions.setGlobalState({
-  //   gotoPage: (t, s) => {
-  //     // 缁戝畾瀛愬簲鐢ㄩ�夋嫨鐩戝惉浜嬩欢
-  //     console.log(t, s, '瀛愬簲鐢ㄦ粴鍔�')
-  //   }
-  // })
-  showToolBox.value = false
-  lineDelete.showLineDelete = false
-  // let scroll = e.target.scrollTop
-  // let offsetHeight = document.getElementById('container').offsetHeight
-  // headerData.process = Math.round((scroll / offsetHeight) * 100)
 }
 
 const toolActive = ref('')
 const colorActive = ref('')
+const noteColorActive = ref('')
 const dialogToolList = reactive([
   { icon: gaoliang, activeIcon: gaoliang1, name: '楂樹寒' },
   { icon: huaxian, activeIcon: huaxian1, name: '鍒掔嚎' },
@@ -1852,235 +1891,176 @@
 
 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 clickSelectColor = (item) => {
+  noteColorActive.value = item.key
 }
 
-const lock = ref(false)
-const addNote = () => {
-  const obj = {
-    desc: formData.desc
-  }
-  if (!colorActive.value) {
-    ElMessage.error('璇烽�夋嫨绗旇棰滆壊!')
-    return
-  }
-  if (!lock.value) {
-    lock.value = true
-    if (formData.desc.replace(/^\s*|\s*$/g, '')) {
-      dialogToolData.notesList.push({
-        selectNode: selectNode.value,
-        selectText: selectText.value,
-        color: colorActive.value,
-        selectPage: selectPage.value,
-        chapter: dialogToolData.chapter,
+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
+    case '绗旇':
+      if (!formData.desc.replace(/^\s*|\s*$/g, '')) {
+        ElMessage.error('绗旇鍐呭涓嶈兘涓虹┖!')
+        return 
+      }
+      if (!noteColorActive.value) {
+        ElMessage.error('璇烽�夋嫨绗旇棰滆壊!')
+        return
+      }
+      dom = 'notes-' + bookId.value
+      data = dialogToolData.notesList.length != 0 ? dialogToolData.notesList[dialogToolData.chapter] : []
+      data.push({
+        id: toolClass.uuid(8),
+        txt: dialogToolData.txt,
+        page: dialogToolData.page,
+        type: 'Note',
+        color: noteColorActive.value,
         createDate: new Date(),
         note: formData.desc.replace(/^\s*|\s*$/g, '')
       })
-      request({
-        url: '/identity/api/ApiAppUserSetKey',
-        method: 'post',
-        data: {
-          setKeyRequests: [
-            {
-              domain: 'notes',
-              key: bookId.value,
-              value: JSON.stringify(dialogToolData.notesList)
-            }
-          ]
-        }
-      }).then((res) => {
-        showToolBox.value = false
-        addNoteVisble.value = false
-        colorActive.value = ''
-        toolActive.value = ''
-        getNotesList()
-        setTimeout(() => {
-          lock.value = false
-        }, 1000)
-      })
-    } else {
-      ElMessage.error('绗旇鍐呭涓嶈兘涓虹┖!')
-      lock.value = false
-    }
+      
+      break
   }
-}
-//绗旇
-const getNotesList = () => {
-  scribeData.noteList = []
-  scribeData.loading = true
   request({
-    url: '/identity/api/ApiGetAppUserKey',
+    url: '/identity/api/ApiAppUserSetKey',
     method: 'post',
     data: {
-      domain: 'notes',
-      keys: [bookId.value]
+      setKeyRequests: [
+        {
+          domain: dom,
+          key: dialogToolData.chapter,
+          value: JSON.stringify(data)
+        }
+      ]
     }
   }).then((res) => {
-    if (res && res.length > 0 && res[0].value) {
-      dialogToolData.notesList = JSON.parse(res[0].value)
-      let list = JSON.parse(res[0].value)
-      let textDom1 = document.querySelector('.temp-book')
-      if (list.length > 0) {
-        list.forEach((item, index) => {
-          item.createDate = moment(item.createDate).format('YYYY-MM-DD')
-          if (searchText.value) {
-            searchText.value = searchText.value.replace(/^\s*|\s*$/g, '')
-            let text = searchText.value.replace(/^\s*|\s*$/g, '')
-            if (item.text.indexOf(text) > -1) {
-              if (menuState.notesColor == 'all') {
-                scribeData.noteList.push(item)
-              } else if (menuState.notesColor == item.color) {
-                scribeData.noteList.push(item)
-              }
-            }
-          } else {
-            if (menuState.notesColor == 'all') {
-              scribeData.noteList.push(item)
-            } else if (menuState.notesColor == item.color) {
-              scribeData.noteList.push(item)
-            }
-          }
-          //椤甸潰娣诲姞绗旇
-          let rReg1 = new RegExp(`${item.selectText}`, 'ig')
-          let text1 = textDom1.innerHTML
-          let nHtmlText1 = item.selectNode
-
-          let nHtml1 = ''
-          nHtml1 = nHtmlText1.replace(
-            rReg1,
-            `<span style="padding-bottom:2px; border-bottom: 2px solid;border-bottom-color:${item.color}" class="notesline">${item.selectText}</span><img src="${biji1}" style="cursor: pointer" onclick="notesVisbleShow('${item.selectText}')"/>`
-          )
-          let rHtml1 = ''
-          rHtml1 = text1.replace(nHtmlText1, nHtml1)
-          textDom1.innerHTML = rHtml1
-        })
-      }
-    }
-    scribeData.loading = false
+    showToolBox.value = false
+    colorActive.value = ''
+    noteColorActive.value = ''
+    toolActive.value = ''
+    getSignData()
   })
 }
-//鍒掔嚎
-const getScribeList = () => {
-  scribeData.scribeDataList = []
+
+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 getSignData = () => {
   request({
     url: '/identity/api/ApiGetAppUserKey',
     method: 'post',
     data: {
-      domain: 'underline',
-      keys: [bookId.value]
+      domain: 'highLightData-' + bookId.value,
+      keys: activeCatalog.value.map((item) => item + '')
     }
   }).then((res) => {
-    if (res && res.length > 0 && res[0].value) {
-      dialogToolData.scribeList = JSON.parse(res[0].value)
-      scribeData.scribeDataList = JSON.parse(res[0].value)
-      let textDom1 = document.querySelector('.temp-book')
-      if (scribeData.scribeDataList.length > 0) {
-        for (let i = 0; i < scribeData.scribeDataList.length; i++) {
-          let item = scribeData.scribeDataList[i]
-          let rReg1 = new RegExp(`${item.selectText}`, 'ig')
-          let text1 = textDom1.innerHTML
-          let nHtmlText1 = item.selectNode
-
-          let nHtml1 = ''
-          nHtml1 = nHtmlText1.replace(
-            rReg1,
-            `<span style="text-decoration:underline;text-decoration-style: wavy;text-underline-thickness:2px;text-decoration-color:${item.color};cursor: pointer" class="underline" onclick="deleteScribeShow('${item.selectText}')">${item.selectText}</span>`
-          )
-          let rHtml1 = ''
-          rHtml1 = text1.replace(nHtmlText1, nHtml1)
-          textDom1.innerHTML = rHtml1
+    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)
         }
       }
     }
   })
-}
-//楂樹寒
-const getlineHeightList = () => {
-  scribeData.lineHeightList = []
   request({
     url: '/identity/api/ApiGetAppUserKey',
     method: 'post',
     data: {
-      domain: 'highLight',
-      keys: [bookId.value]
+      domain: 'underline-' + bookId.value,
+      keys: activeCatalog.value.map((item) => item + '')
     }
   }).then((res) => {
-    if (res && res.length > 0 && res[0].value) {
-      dialogToolData.lineHeight = JSON.parse(res[0].value)
-      scribeData.lineHeightList = JSON.parse(res[0].value)
-      let textDom = document.querySelector('.temp-book')
-      if (scribeData.lineHeightList.length > 0) {
-        for (let i = 0; i < scribeData.lineHeightList.length; i++) {
-          let item = scribeData.lineHeightList[i]
-          let rReg = new RegExp(`${item.selectText}`, 'ig')
-          let text = textDom.innerHTML
-          let nHtmlText = item.selectNode
-          let nHtml = ''
-          nHtml = nHtmlText.replace(
-            rReg,
-            `<span style="background: ${item.color};padding:3px;cursor: pointer" class="highLight" onclick="deletelineHeightShow('${item.selectText}')">${item.selectText}</span>`
-          )
-          // nHtmlText = nHtml
-          let rHtml = ''
-          rHtml = text.replace(nHtmlText, nHtml)
-          textDom.innerHTML = rHtml
+    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)
+        }
+      }
+    }
+  })
+  request({
+    url: '/identity/api/ApiGetAppUserKey',
+    method: 'post',
+    data: {
+      domain: 'note-' + 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.notesList[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)
         }
       }
     }
@@ -2181,20 +2161,22 @@
   }
 }
 
-const jumpContent = (id) => {
-  debugger
+//绗旇璺宠浆
+const jumpContent = (item) => {
+  console.log(item)
   if (window.qiankunState && window.qiankunState.gotoPage) window.qiankunState.gotoPage(5, 100)
 }
 
+//绗旇缂栬緫
 const update = (item, type) => {
   dialogToolData.notesList.splice(
     dialogToolData.notesList.findIndex((itemData) => itemData.selectText == item.selectText),
     1
   )
-  selectNode.value = item.selectNode
-  selectText.value = item.selectText
-  selectPage.value = item.selectPage
-  colorActive.value = item.color
+  dialogToolData.txt = item.txt
+  dialogToolData.page = item.page
+  dialogToolData.chapter = item.chapterNum
+  noteColorActive.value = item.color
   dialogToolData.chapter = item.chapter
   formData.desc = item.note
   addNoteVisble.value = true
@@ -2236,29 +2218,7 @@
   }
 }
 
-//鍒犻櫎鎴浘
-const deleteScreenshot = (item) => {
-  let list = screenshotList.value.filter((itemData) => itemData.imgUrl !== item.imgUrl)
-  request({
-    url: '/identity/api/ApiAppUserSetKey',
-    method: 'post',
-    data: {
-      setKeyRequests: [
-        {
-          domain: 'screenshot',
-          key: bookId.value,
-          value: JSON.stringify(list)
-        }
-      ]
-    }
-  }).then((res) => {
-    ElMessage({
-      message: '鍒犻櫎鎴浘鎴愬姛!',
-      type: 'success'
-    })
-    getScreenshotList()
-  })
-}
+
 //鍐呭鍖哄煙椤堕儴鏄剧ず
 
 const headerData = reactive({

--
Gitblit v1.9.1