# MapGIS Client for JavaScript API

Cesium MapboxGL Leaflet OpenLayers
API文档

#### # new Config(options)

全局配置信息
示例如下：
[1、设置全局token]
[2、设置全局headers]
[3、设置拦截器 - 在所有链接上设置拦截器]
[4、设置拦截器 - 指定拦截器应用的url]

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` | Object |  | 构造参数
`tokenKey` | String | 'token' | 设置全局token名，设置后，所有由基础库和插件库发出的请求链接都会带有该token
`tokenValue` | String | null | token值
`headers` | Object | {} | 请求头信息，设置后，所有由基础库发出的链接都会带有该请求头
`request` | RequestConfig | {} | 请求配置参数

查看源代码 common/service/Config.js, line 2

##### 示例

##### 设置全局token

    // ES5引入方式
    const { Config } = Zondy.Service
    // ES6引入方式
    import { Config } from "@mapgis/webclient-common
    // 设置token名，如果不设置就默认维token
    Config.tokenKey = '新token名'
    // 设置token值，设置完毕后，所有由基础库和插件库发出的请求链接都会带有该token
    Config.tokenValue = '新token值'

##### 设置全局headers

    // ES5引入方式
    const { Config } = Zondy.Service
    // ES6引入方式
    import { Config } from "@mapgis/webclient-common
    // 设置请求头，设置后，所有由基础库发出的链接都会带有该请求头
    Config.headers = {
      'Authorization': 'XXXXXXX'
    }

##### 设置拦截器 - 在所有链接上设置拦截器

    // ES5引入方式
    const { Config } = Zondy.Service
    // ES6引入方式
    import { Config } from "@mapgis/webclient-common
    // 当urls为''或undefined或者空数组时，设置的拦截器会应用到所有发送的请求上
    Config.request.interceptors.push({
      // 确保urls为''或undefined或者空数组
      urls: [],
      // 设置请求发送前的拦截函数
      before: function (url) {
        // 做你的业务
        // 注意如果要影响请求链接，则要返回url
        return url
      },
      // 设置请求完成后的拦截函数
      after: function (response) {
        console.log("response:", response)
      }
    })

##### 设置拦截器 - 指定拦截器应用的url

    // ES5引入方式
    const { Config } = Zondy.Service
    // ES6引入方式
    import { Config } from "@mapgis/webclient-common
    // 指定要拦截的url
    Config.request.interceptors.push({
      // 指定要拦截的url，可以指定一个或多个
      // 指定一个url
      // urls: url1,
      // 指定多个url
      urls: ['url1', 'url2'],
      // 设置请求发送前的拦截函数
      before: function (url) {
        // 做你的业务
        // 注意如果要影响请求链接，则要返回url
        return url
      },
      // 设置请求完成后的拦截函数
      after: function (response) {
        console.log("response:", response)
      }
    },{
      // 指定要拦截的url，可以指定一个或多个
      // 指定一个url
      // urls: url3,
      // 指定多个url
      urls: ['url3', 'url4'],
      // 设置请求发送前的拦截函数
      before: function (url) {
        // 做你的业务
        // 注意如果要影响请求链接，则要返回url
        return url
      },
      // 设置请求完成后的拦截函数
      after: function (response) {
        console.log("response:", response)
      }
    })

构造函数
成员变量
方法
事件