Skip to content

Commit 7638e68

Browse files
author
caoxinke
committed
添加Portal基础类
1 parent 319d459 commit 7638e68

File tree

9 files changed

+617
-441
lines changed

9 files changed

+617
-441
lines changed

build/deps.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ var deps = {
77
// "iPortal":[],
88
"online": [
99
"./src/common/online/Online.js"
10+
],
11+
"iPortal": [
12+
"./src/common/iPortal/Portal.js",
1013
],
1114
"iServer": [
1215
//Data

dist/iclient9-openlayers.js

Lines changed: 424 additions & 424 deletions
Large diffs are not rendered by default.

src/common/Request.js

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
/**
2-
* Class:SuperMap.Request
3-
* 通用请求类
4-
*/
51
require('./Base');
6-
require('whatwg-fetch');
2+
require("whatwg-fetch");
73
var fetchJsonp = require('fetch-jsonp');
84

95
SuperMap.Request = SuperMap.Class({
@@ -12,31 +8,33 @@ SuperMap.Request = SuperMap.Class({
128
},
139

1410
get: function (url, params) {
15-
return this._processAsyn(this.parseUrl(url, params), 'GET');
11+
var type = 'GET';
12+
return this._processAsyn(this.parseUrl(url, params, type), type);
1613
},
1714

1815
delete: function (url, params) {
19-
return this._processAsyn(this.parseUrl(url, params), 'DELETE');
16+
var type = 'DELETE';
17+
return this._processAsyn(this.parseUrl(url, params, type), type);
2018
},
2119

2220
post: function (url, params) {
23-
return this._processAsyn(this.parseUrl(url), 'POST', params);
21+
var type = 'POST';
22+
return this._processAsyn(this.parseUrl(url, params, type), type, params);
2423
},
2524

2625
put: function (url, params) {
27-
return this._processAsyn(this.parseUrl(url), 'PUT', params);
26+
var type = 'PUT';
27+
return this._processAsyn(this.parseUrl(url, params, type), type, params);
2828
},
2929

30-
parseUrl: function (url, param) {
30+
parseUrl: function (url, params, type) {
3131
url = url + '.json';
32-
var separator = "";
3332
if (SuperMap.Credential.CREDENTIAL) {
34-
separator = "?";
35-
url += separator + SuperMap.Credential.CREDENTIAL.getUrlParameters();
33+
url += '?' + SuperMap.Credential.CREDENTIAL.getUrlParameters();
3634
}
37-
if (param) {
38-
separator = (separator === "") ? "?" : "&";
39-
url += separator + this._parseParamsToString(param);
35+
if (type !== 'POST' && type !== 'PUT' && params && this._parseParamsToString(params) !== '') {
36+
params = this.toJSON(params);
37+
url += '&' + this._parseParamsToString(params);
4038
}
4139
return url;
4240
},

src/common/iPortal/Portal.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
require('../Base');
2+
require('./Service');
3+
require('./ServicesDeleteParam');
4+
require('./ServicesQueryParam');
5+
6+
SuperMap.Portal = SuperMap.Class({
7+
8+
initialize: function (iportalUrl, token) {
9+
this.iportalUrl = iportalUrl;
10+
this.request = new SuperMap.Request();
11+
this.token = token;
12+
},
13+
14+
load: function () {
15+
var me = this;
16+
return me.request.get(me.iportalUrl + '/web').then(function (result) {
17+
if (result) {
18+
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(me.token, 'token');
19+
}
20+
});
21+
},
22+
23+
queryServices: function (queryParams) {
24+
var serviceUrl = this.iportalUrl + "/web/services";
25+
return this.request.get(serviceUrl, queryParams).then(function (result) {
26+
var services = [];
27+
result.content.map(function (serviceJsonObj) {
28+
services.push(new SuperMap.Service(serviceUrl, serviceJsonObj));
29+
});
30+
return services;
31+
});
32+
},
33+
34+
deleteServices: function (params) {
35+
var serviceUrl = this.iportalUrl + "/web/services";
36+
return this.request.delete(serviceUrl, params);
37+
}
38+
39+
})
40+
41+
module.exports = function (url) {
42+
return new SuperMap.Portal(url);
43+
};
44+

src/common/iPortal/Service.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
require('../Request');
2+
require('./ServiceUpdateParam');
3+
4+
SuperMap.Service = SuperMap.Class({
5+
6+
addedMapNames: null,
7+
addedSceneNames: null,
8+
authorizeSetting: [],
9+
checkStatus: '',
10+
createTime: 0,
11+
description: '',
12+
enable: true,
13+
id: 0,
14+
isBatch: false,
15+
isDataItemService: false,
16+
linkPage: null,
17+
mapInfos: [],
18+
metadata: null,
19+
nickname: '',
20+
offline: false,
21+
proxiedUrl: null,
22+
resTitle: '',
23+
scenes: [],
24+
serviceRootUrlId: null,
25+
tags: [],
26+
thumbnail: null,
27+
type: '',
28+
updateTime: 0,
29+
userName: '',
30+
verifyReason: null,
31+
version: null,
32+
visitCount: 0,
33+
34+
initialize: function (seviceUrl, params) {
35+
params = params || {};
36+
SuperMap.Util.extend(this, params);
37+
this.serviceUrl = seviceUrl + "/" + this.id;
38+
this.request = new SuperMap.Request();
39+
},
40+
41+
load: function () {
42+
var me = this;
43+
return me.request.get(me.serviceUrl).then(function (serviceInfo) {
44+
for (var key in serviceInfo) {
45+
me[key] = serviceInfo[key];
46+
}
47+
});
48+
},
49+
50+
update: function () {
51+
var serviceUpdateParam = new SuperMap.ServiceUpdateParam();
52+
for (var key in serviceUpdateParam) {
53+
serviceUpdateParam[key] = this[key];
54+
}
55+
return this.request.put(this.serviceUrl, serviceUpdateParam);
56+
}
57+
58+
});
59+
60+
module.exports = function (serviceUrl, params) {
61+
return new SuperMap.Service(serviceUrl, params);
62+
};
63+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
require('../Base');
2+
3+
SuperMap.ServiceUpdateParam = SuperMap.Class({
4+
5+
authorizeSetting: [],
6+
metadata: null,
7+
tags: [],
8+
thumbnail: null,
9+
10+
initialize: function (params) {
11+
params = params || {};
12+
SuperMap.Util.extend(this, params);
13+
}
14+
15+
});
16+
17+
module.exports = function (params) {
18+
return new SuperMap.ServiceUpdateParam(params);
19+
};
20+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require('../Base');
2+
3+
SuperMap.ServicesDeleteParam = SuperMap.Class({
4+
5+
ids: [],
6+
7+
initialize: function (params) {
8+
params = params || {};
9+
SuperMap.Util.extend(this, params);
10+
}
11+
12+
});
13+
14+
module.exports = function (params) {
15+
return new SuperMap.ServicesDeleteParam(params);
16+
};
17+
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
require('../Base');
2+
3+
SuperMap.ServicesQueryParam = SuperMap.Class({
4+
5+
tags: [],
6+
userNames: '',
7+
types: [],
8+
checkStatus: '',
9+
offline: false,
10+
orderBy: '',
11+
orderType: '',
12+
keywords: [],
13+
currentPage: 0,
14+
pageSize: 0,
15+
isBatch: false,
16+
dirIds: [],
17+
isNotInDir: false,
18+
filterFields: [],
19+
authorizedOnly: false,
20+
21+
initialize: function (params) {
22+
params = params || {};
23+
SuperMap.Util.extend(this, params);
24+
},
25+
26+
});
27+
28+
module.exports = function (params) {
29+
return new SuperMap.ServicesQueryParam(params);
30+
};
31+

src/common/online/QueryDatasParameter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* myDatas服务资源查询参数
44
*/
55
require('../Base');
6-
require('../Resources');
6+
require('./Resources');
77
SuperMap.QueryDatasParameter = SuperMap.Class({
88

99
//String[] 数据作者名。可以根据数据作者名查询,默认查询全部。

0 commit comments

Comments
 (0)