service/datastore/postgis/PostgisCatlogService.js Source
import { Zondy } from '../../common/Base';
import { DataStoreService } from '../ServiceBase';

/**
 * @author 创新中心-潘卓然
 * @class module:PostGIS.PostgisCatlogService
 * @param {PostgisQueryParameter} option 查询条件
 * @param {String} [option.path] 库名称
 * @param {String} [option.classify] 类别,地址库、时空库、数据集等
 * @param {String} [option.keyWords] 关键字
 * @example
 * let param = {
        networkProtocol: 'http',
        ip: '192.168.96.101',
        port: 9091,
        path: 'bigdata03',
        classify: '数据集',
        keyWords: 'big'
    };
    let catlog = new Zondy.DataStore.PostGIS.PostgisCatlogService(param);
 */
export class PostgisCatlogService extends DataStoreService {
    constructor(option) {
        super(option);

        /**
         * @member module:PostGIS.PostgisCatlogService.prototype.serviceUrl
         * @description 服务地址
         */
        this.serviceUrl = '/datastore/rest/catalog/pg/services/';
        /**
         * @member module:PostGIS.PostgisCatlogService.prototype.path
         * @description 库名称
         */
        this.path = option.path;
        /**
         * @member module:PostGIS.PostgisCatlogService.prototype.classify
         * @description 类别,地址库、时空库等
         * @enum datasets
         */
        this.classify = option.classify;
        /**
         * @member module:PostGIS.PostgisCatlogService.prototype.keyWords
         * @description 关键字
         */
        this.keyWords = option.keyWords;

        this.fixOption(option);
    }

    /**
     * @private 修正get/post需要的真正参数
     */
    fixOption(option) {
        this.option = {
            classify: option.classify,
            keyWords: option.keyWords,
            pageSize: option.pageSize,
            pageNo: option.pageNo
        };
    }

    /**
     * @description 查询函数,向服务器发送请求,返回地名地址格式数据
     * @function module:PostGIS.PostgisCatlogService.prototype.query
     * @param  {Function} onSuccess 查询成功回调函数。
     * @param {Function} onError 查询失败回调函数。
     */
    query(onSuccess, onError) {
        let { serviceUrl, path, option } = this;
        serviceUrl += path;
        let url = this.getFullUrl(serviceUrl, option);
        this.get(url, onSuccess, onError);
    }
}

export default PostgisCatlogService;
Zondy.DataStore.PostGIS.PostgisCatlogService = PostgisCatlogService;