From 7fc7135d7306dfeebce405e2eba6319e05750f30 Mon Sep 17 00:00:00 2001 From: yangws <1607839436@qq.com> Date: Fri, 16 Aug 2024 14:33:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=E8=AF=BE=E4=BB=B6=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=BA=BF=E4=B8=8A=E7=9A=84;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/views/classBegins/index.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/views/classBegins/index.vue b/src/renderer/src/views/classBegins/index.vue index 5876c9c..a0f8d07 100644 --- a/src/renderer/src/views/classBegins/index.vue +++ b/src/renderer/src/views/classBegins/index.vue @@ -99,10 +99,10 @@ const switchPageMode = () => { pdfCanvaslist.value.initPdf('rest') } } -onMounted(async () => { +onMounted(async () => { toolState.isPdfWin=true //设置打开pdf窗口 - // pdfObj.pdfUrl = getStaticUrl(route.query.path, 'user', 'selfFile', true) //线上 - pdfObj.pdfUrl = getStaticUrl('aaa.pdf', 'user', 'selfFile', true) //本地 + pdfObj.pdfUrl = getStaticUrl(route.query.path, 'user', 'selfFile', true) //线上 + // pdfObj.pdfUrl = getStaticUrl('aaa.pdf', 'user', 'selfFile', true) //本地 textbookId.value = route.query.textbookId pdfObj.bookId=textbookId.value //初始化获取接口数据 @@ -164,4 +164,4 @@ const getUniqueArrayByLastOccurrence=(array)=> { } } } - \ No newline at end of file + From e3e704d95d83241c2cef2274a37e1f642038b747 Mon Sep 17 00:00:00 2001 From: zdg Date: Fri, 16 Aug 2024 16:41:05 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/plugins/imChat/index.js | 5 ++++- src/renderer/src/views/tool/sphere.vue | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/plugins/imChat/index.js b/src/renderer/src/plugins/imChat/index.js index 4257f69..60d1a92 100644 --- a/src/renderer/src/plugins/imChat/index.js +++ b/src/renderer/src/plugins/imChat/index.js @@ -74,7 +74,9 @@ export class ImChat { try { if(!API) reject('preload api获取失败, 初始化-未完成') this.timChat = await API.getTimRender() - await this.timChat.TIMInit() + await this.timChat.TIMInit({ + // electron_log:true, + }) console.log('[im-chat]:初始化成功') this.status.isConnect = true this.setConfig() // 设置日志级别 @@ -150,6 +152,7 @@ export class ImChat { return this.timChat.TIMLogout().then(res => { console.log('登出成功', res) this.status.isLogin = false + this.timChat.TIMUninit() // 反初始化 return res }).catch(error => { console.log('登出失败', error) diff --git a/src/renderer/src/views/tool/sphere.vue b/src/renderer/src/views/tool/sphere.vue index 7b018d9..b910e37 100644 --- a/src/renderer/src/views/tool/sphere.vue +++ b/src/renderer/src/views/tool/sphere.vue @@ -88,12 +88,13 @@ onMounted(async() => { const getClassInfo = async () => { const { data } = await classManageApi.getClassInfo(classObj.id) classObj.data = data + // console.log('classObj:', classObj) if(!data.ex3 || data.ex3 == 'undefined') { // 无群直接创建 await imChatRef.value.imChatObj.imChat.createGroup(data.className) const timGroupId = imChatRef.value.imChatObj.imChat.timGroupId classManageApi.startClass(classObj.id, timGroupId) // 开始上课 } else { // 已创建群 - // console.log('已创建群: ', data.ex3) + console.log('已创建群: ', data.ex3) imChatRef.value.imChatObj.imChat.timGroupId = data.ex3 // imChatRef.value.imChatObj.imChat.setGroupMsgReceive(data.ex3) } @@ -181,16 +182,16 @@ const sideChange = async o => { }).then(async() => { await imChatRef.value?.imChatObj?.imChat?.sendMsgClosed() // 发送下课消息 // const elMsg = ElMessage.warning({duration:0,message:'正在下课...'}) - const elMsg = ElLoading.service({lock: true, text: '正在下课...', background: 'rgba(0, 0, 0, 0.7)'}) + // const elMsg = ElLoading.service({lock: true, text: '正在下课...', background: 'rgba(0, 0, 0, 0.7)'}) // 延迟2秒后关闭窗口,如果马上解散群,会导致群组不存在 setTimeout(async() => { - elMsg.close() + // elMsg.close() toolStore.isToolWin = false await classManageApi.endClass(route.query.reservId) await imChatRef.value?.deleteGroup() // 解散群 await imChatRef.value?.logout() // 退出im ipcMsgSend('tool-sphere:close') // 关闭窗口 - }, 2000); + }, 200); // isOver.value = false // setIgnore(true) // 开启窗口鼠标-穿透 From 631fcf38f7ec04c20a2ccc0b7b448aeb5484fdd5 Mon Sep 17 00:00:00 2001 From: zdg Date: Fri, 16 Aug 2024 17:07:06 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/chat.js | 2 +- src/main/index.js | 7 +++---- src/preload/index.js | 4 ++-- src/renderer/src/views/tool/sphere.vue | 5 +++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/chat.js b/src/main/chat.js index b6700f2..21bf021 100644 --- a/src/main/chat.js +++ b/src/main/chat.js @@ -3,7 +3,7 @@ */ // import { ipcMain } from 'electron' // const TimMain = require('im_electron_sdk/dist/main') -import TimMain from 'im_electron_sdk/dist/main' +// import TimMain from 'im_electron_sdk/dist/main' // import {TIMErrCode} from 'im_electron_sdk/dist/enumbers' const sdkappidDef = 1600034736 // 可以去腾讯云即时通信IM控制台申请 diff --git a/src/main/index.js b/src/main/index.js index aff4dde..3f74810 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -3,7 +3,7 @@ import { join } from 'path' import { electronApp, optimizer, is } from '@electron-toolkit/utils' import icon from '../../resources/icon.png?asset' import File from './file' -import chat from './chat' // chat封装 +// import chat from './chat' // chat封装 // 代理 electron/remote // 第一步:引入remote import remote from '@electron/remote/main' @@ -230,15 +230,14 @@ app.on('window-all-closed', () => { // 监听全局事件 function handleAll() { - // chat.initialize() // im-chat 实例 - const chatInstance = chat.initialize() // im-chat 实例 + // const chatInstance = chat.initialize() // im-chat 实例 // 新窗口创建-监听 ipcMain.on('new-window', (e, data) => { const { id, type } = data const win = BrowserWindow.fromId(id) win.type = type // 绑定独立标识 remote.enable(win.webContents) // 开启远程服务 - chatInstance.enable(win.webContents) // 开启im-chat + // chatInstance.enable(win.webContents) // 开启im-chat }) // 用于监听-状态管理变化-同步所有窗口 ipcMain.handle('pinia-state-change', (e, storeName, jsonStr) => { diff --git a/src/preload/index.js b/src/preload/index.js index ffdb7a0..a840ca5 100644 --- a/src/preload/index.js +++ b/src/preload/index.js @@ -1,10 +1,10 @@ import { contextBridge } from 'electron' import { electronAPI } from '@electron-toolkit/preload' -import TimRender from 'im_electron_sdk/dist/renderer' // im渲染部分实例 +// import TimRender from 'im_electron_sdk/dist/renderer' // im渲染部分实例 // Custom APIs for renderer const api = { preloadPath: __dirname, // 当前preload地址 - getTimRender: () => new TimRender(), // im渲染部分实例 + // getTimRender: () => new TimRender(), // im渲染部分实例 } // Use `contextBridge` APIs to expose Electron APIs to // renderer only if context isolation is enabled, otherwise diff --git a/src/renderer/src/views/tool/sphere.vue b/src/renderer/src/views/tool/sphere.vue index b910e37..f6443ac 100644 --- a/src/renderer/src/views/tool/sphere.vue +++ b/src/renderer/src/views/tool/sphere.vue @@ -10,7 +10,7 @@ - +
@@ -78,7 +78,8 @@ const btnList = [ // 工具栏按钮列表 // === 页面加载完毕 === onMounted(async() => { setTimeout(() => { - getClassInfo() // 获取课堂详情 ex3 + classManageApi.startClass(classObj.id) // 开始上课-临时 + // getClassInfo() // 获取课堂详情 ex3 resetStatus() // 开启重置状态-监听 }, 200); }) From 56483a9a4937a9ab1c870a35bf8e4ed678ace525 Mon Sep 17 00:00:00 2001 From: zhangxuelin <959231531@qq.com> Date: Fri, 16 Aug 2024 17:33:27 +0800 Subject: [PATCH 4/4] =?UTF-8?q?shareStore=E7=8A=B6=E6=80=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/plugins/shareStore.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/plugins/shareStore.js b/src/renderer/src/plugins/shareStore.js index 5b34244..31060a8 100644 --- a/src/renderer/src/plugins/shareStore.js +++ b/src/renderer/src/plugins/shareStore.js @@ -13,12 +13,14 @@ export function shareStorePlugin({store}) { // 在存储变化的时候执行 // const storeName = store.$id // const storeName = mutation.storeId - const { storeId: storeName, payload, events, type } = mutation // direct - // if (!Object.keys(payload).length) return - if (type != 'direct') return // 用于多窗口共享(需要共享的状态名称) const names = ['tool'] - if (names.includes(storeName)) stateSync(storeName, events.key, events.newValue) // 需要同步 + if (names.includes(storeName)) { + const { storeId: storeName, payload, events, type } = mutation // direct + // if (!Object.keys(payload).length) return + if (type != 'direct' || !events || Array.isArray(events) || !events.key) return + stateSync(storeName, events.key, events.newValue) // 需要同步 + } }) // 暴露方法-手动同步 store.stateSync = (storeName, key, value) => {