闫增涛
2024-11-22 40b16e5fc85c445e0f21cfb75c10f6839fbacdfe
src/App.vue
@@ -23,94 +23,122 @@
const downloadTask = useDownloadTask()
const ExportTask = useExportTask()
window.electronAPI.onLogout((data) => {
  localStorage.clear()
  router.replace({
    path: '/login'
  })
})
window.electronAPI.onOpenUrl((data) => {
  let taskInfo = null
  let downloadInfo = decodeURI(data)
  console.log(downloadInfo, '接受到的taskInfo')
  try {
    taskInfo = JSON.parse(downloadInfo)
  } catch (error) {
    taskInfo = null
  }
  if (taskInfo) {
if (window.electronAPI) {
  window.electronAPI.onLogout((data) => {
    localStorage.removeItem("token")
    localStorage.removeItem("userInfo")
    router.replace({
      path: '/transmission'
      path: '/login'
    })
    window.electronAPI.newDownloadTask(taskInfo)
  }
})
// 绑定消息提醒
window.electronAPI.onShowMessage((data) => {
  // 获取到消息后修改全局数据,页面监听全局数据进行变化
  if (data.showType) {
    switch (data.showType) {
      case 'DownloadTask':
        downloadTask.setMsgData(data)
        break
      case 'ExportTask':
        ExportTask.setMsgData(data)
        break
    }
  } else {
    downloadTask.setMsgData(data)
  }
})
// 绑定下载任务变化更新
window.electronAPI.onDownloadTaskChange((task) => {
  downloadTask.setUpdateList()
})
// 绑定导出任务变化更新
window.electronAPI.onExportTaskChange((task) => {
  ExportTask.setUpdateList()
})
const showUpdateInfo = ref(false)
const updateDownloadInfo = ref()
// 监听程序更新下载
window.electronAPI.onUpdateDownloadProgress((data) => {
  showUpdateInfo.value = true
  console.log(data, 'updateDownloadInfo')
  updateDownloadInfo.value = data
})
// 监听程序更新下载完成
window.electronAPI.onUpdateDownloadSuccess((data) => {
  showUpdateInfo.value = false
  ElMessageBox.confirm('检测到新版本,安装包已下载完成,是否立即更新?', '检查更新', {
    confirmButtonText: '更新',
    cancelButtonText: '取消',
    type: 'warning'
  })
    .then(() => {
      window.electronAPI.updateApp()
    })
    .catch(() => {})
})
const token = localStorage.getItem('token')
// if (token) {
//   request({
//     url: '/identity/User/GetCurrentUser',
//     method: 'post'
//   }).then((res) => {
//     // console.log(res)
//   })
// } else {
//   router.replace({
//     path: '/login'
//   })
// }
  window.electronAPI.onOpenUrl((data) => {
    let taskInfo = null
    let downloadInfo = decodeURI(data)
    console.log(downloadInfo, '接受到的taskInfo')
    try {
      taskInfo = JSON.parse(downloadInfo)
    } catch (error) {
      taskInfo = null
    }
    if (taskInfo) {
      router.replace({
        path: '/home'
      })
      window.electronAPI.newDownloadTask(taskInfo)
    }
  })
  // 绑定消息提醒
  window.electronAPI.onShowMessage((data) => {
    // 获取到消息后修改全局数据,页面监听全局数据进行变化
    if (data.showType) {
      switch (data.showType) {
        case 'DownloadTask':
          downloadTask.setMsgData(data)
          break
        case 'ExportTask':
          ExportTask.setMsgData(data)
          break
      }
    } else {
      downloadTask.setMsgData(data)
    }
  })
  // 绑定下载任务变化更新
  window.electronAPI.onDownloadTaskChange((task) => {
    downloadTask.setUpdateList()
  })
  // 绑定导出任务变化更新
  window.electronAPI.onExportTaskChange((task) => {
    ExportTask.setUpdateList()
  })
  const showUpdateInfo = ref(false)
  const updateDownloadInfo = ref()
  // 监听程序更新下载
  window.electronAPI.onUpdateDownloadProgress((data) => {
    showUpdateInfo.value = true
    console.log(data, 'updateDownloadInfo')
    updateDownloadInfo.value = data
  })
  // 监听程序更新下载完成
  window.electronAPI.onUpdateDownloadSuccess((data) => {
    showUpdateInfo.value = false
    ElMessageBox.confirm('检测到新版本,安装包已下载完成,是否立即更新?', '检查更新', {
      confirmButtonText: '更新',
      cancelButtonText: '取消',
      type: 'warning'
    })
      .then(() => {
        window.electronAPI.updateApp()
      })
      .catch(() => {})
  })
}
const getUrlParam = (paraName) => {
  var url = window.location.toString()
  var arrObj = url.split('?')
  if (arrObj.length > 1) {
    var arrPara = arrObj[1].split('&')
    var arr
    for (var i = 0; i < arrPara.length; i++) {
      arr = arrPara[i].split('=')
      if (arr != null && arr[0] == paraName) {
        return arr[1]
      }
    }
    return ''
  } else {
    return ''
  }
}
let bookId = getUrlParam('bookId')
let chapter = getUrlParam('chapter')
let startPage = getUrlParam('startPage')
let token = getUrlParam('token')
if(bookId){
  localStorage.setItem('bookId', bookId)
}
if(token && token != null && token != 'null'){
  localStorage.setItem('token', token)
}
if(chapter && startPage){
  localStorage.setItem('chapter', chapter)
  localStorage.setItem('startPage', startPage)
}
if (bookId) {
  router.replace({
    path: '/home',
    query: { bookId: bookId }
  })
}
</script>
<style>
@@ -121,4 +149,12 @@
  right: 2px;
  z-index: 999;
}
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, 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")
    format("woff");
  font-weight: 400;
  font-style: normal;
}
</style>