diff --git a/src/main/index.ts b/src/main/index.ts index abed924..ebde2cc 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -66,7 +66,7 @@ stopBatPath = process.platform === 'win32' ? stopBatPath.replace(/^(\w:)/, '/$1' // process.env.NODE_ENV === 'development' // ? `${join(app.getAppPath(), 'src/renderer/public/startUp/startUp.html')}` // : `file://${join(app.getAppPath(), 'resources/app.asar/out/renderer/startUp/startUp.html')}` - +let isRestart = false function createWindow(): void { // Create the browser window. @@ -114,8 +114,12 @@ function createWindow(): void { } }) ipcMain.on("restart", () => { - app.relaunch(); - forceQuit(); + // app.relaunch(); + // app.quit(); + // cleanupProcess.kill(); + // app.relaunch(); + isRestart = true + windowAllClosed() }); // 监听启动页完成的消息 ipcMain.on('splash-completed', () => { @@ -173,6 +177,20 @@ function createWindow(): void { event.sender.send("selectedFileItem", path); }); }); + ipcMain.handle('getIsFullScreen', () => { + return mainWindow.isFullScreen() + }); + ipcMain.on('toggle-fullscreen', (event) => { + const win = BrowserWindow.fromWebContents(event.sender); + win!.setFullScreen(!win!.isFullScreen()); + }); + mainWindow.on('enter-full-screen', () => { + mainWindow.webContents.send('fullscreen-status-changed', true) + }); + + mainWindow.on('leave-full-screen', () => { + mainWindow.webContents.send('fullscreen-status-changed', false) + }); let recorder; ipcMain.on("startRecoder", () => { @@ -212,9 +230,9 @@ function createWindow(): void { // console.log('GetHomeDir()', GetHomeDir()) let prefix = - process.env.NODE_ENV === "development" - ? "src/renderer/public" - : "resources/app.asar/out/renderer"; + process.env.NODE_ENV === "development" + ? "src/renderer/public" + : "resources/app.asar/out/renderer"; let data = {}; for (const objKey in obj) { let files = fs.readdirSync( @@ -415,9 +433,17 @@ function forceQuit() { // 终止所有剩余的子进程 if (process.platform === 'win32') { // Windows系统特殊处理 - exec('taskkill /F /T /PID ' + process.pid, (error) => { + // if (isRestart) { + // isRestart = false + // app.relaunch(); + // } + let child = exec('taskkill /F /T /PID ' + process.pid, (error) => { if (error) console.error('强制终止失败:', error); + child.kill(); }); + if (isRestart) { + app.relaunch(); + } } else { // 其他系统 process.exit(0); diff --git a/src/renderer/src/I18n/zh-CN.ts b/src/renderer/src/I18n/zh-CN.ts index 79b84fa..c285a7f 100644 --- a/src/renderer/src/I18n/zh-CN.ts +++ b/src/renderer/src/I18n/zh-CN.ts @@ -76,7 +76,7 @@ export default { polyhedronObject: "多边体", water: "水面", fountain: '喷泉', - waterL: '水柱', + waterL: '喷射水柱', fire: "火焰", explosion: "爆炸", smoke: "烟雾", diff --git a/src/renderer/src/api/tree/index.ts b/src/renderer/src/api/tree/index.ts index 451cd95..b8c3743 100644 --- a/src/renderer/src/api/tree/index.ts +++ b/src/renderer/src/api/tree/index.ts @@ -72,7 +72,7 @@ export const TreeApi = { //树的隐藏显示 updateTreeShow: async (data: any) => { return await request.post({ - url: `/yjearth4/api/v1/source/show`, + url: `/source/updateShowHide`, data }) } diff --git a/src/renderer/src/global.d.ts b/src/renderer/src/global.d.ts index 56a66d0..955736c 100644 --- a/src/renderer/src/global.d.ts +++ b/src/renderer/src/global.d.ts @@ -12,6 +12,7 @@ interface Window { } interface JQuery { zTree: { + getZTreeObj(arg0: string): unknown init: (selector: JQuery, setting: object, nodes: any[]) => any } } diff --git a/src/renderer/src/icons/svg/full_screen_exit.svg b/src/renderer/src/icons/svg/full_screen_exit.svg new file mode 100644 index 0000000..6bc746d --- /dev/null +++ b/src/renderer/src/icons/svg/full_screen_exit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/views/components/headers/components/setTool/hooks/index.ts b/src/renderer/src/views/components/headers/components/setTool/hooks/index.ts index 7eb9a7f..8c31f2d 100644 --- a/src/renderer/src/views/components/headers/components/setTool/hooks/index.ts +++ b/src/renderer/src/views/components/headers/components/setTool/hooks/index.ts @@ -1,6 +1,6 @@ export const uesSetTool = (setPupRef?: any) => { //打开弹窗 - const setShow = () => { + const setShow = (e) => { console.log(setPupRef, 'setPupRef') setPupRef.value.open() } diff --git a/src/renderer/src/views/components/headers/components/setTool/setTool.vue b/src/renderer/src/views/components/headers/components/setTool/setTool.vue index 26e03f2..4292f8d 100644 --- a/src/renderer/src/views/components/headers/components/setTool/setTool.vue +++ b/src/renderer/src/views/components/headers/components/setTool/setTool.vue @@ -13,14 +13,8 @@ --> -
+
@@ -32,6 +26,7 @@ import { useRouter } from 'vue-router' import { useI18n } from 'vue-i18n' import setPup from '../setPup/setPup.vue' import { inject } from 'vue' +const { ipcRenderer } = require('electron'); const router = useRouter() // 路由实例 const { t } = useI18n() import { uesSetTool } from './hooks' @@ -42,17 +37,26 @@ const { setShow } = uesSetTool(setPupRef) //控制显隐 const eventBus: any = inject('bus') eventBus.on('settingPop', (data) => { - console.log(setPupRef.value, 'data') data ? setPupRef.value.open() : setPupRef.value.close() }) -const logout = async () => { +const logout = async (e) => { let res = await LoginApi.logout() - console.log(res) if (res.code === 200) { router.push({ path: '/' }) // localStorage.clear() } } + + + +const fullScreen = (item) => { + ipcRenderer.send('toggle-fullscreen'); +} +const resetShow = (item) => { + //重置 + new YJ.Tools(window.earth).flyHome(); +} + const setList = ref([ // 标准版本 { @@ -60,7 +64,9 @@ const setList = ref([ index: 0, icon: 'beidou', name: 'locate', - className: 'header_public' + className: 'header_public', + dbcallback: (e)=>{}, + callback: (e)=>{} // dbcallback: this.flyTo, // callback: this.locate, }, @@ -70,8 +76,8 @@ const setList = ref([ icon: 'sys_reset', className: 'header_public', name: 'reset', - dbcallback: null - // callback: this.resetShow, + dbcallback: null, + callback: resetShow, }, { id: 2, @@ -79,8 +85,8 @@ const setList = ref([ icon: 'full_screen', className: 'header_public', name: 'fullScreen', - dbcallback: null - // callback: this.fullScreen, + dbcallback: null, + callback: fullScreen, }, { id: 3, @@ -102,6 +108,13 @@ const setList = ref([ callback: logout } ]) + +ipcRenderer.invoke('getIsFullScreen').then((res) => { + setList.value[2].icon = res ? 'full_screen_exit' : 'full_screen' +}) +ipcRenderer.on('fullscreen-status-changed', (event, isFullscreen) => { + setList.value[2].icon = isFullscreen ? 'full_screen_exit' : 'full_screen' +});