new WFSServer(options)
WFS 服务封装,提供元信息查询与要素查询能力。
| Name | Type | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
构造参数
|
Example
// ES5引入方式
const { WFSServer } = zondy.service
// ES6引入方式
import { WFSServer } from "@mapgis/webclient-common"
WFSServer = new WFSServer({
url: 'http://localhost:8089/igs/rest/services/%E5%8A%A8%E6%80%81%E8%A3%81%E5%9B%BE_WFS/WFSServer',
requestInterceptor: {
before: function (config) {
return config;
},
failure: function (error) {
console.log("请求发送失败(拦截器):", error)
}
},
responseInterceptor: {
success: function (result) {
console.log("请求成功拦截响应")
return result;
},
failure: function (result) {
console.log("请求失败拦截响应")
return result;
}
}
});
Extends
Members
-
clientIdString undefined
-
客户端标识
-
enableGlobeFetchBoolean
-
是否使用确据唯一的fetch对象,默认为true,当设为false时,会使用自己私有的fetch对象,所有的请求设置不会影响全局
Example
//设置请求基地址 // 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; -
headersString
-
请求头参数
Example
//设置请求头参数 // 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'; -
requestInterceptorfunction
-
请求发送拦截器
Example
//设置拦截器,任何一个继承自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() {}; -
requestTimeoutString
-
请求超时时间,默认45000ms,即45s
Example
//设置超时时间 //初始化AddressServer服务对象 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //超时时间 requestTimeout: 2000 }); //动态修改 BaseServer.requestTimeout = 3000; -
responseInterceptorfunction
-
请求响应拦截器
Example
//设置拦截器,任何一个继承自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() {}; -
tokenAttachTypeTokenAttachType
-
指定token附加到何处
Example
//设置token值 // ES5引入方式 const { BaseServer } = zondy.service const { TokenAttachType } = zondy.enum // ES6引入方式 import { BaseServer,TokenAttachType } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //token名 tokenKey: '你的token key', //token值 tokenValue: '你的token值', //指定token附加到url后面 tokenAttachType: TokenAttachType.url }); //动态修改 BaseServer.tokenAttachType = TokenAttachType.header; -
tokenKeyString
-
token名
Example
//设置token名 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //token名 tokenKey: '你的tokenKey' }); //动态修改 BaseServer.tokenKey = '新tokenKey'; -
tokenValueString
-
token值
Example
//设置token值 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //token值 tokenValue: '你的token值' }); //动态修改 BaseServer.tokenValue = '新token值'; -
urlString
-
服务基地址
Example
//设置请求基地址 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //请求基地址 url: '你的URL' }); //动态修改 BaseServer.url = '新URL'; -
versionString
-
WFS服务版本号,不同版本号的影响详见:https://shimo.im/sheets/gO3od50r85SlbEqD/snHIV
Methods
-
getCapabitities(options)
service/igs/ogc/WFSServer.js, line 92 -
获取服务元信息
Name Type Description options查询参数
Name Type Description successfunction 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 可选 查询失败回调函数,若使用Promise方式则不必填写
Example
// 回调方式 WFSServer.getCapabitities({ success: function (result) { console.log('请求成功:', result); }, failure: function (result) { console.log('请求失败:', result); } }); // promise方式 WFSServer.getCapabitities().then(function (result) { console.log('请求成功:', result); }).catch(function (result) { console.log('请求失败:', result); }) -
queryFeatures(options, parseResultoptions){Promise.<QueryFeaturesResult>}
service/igs/ogc/WFSServer.js, line 125 -
要素查询
Name Type Description optionsQueryFeaturesOptions 指定图层要素查询参数
Name Type Description maxfeaturesNumber 可选 最大要素数量。拟废弃,建议使用QueryFeaturesOptions中resultRecordCount参数。
typenameString 可选 图层名称。拟废弃,建议使用QueryFeaturesOptions中layerId参数。
srsNameString 可选 指定返回几何的坐标系,例如'EPSG:4326'。拟废弃,建议使用QueryFeaturesOptions中outSrs参数。
successfunction 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 可选 查询失败回调函数,若使用Promise方式则不必填写
parseResultoptionsObject 可选 可选,解析结果需要的参数
Name Type Description spatialReferenceObject 可选 可选,WFS服务元数据的参考系
corporationTypeString 可选 可选,WFS服务元的公司类型
isReverseXYBoolean 可选 可选,外部设置(例如WFS图层中设置)的是否反转经纬度参数
Returns:
Type Description Promise.<QueryFeaturesResult> 指定图层要素查询结果 -
inherited queryServerInfo(options){Promise.<Object>}
service/BaseServer.js, line 140 -
获取服务信息,IGS2.0新增服务
Name Type Default Description optionsObject {} 可选 查询参数
Name Type Default Description successfunction 无 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 无 可选 查询失败回调函数,若使用Promise方式则不必填写
Returns:
Type Description Promise.<Object> 服务信息查询结果 Examples
获取服务信息-回调方式
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); });