开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 50

wolfbruce/MapGIS-WebClient-JavaScript

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (40)
标签 (9)
master
10.6.0.10
dev
10.6.0
yangkun
webclient_plot
10.5.6
yangkun_tiedi
yangkun_plot
10.5.5
master_fixbug
lzt_dev
dependabot/npm_and_yarn/website/follow-redirects-1.14.8
dependabot/npm_and_yarn/website/node-sass-7.0.0
dependabot/npm_and_yarn/website/postcss-7.0.39
cesium_1_84
ljy
yangkun_12_9
yangkun_12_3
mapvToMaster
10.6.0.10
10.5.6.10
10.5.5.14
10.5.5.13
onemap_10.5.4.10
v10.5.5.10
ceping
v10.5.4.10
10.5.3.10
master
分支 (40)
标签 (9)
master
10.6.0.10
dev
10.6.0
yangkun
webclient_plot
10.5.6
yangkun_tiedi
yangkun_plot
10.5.5
master_fixbug
lzt_dev
dependabot/npm_and_yarn/website/follow-redirects-1.14.8
dependabot/npm_and_yarn/website/node-sass-7.0.0
dependabot/npm_and_yarn/website/postcss-7.0.39
cesium_1_84
ljy
yangkun_12_9
yangkun_12_3
mapvToMaster
10.6.0.10
10.5.6.10
10.5.5.14
10.5.5.13
onemap_10.5.4.10
v10.5.5.10
ceping
v10.5.4.10
10.5.3.10
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (40)
标签 (9)
master
10.6.0.10
dev
10.6.0
yangkun
webclient_plot
10.5.6
yangkun_tiedi
yangkun_plot
10.5.5
master_fixbug
lzt_dev
dependabot/npm_and_yarn/website/follow-redirects-1.14.8
dependabot/npm_and_yarn/website/node-sass-7.0.0
dependabot/npm_and_yarn/website/postcss-7.0.39
cesium_1_84
ljy
yangkun_12_9
yangkun_12_3
mapvToMaster
10.6.0.10
10.5.6.10
10.5.5.14
10.5.5.13
onemap_10.5.4.10
v10.5.5.10
ceping
v10.5.4.10
10.5.3.10
QueryServiceBase.js 5.80 KB
一键复制 编辑 原始数据 按行查看 历史
import { Zondy } from '../../common/Base';
import { extend } from '../../common/Util';
import { copyExcluce } from '../../common/Util';
import { ServiceBase } from '../../ServiceBase';
import { FeatureSet } from '../../common/FeatureSet';
import { QueryParameter } from './QueryParameter';
import { IgsServiceBase } from '../../baseserver/IServiceBase';
/**
* @author 基础平台/研究院 陈琪
* @class module:要素服务.QueryServiceBase
* @classdesc 查询服务基类
* @description Zondy.Service.QueryServiceBase
* @extends ServiceBase
* @param option - {Object} 属性键值对。
* @param {Object} [option.resultCallBack =null] 返回结果回调
* @param {Zondy.Object.QueryByLayerParameter} [option.queryParam = null] 查询参数信息
* @param {String} [option.requestType = GET] 请求方式{string} GET|POST
*/
class QueryServiceBase extends ServiceBase {
constructor(option) {
var options = option || {};
options.baseUrl = 'igs/rest/mrfs';
super(options);
/**
* @private
* @member Zondy.Service.QueryServiceBase.prototype.resultCallBack
* @type {Object}
* @description 返回结果回调
*/
this.resultCallBack = options.resultCallBack !== undefined ? options.resultCallBack : null;
/**
* @private
* @member Zondy.Service.QueryServiceBase.prototype.queryParam
* @type {Zondy.Object.QueryByLayerParameter}
* @description 查询参数信息
*/
this.queryParam = options.queryParam !== undefined ? options.queryParam : null;
/**
* @private
* @member Zondy.Service.QueryServiceBase.prototype.queryParam
* @type {String}
* @description 请求方式 GET|POST
*/
this.requestType = options.requestType !== undefined ? options.requestType : 'GET';
}
/**
* @description 处理查询结果,并调用用户回调将结果返回给用户
* @function Zondy.Service.QueryServiceBase.prototype.processResult
* @param jsonObj - {Object} 参数json对象。
*/
processResult(jsonObj) {
var rltObj = new FeatureSet();
copyExcluce(rltObj, jsonObj, 'succeed');
this.resultCallBack(rltObj);
}
/**
* @description 处理json对象的结果
* @function Zondy.Service.QueryServiceBase.prototype.processGeoJsonResult
* @param jsonObj - {Object} 参数json对象。
*/
processGeoJsonResult(jsonObj) {
var rltObj = {};
copyExcluce(rltObj, jsonObj, 'succeed');
this.resultCallBack(rltObj);
}
/**
* @description 开始查询
* @function Zondy.Service.QueryServiceBase.prototype.restQuery
* @param restUrl - {String} 查询路径。
* @param dataObject - {Object} 数据对象。<br>
* @param onSuccess - {Function} 查询成功回调函数。<br>
* @param way - {String} 请求方式 GET|POST<br>
* @param onError - {Function} 查询失败回调函数。<br>
* @param resultFormat - {String} 结果返回格式。
*/
restQuery(restUrl, dataObject, onSuccess, way, onError, resultFormat) {
var me = this;
me.resultCallBack = onSuccess;
var service = new IgsServiceBase(restUrl, {
eventListeners: {
scope: me,
processCompleted: resultFormat !== 'geojson' ? me.processResult : me.processGeoJsonResult,
processFailed: onError
}
});
if (way === 'GET') {
service.processAsync();
} else {
service.processAsync({
method: 'POST',
data: JSON.stringify(dataObject),
headers: { 'Content-Type': 'text/plain;charset=UTF-8' }
});
}
}
/**
* @description 执行查询
* @function Zondy.Service.QueryServiceBase.prototype.query
* @param onSuccess - {Function} 查询成功回调函数。
* @param onError - {Function} 查询失败回调函数。
* @param requestType - {Boolean} 请求类型,根据Boolean判断走GET还是POST请求。
*/
query(onSuccess, onError, requestType) {
if (this.queryParam === null) {
return;
}
var fullRestUrl = '';
if (this.queryParam instanceof QueryParameter) {
fullRestUrl = this.getFullUrl();
} else {
return;
}
var way = '';
var dataObject = null;
if (!requestType) {
if (!this.requestType) {
way = 'GET';
} else {
way = this.requestType;
}
} else {
way = requestType;
}
if (way.toUpperCase() === 'GET') {
fullRestUrl += encodeURI('?' + this.queryParam.getParameterURL());
// @date 20181022 邬俊惠 必须encodeURI,避免url中出现特殊字符导致请求出错
// @date 20200925 潘卓然 这里由于原来的 fullRestUrl = this.getFullUrl(); 是encode的,
// 导致上面的this.queryParam.getParameterURL()这部分没有编码,因此原来是在后面加了下面一行来确保编码
// 但是由于.NET能够处理2次encode的问题,JAVA不能处理所以统一换成了1次encode,后面不需要放开这段代码
// fullRestUrl = encodeURI(fullRestUrl);
} else {
// dataObject = encodeURI(this.queryParam.getParameterObject());
// @date 20201126 潘卓然 encodeURI移动到restQuery中处理,实际情况按照具体的NET/Java版本分析
dataObject = this.queryParam.getParameterObject();
}
this.restQuery(fullRestUrl, dataObject, onSuccess, way, onError, this.queryParam.resultFormat.toLowerCase());
}
}
export { QueryServiceBase };
Zondy.Service.QueryServiceBase = QueryServiceBase;
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

MapGIS Client for JavaScript:为云GIS网络客户端开发平台,将传统WebGIS与云GIS完美融合, 集成Cesium、MapboXGL,、Leaflet、OpenLayers四大主流地图开源框架和Echarts、MapV、D3等可视化库,进一步增强了大数据、实时流数据的高效可视化表达和分析功能。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/wolfbruce/WebClient-JavaScript.git
git@gitee.com:wolfbruce/WebClient-JavaScript.git
wolfbruce
WebClient-JavaScript
MapGIS-WebClient-JavaScript
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /