Configure FIR production API defaults and environment overrides
Deploy B9 / deploy (push) Successful in 4m13s

This commit is contained in:
fucheng
2026-11-02 11:47:39 +08:00
parent 650e8ef017
commit 6d952fa0fd
7 changed files with 29 additions and 10 deletions
+6
View File
@@ -1 +1,7 @@
VITE_AI_API_URL=http://localhost:8000
FIR_LIBRARY_PROXY_TARGET=https://cs-fir.luxsin.com.cn
# 前端 FIR API 地址,默认使用生产服务;可手动修改覆盖。
# 如需使用开发代理,可设为 /fir-library。
# 生产配置见 .env.production,pnpm build 自动加载。
VITE_FIR_API_BASE=https://cs-fir.luxsin.com.cn/api
+6
View File
@@ -0,0 +1,6 @@
# pnpm build 使用 production 模式,自动加载本文件。
# 前端直接请求生产 API;/api 对应开发代理中的路径重写。
VITE_FIR_API_BASE=https://cs-fir.luxsin.com.cn/api
# 仅供 Vite 开发代理使用,不会在静态部署中创建代理。
FIR_LIBRARY_PROXY_TARGET=https://cs-fir.luxsin.com.cn
+1 -1
View File
@@ -6,7 +6,7 @@ import { useEffect, useRef, useState } from 'react';
import { useDevice } from '@/contexts/DeviceContext';
import { decodeFirWav, FirError, firRoomName, applyFir, readFirBinary, readFirJson, validateFirBinary, type FirRoom } from '@/lib/fir';
const LIBRARY = (import.meta.env.VITE_FIR_API_BASE || '/fir-library').replace(/\/$/, '');
const LIBRARY = (import.meta.env.VITE_FIR_API_BASE || 'https://cs-fir.luxsin.com.cn/api').replace(/\/$/, '');
export default function FirPanel() {
const { ip } = useDevice();
+1 -1
View File
@@ -3,7 +3,7 @@ import { Dialog, DialogContent, DialogTitle, DialogDescription, DialogClose } fr
import { firImageUrl, firRoomName, type FirRoom } from '@/lib/fir';
import { firTranslate } from '@/lib/firLocale';
const LIBRARY = (import.meta.env.VITE_FIR_API_BASE || '/fir-library').replace(/\/$/, '');
const LIBRARY = (import.meta.env.VITE_FIR_API_BASE || 'https://cs-fir.luxsin.com.cn/api').replace(/\/$/, '');
type Props = { room: FirRoom; language?: number };
export function FirRoomDetailsBody({ room, language }: Props) {
+2 -2
View File
@@ -7,8 +7,8 @@
"dev": "vite --host",
"dev:legacy": "vite --config vite.legacy.config.ts --host",
"build": "pnpm build:legacy && pnpm build:modern",
"build:modern": "vite build",
"build:legacy": "vite build --config vite.legacy.config.ts",
"build:modern": "vite build --mode production",
"build:legacy": "vite build --config vite.legacy.config.ts --mode production",
"build:test": "pnpm build:test:legacy && pnpm build:test:modern",
"build:test:modern": "DEPLOY_ENV=test vite build",
"build:test:legacy": "DEPLOY_ENV=test vite build --config vite.legacy.config.ts",
+7 -3
View File
@@ -4,7 +4,7 @@ import tailwindcss from "@tailwindcss/vite";
import react from "@vitejs/plugin-react";
import fs from "node:fs";
import path from "node:path";
import { defineConfig, type Plugin } from "vite";
import { defineConfig, loadEnv, type Plugin } from "vite";
import { vitePluginManusRuntime } from "vite-plugin-manus-runtime";
const PROJECT_ROOT = import.meta.dirname;
@@ -59,7 +59,10 @@ const deployBase = isProd
? (DEPLOY_ENV === "test" ? `/${DEPLOY_PROJECT}/test/modern/` : `/${DEPLOY_PROJECT}/v2/modern/`)
: "/";
export default defineConfig({
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, PROJECT_ROOT, "");
return {
plugins,
base: deployBase,
resolve: {
@@ -138,7 +141,7 @@ export default defineConfig({
timeout: 0,
proxyTimeout: 0,
},
"/fir-library": { target: "http://127.0.0.1:8000", changeOrigin: true, rewrite: p => p.replace(/^\/fir-library/, "/api") },
"/fir-library": { target: env.FIR_LIBRARY_PROXY_TARGET || "https://cs-fir.luxsin.com.cn", changeOrigin: true, rewrite: p => p.replace(/^\/fir-library/, "/api") },
"/luxsin-audio-api": {
target: "https://api.luxsin.com.cn",
changeOrigin: true,
@@ -159,4 +162,5 @@ export default defineConfig({
deny: ["**/.*"],
},
},
};
});
+6 -3
View File
@@ -3,7 +3,7 @@ import { jsxLocPlugin } from "@builder.io/vite-plugin-jsx-loc";
import react from "@vitejs/plugin-react";
import path from "node:path";
import { createRequire } from "node:module";
import { defineConfig, type Plugin } from "vite";
import { defineConfig, loadEnv, type Plugin } from "vite";
const PROJECT_ROOT = import.meta.dirname;
const require = createRequire(import.meta.url);
@@ -52,7 +52,9 @@ const deployBase = isProd
? (DEPLOY_ENV === "test" ? `/${DEPLOY_PROJECT}/test/legacy/` : `/${DEPLOY_PROJECT}/v2/legacy/`)
: "/";
export default defineConfig({
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, PROJECT_ROOT, "");
return {
plugins: [firDevProxy(),legacySkipModernCssPlugin(), legacyIndexRewritePlugin(), react(), jsxLocPlugin()],
define: {
"import.meta.env.VITE_X9_LEGACY": JSON.stringify("1"),
@@ -118,7 +120,7 @@ export default defineConfig({
timeout: 0,
proxyTimeout: 0,
},
"/fir-library": { target: "http://127.0.0.1:8000", changeOrigin: true, rewrite: p => p.replace(/^\/fir-library/, "/api") },
"/fir-library": { target: env.FIR_LIBRARY_PROXY_TARGET || "https://cs-fir.luxsin.com.cn", changeOrigin: true, rewrite: p => p.replace(/^\/fir-library/, "/api") },
"/luxsin-audio-api": {
target: "https://api.luxsin.com.cn",
changeOrigin: true,
@@ -126,4 +128,5 @@ export default defineConfig({
},
},
},
};
});