import BaseServer from '../BaseServer'
import { Zondy } from '../../base'
/**
* 根目录服务
* @class RootServer
* @moduleEx ServiceModule
* @extends BaseServer
* @param {Object} options 构造参数
* @param {String} [options.url = 无] 服务基地址
* @example
* // ES5引入方式
* const { RootServer } = Zondy.Service
* // ES6引入方式
* import { RootServer } from "@mapgis/webclient-common"
* //初始化RootServer服务对象
* const rootServer = new RootServer({
* //服务基地址
* url: 'http://192.168.82.89:8089/igs/rest/services'
* })
*/
class RootServer extends BaseServer {
constructor(options) {
super(options)
}
/**
* @function RootServer.prototype.queryRootServiceList
* @description 查询根文件夹下的服务列表,后端接口为/igs/rest/services
* @param options 查询参数
* @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
* @param {String} [options.name = 无] 服务名关键字
* @param {String} [options.protocols = 无] 服务类型
* @return {Promise<Object>}
* @example
* //回调方式
* rootServer.queryRootServiceList({
* //成功回调函数
* success: function (result) {
* console.log('请求成功:', result);
* }
* });
* //promise方式
* rootServer.queryRootServiceList({
* }).then(function (result) {
* console.log('请求成功:', result);
* }).catch(function (result) {
* console.log('请求失败:', result);
* });
*/
queryRootServiceList(options) {
// 设置PATH PARAMETERS校验
const checkPathOpts = {}
// 设置QUERY PARRAMETERS校验
const checkQueryOpts = {
name: {
type: 'String'
},
protocols: {
type: 'String'
}
}
// 调用基类的查询信息方法
return this._queryByParameters(
options,
checkPathOpts,
checkQueryOpts,
// 拼装返回基地址
function (url) {
return `${url}?f=json`
}
)
}
/**
* @function RootServer.prototype.queryFolderServiceList
* @description 获取指定文件夹下的服务列表
* @param options 查询参数
* @param {Function} [options.success = 无] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure = 无] 查询失败回调函数,若使用Promise方式则不必填写
* @param {String} [options.folder = 无] 文件夹名称,必填
* @param {String} [options.name = 无] 服务名关键字
* @param {String} [options.protocols = 无] 服务类型
* @return {Promise<Object>}
* @example
* //回调方式
* rootServer.queryFolderServiceList({
* //设置folder文件夹名称
* floder:'Map'
* //成功回调函数
* success: function (result) {
* console.log('请求成功:', result);
* }
* });
* //promise方式
* rootServer.queryFolderServiceList({
* //设置folder文件夹名称
* floder:'Map'
* }).then(function (result) {
* console.log('请求成功:', result);
* }).catch(function (result) {
* console.log('请求失败:', result);
* });
*/
queryFolderServiceList(options) {
// 设置PATH PARAMETERS校验
const checkPathOpts = {
folder: 'String'
}
// 设置QUERY PARRAMETERS校验
const checkQueryOpts = {
name: {
type: 'String'
},
protocols: {
type: 'String'
}
}
// 调用基类的查询信息方法
return this._queryByParameters(
options,
checkPathOpts,
checkQueryOpts,
// 拼装返回基地址
function (url) {
return `${url}/${options.folder}?f=json`
}
)
}
}
Zondy.Service.RootServer = RootServer
export default RootServer