diff --git a/electron.vite.config.mjs b/electron.vite.config.mjs index d5d6421..cc1eedc 100644 --- a/electron.vite.config.mjs +++ b/electron.vite.config.mjs @@ -3,7 +3,14 @@ import path from 'path' import { defineConfig, externalizeDepsPlugin } from 'electron-vite' import vue from '@vitejs/plugin-vue' import WindiCSS from "vite-plugin-windicss" - +/*import electron from 'vite-plugin-electron' +plugins: [electron({ + main: { + builderOptions: { + asar: false + } + } +})],*/ export default defineConfig({ main: { plugins: [externalizeDepsPlugin()] diff --git a/package.json b/package.json index bc6282a..8bc6d8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aix-win", - "version": "2.0.2", + "version": "2.0.4", "description": "An Electron application with Vue", "main": "./out/main/index.js", "author": "example.com", @@ -45,10 +45,12 @@ "jsencrypt": "^3.3.2", "jsondiffpatch": "0.6.0", "lodash": "^4.17.21", + "node-addon-api": "^8.1.0", "pdfjs-dist": "4.4.168", "pinia": "^2.1.7", "pinia-plugin-persistedstate": "^3.2.1", "spark-md5": "^3.0.2", + "vite-plugin-electron": "^0.28.8", "vue-qr": "^4.0.9", "vue-router": "^4.4.0", "xgplayer": "^3.0.19", diff --git a/src/main/index.js b/src/main/index.js index ac96916..49433ec 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -21,6 +21,27 @@ File({ app, shell, BrowserWindow, ipcMain }) process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true' let mainWindow, loginWindow +const additionalData = {myKey:'ys_axi_smarttalk'} +const gotTheLock = app.requestSingleInstanceLock(additionalData) + +if(!gotTheLock){ + app.quit() +}else{ + app.on('second-instance',(event,commandLine,workingDirectory,additionalData)=>{ + //输入从第二个实例中接收到的数据 + console.log(additionalData) + //有人试图运行第二个实例,我们应该关注我们的窗口 + if(mainWindow){ + if(mainWindow.isMinimized()) mainWindow.restore() + mainWindow.focus() + } + if(loginWindow){ + if(loginWindow.isMinimized()) loginWindow.restore() + loginWindow.focus() + } + }) +} + //登录窗口 function createLoginWindow() { if (loginWindow) return @@ -53,7 +74,7 @@ function createLoginWindow() { updateInit(loginWindow) } - loginWindow.webContents.openDevTools() + // loginWindow.webContents.openDevTools() loginWindow.once('ready-to-show', () => { loginWindow.show() }) @@ -101,7 +122,7 @@ function createMainWindow() { shell.openExternal(details.url) return { action: 'deny' } }) - mainWindow.webContents.openDevTools() + // mainWindow.webContents.openDevTools() if (is.dev && process.env['ELECTRON_RENDERER_URL']) { mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL']) diff --git a/src/renderer/src/views/prepare/container/kj-list-item.vue b/src/renderer/src/views/prepare/container/kj-list-item.vue index 7841e07..4cd468b 100644 --- a/src/renderer/src/views/prepare/container/kj-list-item.vue +++ b/src/renderer/src/views/prepare/container/kj-list-item.vue @@ -108,6 +108,12 @@ export default { name: 'FileListItem', components: { FileImage }, props: { + curNode: { + type: Object, + default: function () { + return {} + } + }, item: { type: Object, default: function () { @@ -201,8 +207,8 @@ export default { }, openFileWin(items) { if (items.fileFlag === 'apt') { - console.log(items); - const path="/teaching/aptindex?id="+items.fileId + console.log(this.curNode); + const path="/teaching/aptindex?id="+items.fileId + "&cataId=" + this.curNode.id; let configObj = outLink().getBaseData() let fullPath = configObj.fullPath + path fullPath = fullPath.replaceAll('//', '/') diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue index 09e9abd..d675bcb 100644 --- a/src/renderer/src/views/prepare/index.vue +++ b/src/renderer/src/views/prepare/index.vue @@ -20,6 +20,7 @@ :key="index" :item="item" :index="index" + :curNode="currentNode" @on-delete="deleteTalk" @on-start-class="startClass" > @@ -115,13 +116,13 @@ -
+