Files
simple-memo-wx/utils/env.js
T

110 lines
1.9 KiB
JavaScript

/**
* 环境配置
* 根据编译环境自动切换 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
}