From 238594fdcffa60a77eb0de8db534e3ec96802260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com> Date: Fri, 12 Dec 2025 10:14:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/index.ts | 12 ++++++++++++ .../headers/components/setPup/components/setting.vue | 12 +++++++++--- src/renderer/src/views/login/useLogin.ts | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/index.ts b/src/main/index.ts index 27ec7ca..77a190a 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -436,6 +436,18 @@ function createWindow(): void { // 1. 创建独立临时会话 const tempSession = createTempSession(); + try { + if (option && option.Authorization) { + tempSession.webRequest.onBeforeSendHeaders((details, callback) => { + const headers = Object.assign({}, details.requestHeaders); + headers['Authorization'] = option.Authorization; + callback({ requestHeaders: headers }); + }); + } + } catch (e) { + console.error('注入认证头失败:', e); + } + // 2. 合并窗口配置:注入独立会话 const windowConfig = { ...params, diff --git a/src/renderer/src/views/components/headers/components/setPup/components/setting.vue b/src/renderer/src/views/components/headers/components/setPup/components/setting.vue index 5d04fce..abc8b77 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/setting.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/setting.vue @@ -654,10 +654,10 @@ const toggleGroup = (type: string) => { var backButShow: any = ref(false) //根据角色权限控制后台管理按钮显隐 -let option = JSON.parse(localStorage.getItem('frontFunctionArr')) +let option = JSON.parse(localStorage.getItem('frontFunctionArr') || '{}') option = Object.keys(option) //数据权限 -let data = JSON.parse(localStorage.getItem('frontDataArr')) +let data = JSON.parse(localStorage.getItem('frontDataArr') || '[]') if (option.length == 0 && data.length == 0) { //管理员 backButShow.value = true @@ -677,6 +677,12 @@ const intoBack = async () => { const electron = require('electron') const { ipcRenderer } = require('electron') + const token = localStorage.getItem('Authorization') + if (!token) { + ElMessage({ message: '请先登录后再进入后台管理', type: 'error' }) + return + } + let availablePort = await ipcRenderer.invoke('get-available-port') let baseURL = localStorage.getItem('ip') @@ -710,7 +716,7 @@ const intoBack = async () => { }, // `http://localhost:${availablePort}/backManage/index.html#/login?timestamp=${Date.now()}`, `${baseURL}/index.html#/login?timestamp=${Date.now()}`, - {}, + { Authorization: token }, id ) } catch (error) { diff --git a/src/renderer/src/views/login/useLogin.ts b/src/renderer/src/views/login/useLogin.ts index cc8e8de..316bd34 100644 --- a/src/renderer/src/views/login/useLogin.ts +++ b/src/renderer/src/views/login/useLogin.ts @@ -81,7 +81,7 @@ export const useLogin = () => { }) localStorage.setItem('frontFunctionArr', JSON.stringify(obj)) //数据权限 - let dataArr = [] + let dataArr: any[] = [] res.data.roleOperates.forEach(item => { dataArr.push(item.operate) })