/** * 环境配置 * 根据编译环境自动切换 API 地址 */ // 环境列表 export const ENV = { DEV: 'development', PROD: 'production', TEST: 'test' } // 当前环境(默认测试环境) let currentEnv = ENV.TEST /** * 设置当前环境 * @param {string} env - 环境名称 */ export const setEnv = (env) => { if (Object.values(ENV).includes(env)) { currentEnv = env } } /** * 获取当前环境 * @returns {string} */ export const getEnv = () => currentEnv /** * 环境配置 * 只配置域名,路由前缀在 request.js 中单独配置 */ const ENV_CONFIG = { [ENV.DEV]: { name: '开发环境', domain: 'https://memo.test.miaoall.cn', debug: true, aesKey: '12345678901234567890123456789012', aesIv: '1234567890123456' }, [ENV.TEST]: { name: '测试环境', domain: 'https://memo.test.miaoall.cn', debug: true, aesKey: '12345678901234567890123456789012', aesIv: '1234567890123456' }, [ENV.PROD]: { name: '生产环境', domain: 'https://memo.miaoall.cn', debug: false, aesKey: 'a1s2d3f4g5h6j7k8l9z0xq1w2e3r4t5y6', aesIv: 'q1w2e3r4t5y6u7i8' } } /** * 获取当前环境的配置 * @returns {Object} */ export const getEnvConfig = () => { return ENV_CONFIG[currentEnv] || ENV_CONFIG[ENV.TEST] } /** * 获取 API 域名 * @returns {string} */ export const getDomain = () => getEnvConfig().domain /** * 获取当前环境名称 * @returns {string} */ export const getEnvName = () => getEnvConfig().name /** * 是否为开发模式 * @returns {boolean} */ export const isDev = () => currentEnv === ENV.DEV /** * 是否为生产模式 * @returns {boolean} */ export const isProd = () => currentEnv === ENV.PROD /** * 是否为测试模式 * @returns {boolean} */ export const isTest = () => currentEnv === ENV.TEST // 默认导出配置 export default { ENV, getEnv, setEnv, getEnvConfig, getDomain, getEnvName, isDev, isProd, isTest }