From 193d57de5ecd07523d2eeedb6a7e0b4847a50d22 Mon Sep 17 00:00:00 2001 From: jingrow Date: Tue, 4 Nov 2025 00:50:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96vite=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/jingrow/frontend/vite.config.ts | 48 ++++++++++------------------ 1 file changed, 17 insertions(+), 31 deletions(-) diff --git a/apps/jingrow/frontend/vite.config.ts b/apps/jingrow/frontend/vite.config.ts index 09581f5..14a1257 100644 --- a/apps/jingrow/frontend/vite.config.ts +++ b/apps/jingrow/frontend/vite.config.ts @@ -8,6 +8,20 @@ import Components from 'unplugin-vue-components/vite' import fs from 'node:fs' import path from 'node:path' +// 统一处理后端 Set-Cookie,移除 Secure 标志,便于在 HTTP 开发环境保存 Cookie +const cookieRewriteConfigure = (proxy: any) => { + proxy.on('proxyRes', (proxyRes: any) => { + const setCookieHeaders = proxyRes.headers['set-cookie'] + if (setCookieHeaders) { + proxyRes.headers['set-cookie'] = setCookieHeaders.map((cookie: string) => { + return cookie + .replace(/;\s*[Ss]ecure/gi, '') + .replace(/,\s*[Ss]ecure/gi, '') + }) + } + }) +} + // 读取 apps.txt 确定应用优先级(靠后优先) function loadAppsOrder(appsDir: string) { const appsTxt = path.join(appsDir, 'apps.txt') @@ -79,17 +93,7 @@ export default defineConfig(({ mode }) => { cookieDomainRewrite: { '*': '' }, cookiePathRewrite: { '*': '/' }, // 移除 Cookie 的 Secure 标志,因为前端可能是 HTTP 访问 - configure: (proxy, options) => { - proxy.on('proxyRes', (proxyRes, req, res) => { - const setCookieHeaders = proxyRes.headers['set-cookie'] - if (setCookieHeaders) { - // 移除所有 Set-Cookie 中的 Secure 标志 - proxyRes.headers['set-cookie'] = setCookieHeaders.map(cookie => { - return cookie.replace(/;\s*[Ss]ecure/gi, '').replace(/,\s*[Ss]ecure/gi, '') - }) - } - }) - } + configure: cookieRewriteConfigure }, '/api/data': { target: BACKEND_URL, @@ -97,16 +101,7 @@ export default defineConfig(({ mode }) => { secure: false, cookieDomainRewrite: { '*': '' }, cookiePathRewrite: { '*': '/' }, - configure: (proxy, options) => { - proxy.on('proxyRes', (proxyRes, req, res) => { - const setCookieHeaders = proxyRes.headers['set-cookie'] - if (setCookieHeaders) { - proxyRes.headers['set-cookie'] = setCookieHeaders.map(cookie => { - return cookie.replace(/;\s*[Ss]ecure/gi, '').replace(/,\s*[Ss]ecure/gi, '') - }) - } - }) - } + configure: cookieRewriteConfigure }, '/jingrow': { target: BACKEND_URL, @@ -114,16 +109,7 @@ export default defineConfig(({ mode }) => { secure: false, cookieDomainRewrite: { '*': '' }, cookiePathRewrite: { '*': '/' }, - configure: (proxy, options) => { - proxy.on('proxyRes', (proxyRes, req, res) => { - const setCookieHeaders = proxyRes.headers['set-cookie'] - if (setCookieHeaders) { - proxyRes.headers['set-cookie'] = setCookieHeaders.map(cookie => { - return cookie.replace(/;\s*[Ss]ecure/gi, '').replace(/,\s*[Ss]ecure/gi, '') - }) - } - }) - } + configure: cookieRewriteConfigure } } },