service/Igserver/MRCS/CatalogSystemInfo.js Source
import { CatalogService } from './CatalogService';
import { IgsServiceBase } from '../../baseserver/IServiceBase';

/**
 * @author 基础平台/产品2部 龚跃健
 * @class module:目录服务.SystomInfo
 * @classdesc 瓦片图层类
 * @description Zondy.Catalog.SystomInfo
 * @extends  Zondy.Catalog.CatalogService
 * @param option - {Object} 属性键值对。<br>
 * @param {String} [option.f=json] 回结果的格式,缺省xml(json / xml),base64_geometry:返回单个三维几何信息的流,并转为base64
 * @param {String} [option.guid=newGuid()] 唯一id,可缺省
 * @param {Number} [option.page=0] 返回的要素分页的页数,默认返回第0页
 * @param {Number} [option.pageCount=20] 要素结果集每页的记录数量,默认为20条/页
 * @param {String} [option.systemLib=null] 系统库名称或者guid
 * @param {String} [option.type=null] 类型SymbolGeomType(GeomEnt3D,GeomLin,GeomPnt,GeomReg,GeomSur3D,Unknown)
 */
class SystomInfo extends CatalogService {
    constructor(option) {
        var options = option || {};
        super(options);
        /**
         * @private
         * @member Zondy.Catalog.SystomInfo.prototype.f
         * @type {String}
         * @description 回结果的格式,缺省xml(json / xml),base64_geometry:返回单个三维几何信息的流,并转为base64
         * @default json
         */
        this.f = options.f || 'json';

        /**
         * @private
         * @member  Zondy.Catalog.SystomInfo.prototype.page
         * @type {Number}
         * @description 返回的要素分页的页数,默认返回第0页
         * @default 0
         */
        this.page = options.page || 0;

        /**
         * @private
         * @member  Zondy.Catalog.SystomInfo.prototype.pageCount
         * @type {Number}
         * @description 要素结果集每页的记录数量,默认为20条/页
         * @default 20
         */
        this.pageCount = options.pageCount || 20;

        /**
         * @private
         * @member Zondy.Catalog.SystomInfo.prototype.systemLib
         * @type {String}
         * @description 系统库guid或者名称
         * @default null
         */
        this.systemLib = options.systemLib || null;

        /**
         * @private
         * @member Zondy.Catalog.SystomInfo.prototype.type
         * @type {String}
         * @description 类型SymbolGeomType(GeomEnt3D,GeomLin,GeomPnt,GeomReg,GeomSur3D,Unknown)
         * @default null
         */
        this.type = options.type || null;
    }

    /**
     * @function Zondy.Catalog.SystomInfo.prototype.GetSystemLibrary
     * @description 获取系统库列表
     * @param option - {Object} 属性键值对。<br>
     * @param {String} [option.f=json] 回结果的格式,缺省xml(json / xml),base64_geometry:返回单个三维几何信息的流,并转为base64
     * @constructor
     * @example
     * var systomInfo = new Zondy.Catalog.SystomInfo({
                ip: "192.168.176.40",
                port: "6163"
            });
     systomInfo.GetSystemLibrary(function(res){
                console.log('GetSystemLibrary');
                console.log(res)
            },false,false,function (error) {
                console.log(error)
            },false);
     */
    GetSystemLibrary(onSuccess, onError) {
        var me = this;
        me.partUrl = 'systemlibraries?f=' + me.f;
        var url = me.getFullUrl();
        var service = new IgsServiceBase(url, {
            eventListeners: {
                scope: me,
                processCompleted: onSuccess,
                processFailed: onError
            }
        });
        service.processAsync();
    }

    /**
     * @function Zondy.Catalog.SystomInfo.prototype.GetSystemLibrary
     * @description 获取符号
     * @param option - {Object} 属性键值对。<br>
     * @param {String} [option.systemLib=null]【必选】系统库名称或者guid
     * @param {String} [option.type=null]【必选】类型SymbolGeomType(GeomEnt3D,GeomLin,GeomPnt,GeomReg,GeomSur3D,Unknown)
     * @param {String} [option.f=json] 回结果的格式,缺省xml(json / xml),base64_geometry:返回单个三维几何信息的流,并转为base64
     * @param {String} [option.guid=newGuid()] 唯一id,可缺省
     * @param {Number} [option.page=0] 返回的要素分页的页数,默认返回第0页
     * @param {Number} [option.pageCount=20] 要素结果集每页的记录数量,默认为20条/页
     * @example
     * var systomInfo = new Zondy.Catalog.SystomInfo({
                ip: "192.168.176.40",
                port: "6163",
                systemLib:"eaeed6b9-b978-4cba-92df-70aad998da5d",
                type:"GeomReg"
            });
     systomInfo.GetSymbol(function(res){
                console.log('GetSymbol');
                console.log(res)
            },false,false,function (error) {
                console.log(error)
            },false);
     */
    GetSymbol(onSuccess, onError) {
        var me = this;
        var str = 'symbols?&systemLib=' + me.systemLib + '&type=' + me.type;
        if (me.f) {
            str += '&f=' + me.f;
        }
        if (me.page) {
            str += '&page=' + me.page;
        }
        if (me.size) {
            str += '&size=' + me.pageCount;
        }
        me.partUrl = str;
        var url = me.getFullUrl();
        var service = new IgsServiceBase(url, {
            eventListeners: {
                scope: me,
                processCompleted: onSuccess,
                processFailed: onError
            }
        });
        service.processAsync();
    }
}

export { SystomInfo };
Zondy.Catalog.SystomInfo = SystomInfo;