Class: M3DServer

M3DServer

new M3DServer(options)

service/igs/M3DServer.js, line 5

三维缓存服务。

M3DServer 用于访问 IGS 三维场景缓存服务,支持查询场景根节点、指定节点、公共资源 以及缓存中的要素数据。服务地址示例:/igs/rest/services/{folder}/{serviceName}/M3dServer

Name Type Default Description
options Object {} 可选

构造参数。

Name Type Default Description
url String null 可选

服务基地址。

clientId String 可选

客户端标识,会透传到请求参数。

Example
// ES5引入方式
const { M3DServer } = zondy.service

// ES6引入方式
import { M3DServer } from '@mapgis/webclient-common'

const m3dServer = new M3DServer({
  url: 'http://localhost:8089/igs/rest/services/M3Dv2/白模/M3dServer'
})

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';

Methods

getModelCache(){String}

service/igs/M3DServer.js, line 150

获取三维缓存访问地址。

返回值会在基础服务地址后拼接构造参数中的查询串(如 token)。

Returns:
Type Description
String 三维缓存访问地址。

getSharedResources(options){Promise.<Object>}

service/igs/M3DServer.js, line 122

查询三维服务公共资源。

返回三维服务共享资源信息,常用于客户端初始化材质、纹理或公共依赖配置。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 公共资源查询结果。

queryFeaturesInM3DCache(options){Promise.<Object>}

service/igs/M3DServer.js, line 170

查询三维缓存中的要素数据。

通常用于在指定图层集合中按条件检索缓存要素,支持分页参数。

Name Type Default Description
options Object {} 可选

要素查询参数。

Name Type Default Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

layerDefs Array.<Object> 可选

图层筛选条件数组。每项可包含 layerIdwhereoutFields

condition String 可选

全局过滤条件。

resultRecordCount Number 20 可选

分页返回条数。

resultOffset Number 可选

分页偏移量。

f String 'json' 可选

返回格式,支持 jsonhtml

Returns:
Type Description
Promise.<Object> 要素查询结果。

queryNodeInfo(options){Promise.<Object>}

service/igs/M3DServer.js, line 74

查询指定三维节点信息。

用于按节点 ID 读取单个节点详情,可结合 includemaxDepthmaxCount 控制返回规模。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Default Description
nodeId String

节点 ID。

success function 可选

请求成功回调。

failure function 可选

请求失败回调。

include String 可选

节点信息返回范围;为 descendants 时包含子孙节点。

maxDepth Number 1 可选

返回节点最大深度。

maxCount Number 1000 可选

返回节点最大数量。

Returns:
Type Description
Promise.<Object> 节点信息查询结果。

queryRootNodeInfo(options){Promise.<Object>}

service/igs/M3DServer.js, line 33

查询三维场景根节点信息。

该接口用于获取场景树的根节点及其子树摘要信息,常用于首次加载场景目录。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Default Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

include String 可选

节点信息返回范围;为 descendants 时包含子孙节点。

maxDepth Number 1 可选

返回节点最大深度。

maxCount Number 1000 可选

返回节点最大数量。

Returns:
Type Description
Promise.<Object> 根节点信息查询结果。

inherited queryServerInfo(options){Promise.<Object>}

service/BaseServer.js, line 140

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

Name Type Default Description
options Object {} 可选

查询参数

Name Type Default Description
success function 可选

查询成功回调函数,若使用Promise方式则不必填写

failure function 可选

查询失败回调函数,若使用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);
});