From 7e18f2e9d9fe440be662f64b26bd3fc1a7cec678 Mon Sep 17 00:00:00 2001 From: zdg Date: Mon, 4 Nov 2024 16:29:34 +0800 Subject: [PATCH] =?UTF-8?q?ppt=E4=B8=8A=E8=AF=BE-=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/store.js | 4 +- .../src/components/set-homework/index.vue | 2 +- src/renderer/src/plugins/shareStore.js | 6 +- src/renderer/src/store/modules/tool.js | 2 +- .../src/views/fullScreenPdf/index.vue | 6 +- src/renderer/src/views/prepare/index.vue | 4 + .../src/views/tool/components/side.vue | 88 +++++++++++++++++-- src/renderer/src/views/tool/sphere.vue | 11 +-- 8 files changed, 101 insertions(+), 22 deletions(-) diff --git a/src/main/store.js b/src/main/store.js index a34bd90..22e61dd 100644 --- a/src/main/store.js +++ b/src/main/store.js @@ -23,7 +23,9 @@ const defaultData = { curNode: null, // 当前选中的节点 defaultExpandedKeys: [], //展开的节点 subjectTree: [] // "树结构" 章节 - } + }, + env: {}, // 不走同步 Pinia - 变量 + curr: {} // 不走同步 Pinia - 当前信息 }, local: { // 本地(永久localStorage) }, diff --git a/src/renderer/src/components/set-homework/index.vue b/src/renderer/src/components/set-homework/index.vue index b890ff3..a237a80 100644 --- a/src/renderer/src/components/set-homework/index.vue +++ b/src/renderer/src/components/set-homework/index.vue @@ -213,7 +213,7 @@ const delStudent = (index) => { const onSubmit = (formEl) => { if (!formEl) return // 课堂id - const classRoomId = sessionStore.get('curClassRoom.id') + const classRoomId = sessionStore.get('curr.curClassRoom.id') formEl.validate((valid) => { if (valid) { /** diff --git a/src/renderer/src/plugins/shareStore.js b/src/renderer/src/plugins/shareStore.js index 3b3c819..b2d75df 100644 --- a/src/renderer/src/plugins/shareStore.js +++ b/src/renderer/src/plugins/shareStore.js @@ -10,7 +10,7 @@ import _ from 'lodash' // import { diff } from 'jsondiffpatch' // const Remote = isNode?require('@electron/remote'):{} // 远程模块 -const exArrs = ['subject'] // 不需要同步key-排除 +const exArrs = ['subject','env','curr'] // 不需要同步key-排除 export function shareStorePlugin({store}) { store.$subscribe((mutation, state) => { // 自动同步 @@ -60,7 +60,7 @@ function stateSyncWatch(storeName, newState) { const diffData = findDifferences(oldState, newState) if(!_.keys(diffData).length) return // 没有变化就终止执行 // 数据处理: 找出差异 - // console.log('state-change-diffData', diffData) + console.log('state-change-diffData', diffData, newState) try { let pinaValue = {} // store pina状态管理需要的数据格式 // 数据转换处理 @@ -83,7 +83,7 @@ function stateSyncWatch(storeName, newState) { // 没变化也终止执行 if (_.isEqual(oldValAll, newValAll)) return // 更新本地数据-session - sessionStore.set(key, newValAll) + sessionStore.set(key, newValAll || null) // 数据处理: pina-store const jsonStr = JSON.stringify(pinaValue) // 从新组装-json数据 diff --git a/src/renderer/src/store/modules/tool.js b/src/renderer/src/store/modules/tool.js index f2ff2b0..b8a6fa6 100644 --- a/src/renderer/src/store/modules/tool.js +++ b/src/renderer/src/store/modules/tool.js @@ -6,7 +6,7 @@ import { sessionStore } from '@/utils/store' // 默认数据 const defData = sessionStore.store || {} -const exArrs = ['subject'] +const exArrs = ['subject','env','curr'] exArrs.forEach(k => Object.keys(defData).includes(k) && (delete defData[k])) // 延时 diff --git a/src/renderer/src/views/fullScreenPdf/index.vue b/src/renderer/src/views/fullScreenPdf/index.vue index cb404c8..910961c 100644 --- a/src/renderer/src/views/fullScreenPdf/index.vue +++ b/src/renderer/src/views/fullScreenPdf/index.vue @@ -18,7 +18,9 @@ const loadPdfAnimation = (path) => { },2000) } onMounted(() => { - const bookpath = localStorage.getItem('PDF-LOCAL-PATH') + console.log('路由参数====',route); + const { pdfUrl } = route.query + const bookpath = !!pdfUrl ? pdfUrl : localStorage.getItem('PDF-LOCAL-PATH') // const filepath = import.meta.env.VITE_APP_RES_FILE_PATH + bookpath // const isDev = process.env.NODE_ENV == 'development' // if (isDev) @@ -28,7 +30,7 @@ onMounted(() => { // const newpath = getStaticUrl(bookpath, 'user', 'selfFile', true) loadPdfAnimation(bookpath) // pdfUrl.value = filepath - // console.log('课件路径',newpath); + // console.log('课件路径',bookpath); }) diff --git a/src/renderer/src/views/tool/sphere.vue b/src/renderer/src/views/tool/sphere.vue index 99b935b..2a6f520 100644 --- a/src/renderer/src/views/tool/sphere.vue +++ b/src/renderer/src/views/tool/sphere.vue @@ -103,7 +103,7 @@ onMounted(async() => { const getClassInfo = async () => { const { data } = await classManageApi.getClassInfo(classObj.id) classObj.data = data - sessionStore.set('curClassRoom', classObj) // 课堂信息-缓存 + sessionStore.set('curr.curClassRoom', classObj) // 课堂信息-缓存 // 群id let timGroupId = data?.ex3 || '' console.log('获取群ID:', timGroupId) @@ -208,14 +208,7 @@ const sideChange = async o => { // console.log(o) switch(o.prop) { case 'book': - if(isOpenBook.value) { - isOpenBook.value = false - ElMessage.info('已经打开课本了哦') - }else { - // createWindow('fullScreen-PDF',{url: '/fullscreenpdf'}) - toRoter(`${process.env['ELECTRON_RENDERER_URL']}/#/fullscreenpdf`) - isOpenBook.value = true - } + isMask.value = !isMask.value break case 'close': // 关闭 maskChange(false)