import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  // 根据环境变量判断是否需要代理
  // Mode 0: 不需要代理（使用 Mock 数据）
  // Mode 1: 需要代理到本地后端
  // Mode 2: 生产构建，不需要代理
  const runMode = process.env.VITE_RUN_MODE || 'mode-1';
  const needProxy = runMode === 'mode-1';
  const backendUrl = process.env.VITE_BACKEND_URL || 'http://localhost:8080';

  console.log(`\n🎯 Vite Mode: ${mode.toUpperCase()}`);
  console.log(`🎯 Run Mode: ${runMode}`);
  console.log(`🔗 Backend Proxy: ${needProxy ? 'Enabled' : 'Disabled'}`);
  if (needProxy) {
    console.log(`📡 Backend URL: ${backendUrl}`);
  }
  console.log('');

  return {
    plugins: [react()],
    resolve: {
      alias: {
        "@": "/src",
      },
    },
    server: {
      host: true,
      port: 5173,
      // Mode 1 启用代理
      proxy: needProxy ? {
        "/api": {
          target: backendUrl,
          changeOrigin: true,
          secure: false,
        },
      } : undefined,
    },
  };
});