import BaseServer from '../BaseServer'
import { Zondy } from '../../base'
/**
* 3DTiles服务,基地址:/igs/rest/services/{folder}/{serviceName}/3DTilesServer
* @class Cesium3DTilesServer
* @moduleEx ServiceModule
* @extends BaseServer
* @param {Object} options 构造参数
* @param {String} [options.url = 无] 服务基地址
* @example
* //初始化Cesium3DTilesServer服务对象
* // ES5引入方式
* const { Cesium3DTilesServer } = Zondy.Service
* // ES6引入方式
* import { Cesium3DTilesServer } from "@mapgis/webclient-common"
* const cesium3DTilesServer = new Cesium3DTilesServer({
* //服务基地址
* url: 'http://192.168.88.12:8089/igs/rest/services/wh3dtiles/3DTilesServer'
* })
*/
class Cesium3DTilesServer extends BaseServer {
constructor(options) {
super(options)
}
/**
* @function Cesium3DTilesServer.prototype.getTileSetJSON
* @description 获取3DTiles服务的tileset.json数据,后端接口:/igs/rest/services/{serviceName}/3DTilesServer/tileset.json
* @param options 查询参数
* @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
* @returns {Promise<Object>}
* @example
* //回调方式
* cesium3DTilesServer.getTileSetJSON({
* success: function (result) {
* console.log('请求成功:', result)
* }
* })
* //promise方式
* cesium3DTilesServer.getTileSetJSON({
* }).then(function (result) {
* console.log('请求成功:', result);
* }).catch(function (result) {
* console.log('请求失败:', result);
* });
*/
getTileSetJSON(options) {
// 设置PATH PARAMETERS校验
const checkPathOpts = {}
// 设置QUERY PARAMETERS校验
const checkQueryOpts = {}
// 调用基类的查询信息方法
return this._queryByParameters(
options,
checkPathOpts,
checkQueryOpts,
// 拼装返回基地址
function (url) {
return `${url}/tileset.json`
}
)
}
}
Zondy.Service.Cesium3DTilesServer = Cesium3DTilesServer
export default Cesium3DTilesServer