mirror of
https://github.com/2930134478/AI-CS.git
synced 2026-06-15 00:44:30 +08:00
86 lines
2.7 KiB
JavaScript
86 lines
2.7 KiB
JavaScript
/**
|
||
* 生产用 Next 配置(纯 JS,运行时无需 TypeScript)
|
||
* 与 next.config.ts 逻辑一致,供 Docker 生产镜像使用,避免 next start 触发 npm install
|
||
*/
|
||
|
||
// 开发时代理目标端口(统一从根目录 .env 读取 NEXT_PUBLIC_BACKEND_*)
|
||
const backendPort = process.env.NEXT_PUBLIC_BACKEND_PORT || "8080";
|
||
const backendHost = process.env.NEXT_PUBLIC_BACKEND_HOST || "localhost";
|
||
|
||
/** @type {import('next').NextConfig} */
|
||
const nextConfig = {
|
||
async rewrites() {
|
||
if (process.env.NODE_ENV === "development") {
|
||
return [
|
||
// 形态2(同域 /api)在本地开发的兜底:把 /api/* 代理到后端 /api/*
|
||
{
|
||
source: "/api/:path*",
|
||
destination: `http://${backendHost}:${backendPort}/api/:path*`,
|
||
},
|
||
{
|
||
source: "/agent/profile/:path*",
|
||
destination: `http://${backendHost}:${backendPort}/agent/profile/:path*`,
|
||
},
|
||
{
|
||
source: "/agent/avatar/:path*",
|
||
destination: `http://${backendHost}:${backendPort}/agent/avatar/:path*`,
|
||
},
|
||
{
|
||
source: "/agent/embedding-config",
|
||
destination: `http://${backendHost}:${backendPort}/agent/embedding-config`,
|
||
},
|
||
{
|
||
source: "/agent/ai-config/:path*",
|
||
destination: `http://${backendHost}:${backendPort}/agent/ai-config/:path*`,
|
||
},
|
||
{
|
||
// 数据报表 API(后端 gin 路由在 /agent/analytics/summary)
|
||
source: "/agent/analytics/summary",
|
||
destination: `http://${backendHost}:${backendPort}/agent/analytics/summary`,
|
||
},
|
||
{
|
||
source: "/agent/logs/api",
|
||
destination: `http://${backendHost}:${backendPort}/agent/logs/api`,
|
||
},
|
||
{
|
||
source: "/agent/logs/frontend",
|
||
destination: `http://${backendHost}:${backendPort}/agent/logs/frontend`,
|
||
},
|
||
{
|
||
source: "/agent/logs/min-level",
|
||
destination: `http://${backendHost}:${backendPort}/agent/logs/min-level`,
|
||
},
|
||
{
|
||
source: "/:path((?!_next|agent|chat|favicon.ico).*)",
|
||
destination: `http://${backendHost}:${backendPort}/:path*`,
|
||
},
|
||
];
|
||
}
|
||
return [];
|
||
},
|
||
images: {
|
||
remotePatterns: [
|
||
{
|
||
protocol: "http",
|
||
hostname: "192.168.124.9",
|
||
port: backendPort,
|
||
pathname: "/uploads/**",
|
||
},
|
||
{
|
||
protocol: "http",
|
||
hostname: "localhost",
|
||
port: backendPort,
|
||
pathname: "/uploads/**",
|
||
},
|
||
{
|
||
protocol: "http",
|
||
hostname: "127.0.0.1",
|
||
port: backendPort,
|
||
pathname: "/uploads/**",
|
||
},
|
||
],
|
||
},
|
||
};
|
||
|
||
export default nextConfig;
|