config.js 2.34 KB
/**
 * 绿纤协同平台配置文件
 * 用于管理不同环境的API地址配置
 */

// 环境配置
const ENV_CONFIG = {
  // 本地开发环境
  development: {
    name: '本地开发环境',
    apiBaseUrl: 'http://localhost:2011',
    description: '本地开发服务器'
  },
  
  // 正式环境
  production: {
    name: '正式环境',
    apiBaseUrl: 'http://lvqian.antissoft.com',
    description: '生产环境服务器'
  }
};

// 当前环境(可通过修改这里来切换环境)
let CURRENT_ENV = 'production'; // 默认使用正式环境

// 获取当前环境配置
function getCurrentConfig() {
  return ENV_CONFIG[CURRENT_ENV] || ENV_CONFIG.production;
}

// 获取API基础地址
function getApiBaseUrl() {
  return getCurrentConfig().apiBaseUrl;
}

// 获取环境名称
function getEnvName() {
  return getCurrentConfig().name;
}

// 获取环境描述
function getEnvDescription() {
  return getCurrentConfig().description;
}

// 切换环境(用于开发调试)
function switchEnvironment(env) {
  if (ENV_CONFIG[env]) {
    CURRENT_ENV = env;
    console.log(`已切换到${getEnvName()}: ${getApiBaseUrl()}`);
    
    // 触发环境切换事件
    window.dispatchEvent(new CustomEvent('envChanged', {
      detail: { environment: env, config: getCurrentConfig() }
    }));
    
    return true;
  } else {
    console.error(`未知环境: ${env}`);
    return false;
  }
}

// 获取所有可用环境
function getAvailableEnvironments() {
  return Object.keys(ENV_CONFIG);
}

// 检查是否为开发环境
function isDevelopment() {
  return CURRENT_ENV === 'development';
}

// 检查是否为生产环境
function isProduction() {
  return CURRENT_ENV === 'production';
}

// 导出配置对象和函数
window.APP_CONFIG = {
  // 配置对象
  ENV_CONFIG,
  
  // 当前环境
  CURRENT_ENV,
  
  // 函数
  getCurrentConfig,
  getApiBaseUrl,
  getEnvName,
  getEnvDescription,
  switchEnvironment,
  getAvailableEnvironments,
  isDevelopment,
  isProduction
};

// 在控制台输出当前配置信息
console.log('🌱 绿纤协同平台配置已加载');
console.log('=== 配置信息 ===');
console.log('CURRENT_ENV 变量值:', CURRENT_ENV);
console.log('当前环境名称:', getEnvName());
console.log('当前API地址:', getApiBaseUrl());
console.log('可用环境:', getAvailableEnvironments());
console.log('=== 配置信息结束 ===');