YM
2024-05-15 1d5d7f10cd90e7b1212a58234ef271584f0035c9
src/views/home.vue
@@ -92,7 +92,12 @@
      <div class="menuContent" v-if="menuState.open">
        <div class="searchBox">
          <div class="inputBox" v-if="activeMenu !== 2">
            <el-input class="custom-input" placeholder="请输入内容" v-model="searchText" @keyup.enter="searchBook">
            <el-input
              class="custom-input"
              placeholder="请输入内容"
              v-model="searchText"
              @keyup.enter="searchBook"
            >
              <template #prefix>
                <el-icon><Search /></el-icon>
              </template>
@@ -121,7 +126,14 @@
            v-if="catalogueData.length > 0"
            @node-click="handleNodeClick"
            :filter-node-method="filterNode"
          />
          >
            <template #default="{ node, data }">
              <div class="custom-tree-node">
                <div class="catalogueLabel">{{ node.label }}</div>
                <span class="pageNum">{{ data.page }}</span>
              </div>
            </template>
          </el-tree>
          <div v-if="catalogueData.length == 0">
            <el-empty :image-size="60" description="暂无数据" />
          </div>
@@ -146,8 +158,8 @@
            </div>
          </div>
          <div class="list-box">
            <div v-if=" scribeData.noteList.length > 0">
              <div v-for="(item, index) in  scribeData.noteList" :key="item.key" class="listItem">
            <div v-if="scribeData.noteList.length > 0">
              <div v-for="(item, index) in scribeData.noteList" :key="item.key" class="listItem">
                <div class="textBox">
                  <div class="title">
                    <div class="title-con">
@@ -185,7 +197,7 @@
                </div>
              </div>
            </div>
            <div v-if=" scribeData.noteList.length == 0">
            <div v-if="scribeData.noteList.length == 0">
              <el-empty :image-size="60" description="暂无数据" />
            </div>
          </div>
@@ -789,7 +801,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/' + dialogToolData.txt" frameborder="0"></iframe>
    </div>
  </el-dialog>
  <el-dialog title="AI智能问答" align-center v-model="wendaVisible" width="26%" class="myDialogs">
@@ -800,7 +812,7 @@
  <el-dialog title="词典" align-center v-model="cidianVisible" width="60%" class="myDialogs">
    <div class="wendabox">
      <!-- <iframe src="https://www.vocabulary.com/" frameborder="0"></iframe> -->
      <dictionary :searchCon="selectText" />
      <dictionary :searchCon="dialogToolData.txt" />
    </div>
  </el-dialog>
  <el-dialog
@@ -987,10 +999,11 @@
    windowSelection: (data) => {
      // 绑定子应用选择监听事件
      console.log(data, '子应用选择')
      if(data.txt){
      if (data.txt) {
        getSelection(data)
      }else{
      } else {
        showToolBox.value = false
        toolActive = ''
      }
    },
    catalogChange: (data) => {
@@ -1006,8 +1019,7 @@
      //   catalogName: "",
      // }
      console.log(data, '页面切换:目前显示页面和对应的章节信息')
    },
    }
  })
  // 调用子层方法
  // if (window.qiankunState && window.qiankunState.aa) window.qiankunState.aa(1)
@@ -1029,7 +1041,7 @@
    // getNotesList() // 获取笔记
    // getlineHeightList() //获取高亮
    // getScribeList() //获取划线
    // getScreenshotList() //截图
    getScreenshotList() //截图
  }
)
//获取目录
@@ -1049,7 +1061,8 @@
}
const defaultProps = {
  children: 'children',
  label: 'label'
  label: 'label',
  page: 'page',
}
const filterNode = (value, data) => {
  if (!value) return true
@@ -1204,7 +1217,7 @@
    case '0':
      break
    case '1':
    // getSignData()
      // getSignData()
      break
    case '2':
      break
@@ -1304,7 +1317,6 @@
  if (activeMenu.value == 1) {
    // getNotesList()
    getSignData()
  }
  if (activeMenu.value == 2) {
    let dataList = JSON.parse(JSON.stringify(resourceDataList.value))
@@ -1756,7 +1768,7 @@
  { icon: fuzhi, activeIcon: fuzhi1, name: '复制' },
  { icon: AIyuedu, activeIcon: AIyuedu1, name: 'AI阅读' },
  { icon: cidian2, activeIcon: cidian1, name: '词典' },
  { icon: baidu, activeIcon: cidian1, name: '百科' }
  { icon: baidu, activeIcon: baidu, name: '百科' }
  // { icon: yuyinyuedu, activeIcon: yuyinyuedu1, name: '语音阅读' }
  // { icon: cidian2, activeIcon: cidian1, name: '翻译' }
])
@@ -1905,6 +1917,7 @@
      cidianVisible.value = true
      break
    case '百科':
      console.log('https://baike.baidu.com/item/' + dialogToolData.txt)
      baiduVisible.value = true
      break
  }
@@ -1926,6 +1939,7 @@
    case '高亮':
      dom = 'highLightData-' + bookId.value
      data = dialogToolData.lineHeight[dialogToolData.chapter]
      if (!data) data = []
      data.push({
        id: toolClass.uuid(8),
        txt: dialogToolData.txt,
@@ -1937,6 +1951,7 @@
    case '划线':
      dom = 'underline-' + bookId.value
      data = dialogToolData.scribeList[dialogToolData.chapter]
      if (!data) data = []
      data.push({
        id: toolClass.uuid(8),
        txt: dialogToolData.txt,
@@ -1957,6 +1972,7 @@
      dom = 'notes-' + bookId.value
      data =
        dialogToolData.notesList.length != 0 ? dialogToolData.notesList[dialogToolData.chapter] : []
      if (!data) data = []
      data.push({
        id: toolClass.uuid(8),
        txt: dialogToolData.txt,
@@ -1990,8 +2006,6 @@
    getSignData()
  })
}
const getSignData = () => {
  request({
@@ -2055,7 +2069,7 @@
        // 储值
        scribeData.noteList = data
        dialogToolData.notesList[item.key] = data
        console.log(dialogToolData.notesList,"notesList")
        console.log(dialogToolData.notesList, 'notesList')
        // 渲染
        for (let j = 0; j < data.length; j++) {
          const citem = data[j]
@@ -2077,19 +2091,21 @@
})
// 划线、笔记、高亮点击回调
window.signClick = (type, id)=>{
  console.log("signClick点击事件回调的实例", type, id);
window.signClick = (type, id) => {
  console.log('signClick点击事件回调的实例', type, id)
  // if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[id]})
  if(type == 'Note'){
  if (type == 'Note') {
    let data = dialogToolData.notesList.filter((item) => id.indexOf(item.id) == -1)
    console.log(data)
    formData.desc = notes.note
    noteColorActive.value = notes.color
    addNoteVisble.value = true
  }else{
  } else {
    lineDelete.showLineDelete = true
    lineDelete.deleteType = type
    lineDelete.id = id
    lineDelete.top = 500
    lineDelete.left = 500
  }
}
@@ -2135,11 +2151,11 @@
      ]
    }
  }).then((res) => {
    if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[ids]})
    if (window.qiankunState && window.qiankunState.delSign)
      window.qiankunState.delSign({ ids: [ids] })
    getSignData()
  })
}
const lineDeleteBtn = () => {
  if (lineDelete.deleteType == 'underline') {
@@ -2240,7 +2256,8 @@
        message: '删除笔记成功!',
        type: 'success'
      })
      if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[id]})
      if (window.qiankunState && window.qiankunState.delSign)
        window.qiankunState.delSign({ ids: [id] })
      getNotesList()
    })
  }
@@ -2404,7 +2421,7 @@
        align-items: center;
      }
      .resourceBox {
        padding: 15px 0;
        padding: 10px 0;
        margin: 0 20px;
        border-bottom: 1px solid rgba(204, 204, 204, 0.32);
        .classification {
@@ -2421,7 +2438,8 @@
          }
          .count {
            width: 35px;
            margin: 5px auto;
            margin: 0 auto;
            margin-top:5px;
            border-radius: 10px;
            background: #fff;
            color: #c8c8c8;
@@ -2451,6 +2469,7 @@
        }
        .inputBox {
          margin-top: 10px;
          width:100% !important;
        }
      }
      .resourceTab {
@@ -2484,6 +2503,7 @@
        }
      }
      .inputBox {
        width:85%;
        .custom-input {
          border: 1px solid #0093ff !important;
          border-radius: 50px;