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

/**
 * IGS的WMTS服务
 * @class WMTSServer
 * @moduleEx ServiceModule
 * @extends BaseServer
 * @param {Object} options 构造参数
 * @param {String} [options.url = 无] 服务基地址
 * @example
 * // ES5引入方式
const { WMTSServer } = Zondy.Service
// ES6引入方式
import { WMTSServer } from "@mapgis/webclient-common"
 * const WMTSServer = new WMTSServer({
 *   url: 'http://192.168.82.89:8089/igs/rest/services/Map/Hubei4326/WMTSServer',
 *   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;
 *     }
 *   }
 * });
 */
class WMTSServer extends BaseServer {
  constructor(options) {
    super(options)
  }

  /**
   * 获取服务元信息
   * @param options 查询参数
   * @param {Function} [options.success] 查询成功回调函数,若使用Promise方式则不必填写
   * @param {Function} [options.failure] 查询失败回调函数,若使用Promise方式则不必填写
   * @example
   * // 回调方式
   * WMTSServer.getCapabitities({
   *   success: function (result) {
   *     console.log('请求成功:', result);
   *   },
   *   failure: function (result) {
   *     console.log('请求失败:', result);
   *   }
   * });
   * // promise方式
   * WMTSServer.getCapabitities().then(function (result) {
   *   console.log('请求成功:', result);
   * }).catch(function (result) {
   *   console.log('请求失败:', result);
   * })
   */
  getCapabitities(options) {
    // 调用基类的查询信息方法
    const self = this
    return this._querySimpleInfo(options, function (url) {
      // 拼装返回基地址
      // igs1.0的wmts服务链接
      if (
        self.url.indexOf('igs/rest/ogc') > -1 &&
        self.url.indexOf('WMTSServer') > -1
      ) {
        return `${url}/1.0.0/WMTSCapabilities.xml`
      }
      return `${url}?request=GetCapabilities&service=WMTS&acceptversions=1.0.0`
    })
  }
}

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