#### # new ArcGISFeatureServer(options)

ArcGIS的FeatureServer服务

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` | Object |  | 构造参数
`url` | String | 无 | 服务基地址

### 继承关系

- BaseServer

### 成员变量

类型: Boolean

#### # clientId

客户端id

Inherited From:
  - BaseServer#clientId

类型: Boolean

#### # enableGlobeFetch

是否使用确据唯一的fetch对象，默认为true，当设为false时，会使用自己私有的fetch对象，所有的请求设置不会影响全局

Inherited From:
  - BaseServer#enableGlobeFetch

##### 示例

    //设置请求基地址
    // ES5引入方式
    const { BaseServer } = zondy.service
    // ES6引入方式
    import { BaseServer } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //请求基地址
      url: '你的URL',
      //使用私有的fetch对象
      enableGlobeFetch: false,
      //此时设置token等属性，不会影响全局的fetch对象
      tokenValue: '你的token'
    });
    //继续使用全局fetch
    BaseServer.enableGlobeFetch = true;

类型: String

#### # headers

请求头参数

Inherited From:
  - BaseServer#headers

##### 示例

    //设置请求头参数
    // ES5引入方式
    const { BaseServer } = zondy.service
    // ES6引入方式
    import { BaseServer } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //请求头
      headers: {
         //设置Content-Type为multipart/form-data
        'Content-Type': 'multipart/form-data',
         //设置token
        'token': '你的token'
      }
    });
    //动态修改
    BaseServer.headers.token = '新token';

类型: function

#### # requestInterceptor

请求发送拦截器

Inherited From:
  - BaseServer#requestInterceptor

##### 示例

    //设置拦截器，任何一个继承自BaseServer的对象都可以设置，全局唯一
    // ES5引入方式
    const { BaseServer,RequestInterceptor } = zondy.service
    // ES6引入方式
    import { BaseServer,RequestInterceptor } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //设置请求发送拦截器
      requestInterceptor: new RequestInterceptor({
        //请求发送前进行统一处理
        before: function(config) {
          //执行你的业务逻辑
          //注意必须显示返回config对象，如果返回为空，则不发送请求
          return config;
        },
        //请求发送失败时进行统一处理
        failure: function(error) {
          //执行你的业务逻辑
        }
      })
    });
    //动态修改
    BaseServer.requestInterceptor.before = function() {};

类型: String

#### # requestTimeout

请求超时时间，默认45000ms，即45s

Inherited From:
  - BaseServer#requestTimeout

##### 示例

    //设置超时时间
    //初始化AddressServer服务对象
    // ES5引入方式
    const { BaseServer } = zondy.service
    // ES6引入方式
    import { BaseServer } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //超时时间
      requestTimeout: 2000
    });
    //动态修改
    BaseServer.requestTimeout = 3000;

类型: function

#### # responseInterceptor

请求响应拦截器

Inherited From:
  - BaseServer#responseInterceptor

##### 示例

    //设置拦截器，任何一个继承自BaseServer的对象都可以设置，全局唯一
    // ES5引入方式
    const { BaseServer,ResponseInterceptor } = zondy.service
    // ES6引入方式
    import { BaseServer,ResponseInterceptor } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //设置请求响应拦截器
      responseInterceptor: new ResponseInterceptor({
        //执行请求响应，接口调用成功时会执行的回调
        success: function(result) {
          //执行你的业务逻辑
          //注意必须显示返回result对象，如果返回为空，则不执行请求响应成功回调
          return result;
        },
        //请求响应成功，接口调用失败时会执行的函数
        failure: function(result) {
          //执行你的业务逻辑
          //注意必须显示返回result对象，如果返回为空，则不执行回调韩式
          return result;
        }
      })
    });
    //动态修改
    BaseServer.responseInterceptor.success = function() {};

类型: TokenAttachType

#### # tokenAttachType

指定token附加到何处

Inherited From:
  - BaseServer#tokenAttachType

##### 示例

    //设置token值
    // ES5引入方式
    const { BaseServer } = zondy.service
    const { TokenAttachType } = zondy.enum
    // ES6引入方式
    import { BaseServer,TokenAttachType } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //token名
      tokenValue: '你的token值',
      //token值
      tokenValue: '你的token值',
      //指定token附加到url后面
      tokenAttachType: TokenAttachType.url
    });
    //动态修改
    BaseServer.tokenAttachType = TokenAttachType.header;

类型: String

#### # tokenKey

token名

Inherited From:
  - BaseServer#tokenKey

##### 示例

    //设置token名
    // ES5引入方式
    const { BaseServer } = zondy.service
    // ES6引入方式
    import { BaseServer } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //token名
      tokenKey: '你的tokenKey'
    });
    //动态修改
    BaseServer.tokenKey = '新tokenKey';

类型: String

#### # tokenValue

token值

Inherited From:
  - BaseServer#tokenValue

##### 示例

    //设置token值
    // ES5引入方式
    const { BaseServer } = zondy.service
    // ES6引入方式
    import { BaseServer } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //token值
      tokenValue: '你的token值'
    });
    //动态修改
    BaseServer.tokenValue = '新token值';

类型: String

#### # url

服务基地址

Inherited From:
  - BaseServer#url

##### 示例

    //设置请求基地址
    // ES5引入方式
    const { BaseServer } = zondy.service
    // ES6引入方式
    import { BaseServer } from "@mapgis/webclient-common"
    let BaseServer = new BaseServer({
      //请求基地址
      url: '你的URL'
    });
    //动态修改
    BaseServer.url = '新URL';

### 方法

#### # addFeatures(options)

添加要素

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`layerId` | String | 要添加要素的图层id，必填
`features` | Array | 要添加的要素，必填
`success` | function | 成功回调函数
`failure` | function | 失败回调函数
`gdbVersion` | String |
`rollbackOnFailure` | String |

#### # deleteFeatures(options)

指定图层删除要素

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`layerId` | String | 要添加要素的图层id，必填
`success` | function | 成功回调函数
`failure` | function | 失败回调函数
`objectIds` | String | 指定要删除的id，多个id以逗号分割
`where` | String | where查询
`geometry` | Object | 几何查询
`geometryType` | String | 几何查询类型
`inSR` | String | 几何查询坐标系
`spatialRel` | String | 几何查询关系
`gdbVersion` | String |
`rollbackOnFailure` | String |

#### # editFeatures(options)

编辑指定图层要素

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`layerId` | String | 要添加要素的图层id，必填
`features` | Array | 要添加的要素，必填
`success` | function | 成功回调函数
`failure` | function | 失败回调函数
`gdbVersion` | String |
`rollbackOnFailure` | String |
`adds` | String |
`updates` | String |
`deletes` | String |

#### # queryFeatureInfo(options)

查询指定要素

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`layerId` | String | 图层ID，必填
`featureId` | String | 要素ID，必填
`success` | function | 查询成功回调函数，若使用Promise方式则不必填写
`failure` | function | 查询失败回调函数，若使用Promise方式则不必填写

#### # queryFeatures(options)

要素服务文档查询

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`success` | function | 成功回调函数
`failure` | function | 失败回调函数
`layerDefs` | Array | 每个图层的查询条件
`geometries` | Object | 几何查询条件
`geometryType` | String | 几何类型
`inSR` | String | 几何查询的坐标系
`spatialRel` | String | 几何查询的相交关系
`time` | Number | 几何查询的相交关系
`outSR` | String | 返回的数据的坐标系
`gdbVersion` | String |
`returnGeometry` | Boolean | 是否返回几何
`maxAllowableOffset` | Number |
`returnIdsOnly` | Boolean | 是否仅返回要素id
`returnCountOnly` | Boolean | 是否仅返回要素数量
`returnZ` | Boolean | 返回几何是否包含z值
`returnM` | Boolean | 返回几何是否包含m值
`geometryPrecision` | Number | 返回几何的小数点位数

#### # queryFeaturesInLayers(options)

要素服务图层查询

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` |  |  | 查询参数
`layerId` | String |  | 图层ID，必填
`success` | function |  | 查询成功回调函数，若使用Promise方式则不必填写
`failure` | function |  | 查询失败回调函数，若使用Promise方式则不必填写
`where` | String |  | where查询条件，类似sql语句
`geometry` | Geometry |  | 要素查询几何条件
`distance` | Number | 0 | 几何缓冲的距离，geometry为point、line时有效
`geometryPrecision` | Number |  | 返回要素几何信息中坐标xy的精度
`spatialRel` | SpatialRelation |  | 几何条件的空间判定规则
`outFields` | String |  | 输出属性字段，可为*表示所有，多个用英文逗号分隔
`objectIds` | String |  | 过滤id
`orderByFields` | String |  | 排序字段,格式: fieldName [ASC|DESC]
`groupByFieldsForStatistics` | String | Array.<Object> |  | 分组统计的字段信息
`resultRecordCount` | Number |  | 查询要素的最大返回数目
`resultOffset` | Number |  | 分页参数：跳过条数
`outStatistics` | Array |  | 计算一个或多个基于字段的统计信息结构
`returnGeometry` | Boolean |  | 是否返回几何
`returnAttribute` | Boolean |  | 是否返回属性
`returnIdsOnly` | Boolean |  | 是否只返回id
`returnCountOnly` | Boolean |  | 是否只返回条数
`returnExtentOnl` | Boolean |  | 是否只返回范围
`returnZ` | Boolean |  | 是否返回Z值
`returnM` | Boolean |  | 是否返回M值

#### # queryLayerInfo(options)

查询指定图层信息

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`layerId` | String | 图层ID，必填
`success` | function | 查询成功回调函数，若使用Promise方式则不必填写
`failure` | function | 查询失败回调函数，若使用Promise方式则不必填写

#### # queryServerInfo(options)

获取服务信息，IGS2.0新增服务

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` |  |  | 查询参数
`success` | function | 无 | 查询成功回调函数，若使用Promise方式则不必填写
`failure` | function | 无 | 查询失败回调函数，若使用Promise方式则不必填写

Inherited From:
  - BaseServer#queryServerInfo

##### 示例

##### 获取服务信息-回调方式

    server.queryServerInfo({
      success: function (result) {
        console.log('请求成功：', result);
      },
      failure: function (result) {
        console.log('请求失败：', result);
      }
    });

##### 获取服务信息-promise方式

    server.queryServerInfo({
    })
    .then(function (result) {
      console.log('请求成功：', result);
    }).catch(function (result) {
      console.log('请求失败：', result);
    });

#### # simplifyGeometry(options)

化简几何，后端接口/igs/rest/services/system/arcgis/GeometryServer/simplify

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`geometries` | Object | 要化简的几何对象，必填
`sr` | String | 几何对象的坐标系，必填
`success` | function | 查询成功回调函数，若使用Promise方式则不必填写
`failure` | function | 查询失败回调函数，若使用Promise方式则不必填写

#### # updateFeatures(options)

指定图层更新要素

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`options` |  | 查询参数
`layerId` | String | 要添加要素的图层id，必填
`features` | Array | 要添加的要素，必填
`success` | function | 成功回调函数
`failure` | function | 失败回调函数
`gdbVersion` | String |
`rollbackOnFailure` | String |