Skip to content

系统配置

管理端配置分两层:settings.ts 控制应用功能开关与默认偏好,.env 文件控制环境变量与接口代理。

settings.ts

应用级配置集中定义在 src/settings.ts,包括功能开关和用户偏好默认值。

typescript
import { appConfig, defaults, themeColorPresets } from "@/settings";

// 功能开关
appConfig.name              // 应用名称
appConfig.version           // 版本
appConfig.tenantEnabled     // 多租户开关
appConfig.aiEnabled         // AI 助手开关

// 用户偏好默认值(会被 Store 覆盖)
defaults.theme              // 默认主题
defaults.themeColor         // 默认主题色
defaults.layout             // 默认布局

// 主题色预设
themeColorPresets           // ["#4080FF", "#1890FF", ...]

环境文件

.env.development    # 开发环境
.env.production     # 生产环境

开发环境(.env.development)

bash
# 应用端口
VITE_APP_PORT=3000

# 项目名称
VITE_APP_TITLE=vue3-element-admin

# 代理前缀
VITE_APP_BASE_API=/dev-api

# 接口地址(线上接口)
VITE_APP_API_URL=https://api.youlai.tech
# VITE_APP_API_URL=http://localhost:8000    # 本地接口

# 启用 Mock 服务
VITE_MOCK_DEV_SERVER=false

生产环境(.env.production)

bash
# 代理前缀(由 Nginx 代理转发,无需配置 VITE_APP_API_URL)
VITE_APP_BASE_API=/prod-api

# 项目名称
VITE_APP_TITLE=vue3-element-admin

环境变量说明

变量说明默认值适用环境
VITE_APP_PORT应用端口3000开发
VITE_APP_TITLE项目名称全部
VITE_APP_BASE_APIAPI 代理前缀/dev-api / /prod-api全部
VITE_APP_API_URLAPI 接口地址仅开发
VITE_APP_SSE_PATHSSE 路径/api/v1/sse/connect全部
VITE_MOCK_DEV_SERVER是否开启 Mockfalse仅开发

生产环境说明

生产环境不需要配置 VITE_APP_API_URL,接口请求通过 Nginx 反向代理实现,只需配置 VITE_APP_BASE_API 作为代理前缀。

代理配置

开发环境(Vite 代理)

vite.config.ts 中配置代理:

typescript
export default defineConfig({
  server: {
    port: Number(env.VITE_APP_PORT) || 3000,
    proxy: {
      [env.VITE_APP_BASE_API]: {
        target: env.VITE_APP_API_URL,
        changeOrigin: true,
        rewrite: (path) => path.replace(new RegExp(`^${env.VITE_APP_BASE_API}`), ""),
      },
    },
  },
});

请求流向:/dev-api/user/info → Vite 代理 → https://api.youlai.tech/user/info

生产环境(Nginx 代理)

nginx
server {
    listen 80;
    server_name yourdomain.com;

    # 前端静态资源
    location / {
        root /usr/share/nginx/html;
        try_files $uri $uri/ /index.html;
    }

    # API 代理
    location /prod-api/ {
        proxy_pass http://backend-server:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

切换接口环境

bash
# 在线接口(默认)
VITE_APP_API_URL=https://api.youlai.tech
VITE_MOCK_DEV_SERVER=false

# 本地接口
VITE_APP_API_URL=http://localhost:8000
VITE_MOCK_DEV_SERVER=false

# Mock 接口(后端未就绪时)
VITE_MOCK_DEV_SERVER=true

在代码中使用

typescript
// 功能开关:通过 settings 访问
import { appConfig } from "@/settings";
if (appConfig.tenantEnabled) { }

// 网络配置:直接使用环境变量
const baseAPI = import.meta.env.VITE_APP_BASE_API;

// HTML 中使用
// <title>%VITE_APP_TITLE%</title>

注意事项

  • 只有以 VITE_ 开头的变量才会暴露给客户端代码
  • 环境变量始终是字符串类型,布尔值需用 === "true" 判断
  • 修改 .env 文件后需重启开发服务器
  • 不要在环境变量中存储敏感信息(会暴露在客户端代码中)

基于 MIT 许可发布 · 如需部署协助或二开定制,请查看 支持与合作