类名 common/service/igs/M3DServer.js
import BaseServer from '../BaseServer'
import { Zondy } from '../../base'

/**
 * M3d服务,服务地址:/igs/rest/services/{folder}/{serviceName}/M3dServer
 * @class M3DServer
 * @moduleEx ServiceModule
 * @extends BaseServer
 * @param {Object} options 构造参数
 * @param {String} [options.url = 无] 服务基地址
 * @example
 * //初始化M3DServer服务对象
 * // ES5引入方式
 * const { M3DServer } = Zondy.Service
 * // ES6引入方式
 * import { M3DServer } from "@mapgis/webclient-common"
 *     const m3dServer = new M3DServer({
 *       //服务基地址
 *       url: 'http://192.168.82.89:8089/igs/rest/services/M3Dv2/武汉建筑轮廓白模/M3dServer'
 *     })
 */
class M3DServer extends BaseServer {
  constructor(options) {
    super(options)
  }

  /**
   * @function M3DServer.prototype.queryRootNodeInfo
   * @description 获取M3d根节点信息 后端接口:/igs/rest/services/{serviceName}/M3dServer/nodes/root
   * @param options 查询参数
   * @param {String} [options.method = FetchMethod.get ] 请求类型
   * @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
   * @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
   * @param {String} [options.include = 无] 返回节点信息包括的类型,默认为空,等于descendants时返回节点信息包括节点的子孙后代
   * @param {Number} [options.maxDepth = 1] 节点最大深度
   * @param {Number} [options.maxCount = 1000] 节点最大个数
   * @returns {Promise<Object>}
   * @example
   * //回调方式
   * m3dServer.queryRootNodeInfo({
   *         maxCount:1100,
   *         success: function (result) {
   *           console.log('请求成功:', result)
   *         }
   *       })
   * //promise方式
   * m3dServer.queryRootNodeInfo({
   *  maxCount:1100,
   * }).then(function (result) {
   *   console.log('请求成功:', result);
   * }).catch(function (result) {
   *   console.log('请求失败:', result);
   * });
   */
  queryRootNodeInfo(options) {
    // 设置PATH PARAMETERS校验
    const checkPathOpts = {}
    // 设置QUERY PARAMETERS校验
    const checkQueryOpts = {
      include: {
        type: 'String'
      },
      maxDepth: {
        type: 'Number'
      },
      maxCount: {
        type: 'Number'
      }
    }
    // 调用基类的查询信息方法
    return this._queryByParameters(
      options,
      checkPathOpts,
      checkQueryOpts,
      // 拼装返回基地址
      function (url) {
        return `${url}/nodes/root?f=json`
      }
    )
  }

  /**
   * @function M3DServer.prototype.queryRootInfo
   * @description 获取M3d节点信息,后端接口:/igs/rest/services/{serviceName}/M3dServer/nodes/{nodeId}
   * @param options 查询参数
   * @param {String} [options.nodeId = 无] 节点Id,必传
   * @param {String} [options.method = FetchMethod.get ] 请求类型
   * @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
   * @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
   * @param {String} [options.include = 无] 返回节点信息包括的类型,默认为空,等于descendants时返回节点信息包括节点的子孙后代
   * @param {Number} [options.maxDepth = 1] 节点最大深度
   * @param {Number} [options.maxCount = 1000] 节点最大个数
   * @returns {Promise<Object>}
   * @example
   * //回调方式
   * m3dServer.queryNodeInfo({
   *         nodeId: '1',
   *         maxCount:2,
   *         success: function (result) {
   *           console.log('请求成功:', result)
   *         }
   *       })
   * //promise方式
   * m3dServer.queryNodeInfo({
   *         nodeId: '1',
   *         maxCount:2,
   * }).then(function (result) {
   *   console.log('请求成功:', result);
   * }).catch(function (result) {
   *   console.log('请求失败:', result);
   * });
   */
  queryNodeInfo(options) {
    // 设置PATH PARAMETERS校验
    const checkPathOpts = {
      nodeId: {
        type: 'String'
      }
    }

    // 设置QUERY PARAMETERS校验
    const checkQueryOpts = {
      include: {
        type: 'String'
      },
      maxDepth: {
        type: 'Number'
      },
      maxCount: {
        type: 'Number'
      }
    }

    // 调用基类的查询信息方法
    return this._queryByParameters(
      options,
      checkPathOpts,
      checkQueryOpts,
      // 拼装返回基地址
      function (url, options) {
        return `${url}/nodes/${options.nodeId}?f=json`
      }
    )
  }

  /**
   * @function M3DServer.prototype.getSharedResources
   * @description 获取M3d公共服务资源,后端接口:/igs/rest/services/{serviceName}/M3dServer/sharedResources
   * @param options 查询参数
   * @param {String} [options.method = FetchMethod.get ] 请求类型
   * @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
   * @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
   * @returns {Promise<Object>}
   * @example
   * //回调方式
   * m3dServer.getSharedResources({
   *         success: function (result) {
   *           console.log('请求成功:', result)
   *         }
   *       })
   * //promise方式
   * m3dServer.getSharedResources({
   * }).then(function (result) {
   *   console.log('请求成功:', result);
   * }).catch(function (result) {
   *   console.log('请求失败:', result);
   * });
   */
  getSharedResources(options) {
    // 设置PATH PARAMETERS校验
    const checkPathOpts = {}
    // 设置QUERY PARAMETERS校验
    const checkQueryOpts = {}
    // 调用基类的查询信息方法
    return this._queryByParameters(
      options,
      checkPathOpts,
      checkQueryOpts,
      // 拼装返回基地址
      function (url) {
        return `${url}/sharedResources?f=json`
      }
    )
  }
}

Zondy.Service.M3DServer = M3DServer
export default M3DServer
构造函数
成员变量
方法
事件