config配置
路径:/public/config.js
配置模板路径:/public/config-temps
配置说明:
1.对于官方环境(iot.acrel.cn,iot.acrel-eem.com),生效的配置为/public/config-temps/config_cn,/public/config-temps/config_global。通常情况不需要修改。
/** 国内iot平台 */
const iot_cn_config = {
defaultLanguage: 'zh-CN', // 当前支持en-US,zh-CN。若设置为空字符串,则会根据浏览器语言判断,若浏览器语言为zh-CN或zh-TW,则是简体中文,否则为英文。
signleSystem: true, // 当设为true时,表示配置为单系统,隐藏子系统选择,且基础模块和子系统菜单将一起返回。
mapType: 'Baidu', // Baidu,Google
hiddenException: true, // 隐藏系统异常报错
DEFAULT_WELCOME: '/oversea_welcome/welcome', //默认首页路由
// ------app下载配置--------
appName: '能源物联网APP',
downloadUrl_android: 'https://iot.acrel.cn/image/APK/eiot.apk',
storeUrl_android: '',
storeUrl_ios: 'https://itunes.apple.com/cn/app/id1610952618?mt=8'
// 接口配置,默认使用config.js中的配置
// BASE_URL:, //平台
// DataCenter_URL: //中台
}
2.对于开发环境,生效的配置为/public/config-temps/config_dev.js
/** 海外iot平台 */
const iot_com_config = {
defaultLanguage: 'en-US', // 当前支持en-US,zh-CN。若设置为空字符串,则会根据浏览器语言判断,若浏览器语言为zh-CN或zh-TW,则是简体中文,否则为英文。
signleSystem: true, // 当设为true时,表示配置为单系统,隐藏子系统选择,且基础模块和子系统菜单将一起返回。
mapType: 'Google', // Baidu,Google
hiddenException: true, // 隐藏系统异常报错
// -----Address-----------
DEFAULT_WELCOME: '/oversea_welcome/welcome', //默认首页路由
// ------app下载配置--------
appName: 'Iot EMS',
downloadUrl_android: 'http://3.122.67.29:8100/image/erweima/Iot_EMS.apk',
storeUrl_android: 'https://play.google.com/store/apps/details?id=com.acrel.iotems',
storeUrl_ios: 'https://itunes.apple.com/cn/app/id1560302424?mt=8'
// 接口配置,默认使用config.js中的配置
// BASE_URL:, //平台
// DataCenter_URL: //中台
}
3.对于其他环境,生效的配置为/public/config-temps/config_custom.js。通常设置为国内或国外同样配置就行,如果有不一致的,也可以自定义。
/**
* 对于买断用户,可以直接在此配置。
*/
// 国内:如果跟国内配置一摸一样,则释放下面一行代码
const custom_config = iot_cn_config
// 国外:如果跟国内配置一摸一样,则释放下面一行代码
// const custom_config = iot_com_config
// 自定义:释放下方代码,并改动响应的值
// const custom_config = {
// defaultLanguage: 'zh-CN', // 当前支持en-US,zh-CN。若设置为空字符串,则会根据浏览器语言判断,若浏览器语言为zh-CN或zh-TW,则是简体中文,否则为英文。
// signleSystem: true, // 当设为true时,表示配置为单系统,隐藏子系统选择,且基础模块和子系统菜单将一起返回。
// mapType: 'Baidu', // Baidu,Google
// hiddenException: true, // 隐藏系统异常报错
// DEFAULT_WELCOME: '/oversea_welcome/welcome', //默认首页路由
// // ------app下载配置--------
// appName: '能源物联网APP',
// downloadUrl_android: 'https://iot.acrel.cn/image/APK/eiot.apk',
// storeUrl_android: '',
// storeUrl_ios: 'https://itunes.apple.com/cn/app/id1610952618?mt=8'
// }
配置生效机制:
1.在/public/index.html中,获取domain,并依次载入配置模版和config.js
<script type="text/javascript" src="<%= BASE_URL %>source/uri.all.min.js"></script>
<script>
// 根据浏览器地址获取domain
const locationURI = URI.parse(window.location.href)
const domain = URI.serialize({
scheme: locationURI.scheme,
host: locationURI.host,
port: locationURI.port
})
console.log(domain)
</script>
<script src="<%= BASE_URL %>config-temps/config_cn.js"></script>
<script src="<%= BASE_URL %>config-temps/config_global.js"></script>
<script src="<%= BASE_URL %>config-temps/config_custom.js"></script>
<script src="<%= BASE_URL %>config-temps/config_dev.js"></script>
<script src="<%= BASE_URL %>config.js"></script>
2.在config.js中,检测是否为官方环境,如果是,则加载官方环境配置,如果不是,则加载自定义配置。
// 根据运行环境自动匹配config配置
function handleEnvConfig() {
var isOfficial = false
//如果是官方环境,则根据浏览器地址配置
const href = window.location.href
for (let index = 0; index < Object.keys(CONFIG_enverment).length; index++) {
const key = Object.keys(CONFIG_enverment)[index]
if (href.indexOf(key) != -1) {
isOfficial = true
const env_config = CONFIG_enverment[key]
CONFIG = Object.assign(CONFIG, env_config)
}
}
//如果是客户环境
if (!isOfficial && custom_config != undefined) {
CONFIG = Object.assign(CONFIG, custom_config)
}
}
handleEnvConfig()
3.在main.js中,判断是否为开发环境,如果是,则加载开发环境配置。
if (process.env.NODE_ENV === 'development') {
// CONFIG载入开发环境配置
CONFIG = Object.assign(CONFIG, config_dev)
}