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)
}

results matching ""

    No results matching ""