Skip to content

Commit a57a6a3

Browse files
author
caoxinke
committed
2 parents 3ead9cd + 82aa31a commit a57a6a3

File tree

10 files changed

+2553
-2489
lines changed

10 files changed

+2553
-2489
lines changed

dist/iclient9-leaflet.js

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

dist/iclient9-openlayers.js

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,27 +1324,26 @@ SuperMap.ServiceBase = SuperMap.Class({
13241324
* @param url
13251325
*/
13261326
getCredential: function (url) {
1327-
var restUrl = this._clipUrlRestString(url);
1328-
var credential, value;
1327+
var keyUrl = url, credential, value;
13291328
switch (this.serverType) {
13301329
case SuperMap.ServerType.ISERVER:
1331-
value = SuperMap.SecurityManager.getToken(restUrl);
1330+
value = SuperMap.SecurityManager.getToken(keyUrl);
13321331
credential = value ? new SuperMap.Credential(value, "token") : null;
13331332
break;
13341333
case SuperMap.ServerType.IPORTAL:
1335-
value = SuperMap.SecurityManager.getToken(restUrl);
1334+
value = SuperMap.SecurityManager.getToken(keyUrl);
13361335
credential = value ? new SuperMap.Credential(value, "token") : null;
13371336
if (!credential) {
1338-
value = SuperMap.SecurityManager.getKey(restUrl);
1337+
value = SuperMap.SecurityManager.getKey(keyUrl);
13391338
credential = value ? new SuperMap.Credential(value, "key") : null;
13401339
}
13411340
break;
13421341
case SuperMap.ServerType.ONLINE:
1343-
value = SuperMap.SecurityManager.getKey(restUrl);
1342+
value = SuperMap.SecurityManager.getKey(keyUrl);
13441343
credential = value ? new SuperMap.Credential(value, "key") : null;
13451344
break;
13461345
default:
1347-
value = SuperMap.SecurityManager.getToken(restUrl);
1346+
value = SuperMap.SecurityManager.getToken(keyUrl);
13481347
credential = value ? new SuperMap.Credential(value, "token") : null;
13491348
break;
13501349
}
@@ -1474,23 +1473,6 @@ SuperMap.ServiceBase = SuperMap.Class({
14741473
this.events.triggerEvent("processFailed", {error: error});
14751474
},
14761475

1477-
/**
1478-
* 截取url rest路径
1479-
* @param url
1480-
* @private
1481-
*/
1482-
_clipUrlRestString: function (url) {
1483-
if (!url) {
1484-
return url;
1485-
}
1486-
var patten = /http:\/\/(.*\/rest)/i;
1487-
var restStr = url.match(patten)[0];
1488-
if (restStr.indexOf("rest") < 1) {
1489-
return url;
1490-
}
1491-
return restStr;
1492-
},
1493-
14941476
CLASS_NAME: "SuperMap.ServiceBase"
14951477
});
14961478
module.exports = SuperMap.ServiceBase;
@@ -6089,15 +6071,23 @@ SuperMap.SecurityManager = {
60896071

60906072
_getTokenStorageKey: function (url) {
60916073
var patten = /http:\/\/([^\/]+)/i;
6092-
return url.match(patten)[0];
6074+
var result = url.match(patten);
6075+
if (!result) {
6076+
return url;
6077+
}
6078+
return result[0];
60936079
},
60946080

60956081
_getUrlRestString: function (url) {
60966082
if (!url) {
60976083
return url;
60986084
}
60996085
var patten = /http:\/\/(.*\/rest)/i;
6100-
return url.match(patten)[0];
6086+
var result = url.match(patten);
6087+
if (!result) {
6088+
return url;
6089+
}
6090+
return result[0];
61016091
}
61026092

61036093
};

examples/leaflet/iPortalSecurity.html

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

examples/leaflet/onlineSecurity.html

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,7 @@ <h4>Online SecurityManager使用示例</h4>
6161
</div>
6262

6363
<div class="col-md-12 text-center">
64-
<a class="btn btn-success" onclick="requestOnlineKeyService()">直接访问</a>
65-
<a class="btn btn-success" onclick="registerOnlineKeyAndRequestService()">key授权访问</a>
66-
<a class="btn btn-success" onclick="setDefaultOnlineValue()">填充默认值</a>
67-
<a class="btn btn-success" onclick="resetOnlineKey()">清空凭据</a>
64+
<a class="btn btn-success" onclick="registerOnlineKeyAndRequestService()">访问</a>
6865
</div>
6966
</fieldset>
7067
</form>
@@ -94,13 +91,9 @@ <h4>Online SecurityManager使用示例</h4>
9491
<input type="text" class="form-control" id="mapKey_online">
9592
</div>
9693
</div>
97-
<div class="form-group">
98-
<div class="col-md-12" id="online_map" style=" height: 200px;"></div>
99-
</div>
10094
<div class="form-group">
10195
<div class="col-md-12 text-center">
102-
<a class="btn btn-success" onclick="setDefaultOnlineMapValue()">填充默认值</a>
103-
<a class="btn btn-success" onclick="showMapWithOnlineKey()">key授权出图</a>
96+
<a class="btn btn-success" onclick="showMapWithOnlineKey()">出图</a>
10497
</div>
10598
</div>
10699
</fieldset>
@@ -110,12 +103,28 @@ <h4>Online SecurityManager使用示例</h4>
110103
</div>
111104
</td>
112105
</tr>
106+
<tr>
107+
<td colspan="3">
108+
<div class="row">
109+
<div class="col-md-12 text-center">
110+
<div class="col-md-12" id="online_map" style=" height: 300px;"></div>
111+
</div>
112+
</div>
113+
</td>
114+
</tr>
113115
</tbody>
114116
</table>
115117
</div>
116118
</div>
117119
<script>
118120

121+
$(document).ready(function () {
122+
$("#serviceUrl_online").val("http://www.supermapol.com/iserver/services/bsaq89v0/rest/maps/World");
123+
$('#key_online').val("Ie2kriXZZz9GPevFDBQzgLRf");
124+
$("#serviceUrlMap_online").val("http://www.supermapol.com/iserver/services/bsaq89v0/rest/maps/World");
125+
$('#mapKey_online').val("Ie2kriXZZz9GPevFDBQzgLRf");
126+
});
127+
119128
/*登录*/
120129
function loginOnline() {
121130
var href = window.location.href;
@@ -146,22 +155,10 @@ <h4>Online SecurityManager使用示例</h4>
146155
if (!checkUrl(serviceUrl)) {
147156
return;
148157
}
158+
SuperMap.SecurityManager.destroyKey(serviceUrl);
149159
SuperMap.SecurityManager.registerKey(serviceUrl, key);
150160
requestOnlineKeyService();
151161
}
152-
function resetOnlineKey() {
153-
SuperMap.SecurityManager.destroyKey(getOnlineServiceUrl());
154-
$('#key_online').val("");
155-
}
156-
157-
function setDefaultOnlineValue() {
158-
$('#key_online').val("Ie2kriXZZz9GPevFDBQzgLRf");
159-
$("#serviceUrl_online").val("http://www.supermapol.com/iserver/services/bsaq89v0/rest/maps/World");
160-
}
161-
function setDefaultOnlineMapValue() {
162-
$('#mapKey_online').val("Ie2kriXZZz9GPevFDBQzgLRf");
163-
$("#serviceUrlMap_online").val("http://www.supermapol.com/iserver/services/bsaq89v0/rest/maps/World");
164-
}
165162

166163
function getOnlineServiceUrl() {
167164
return $("#serviceUrl_online").val();
@@ -182,7 +179,7 @@ <h4>Online SecurityManager使用示例</h4>
182179
crs: L.CRS.EPSG4326,
183180
center: [30, 104],
184181
maxZoom: 18,
185-
zoom: 2
182+
zoom: 1
186183
});
187184
L.supermap.tiledMapLayer(mapUrl, {
188185
serverType: SuperMap.ServerType.ONLINE

examples/leaflet/onlineWebmap.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
</head>
88
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
99
<div id="map" style="margin:0 auto;width: 100%;height: 100%;border: 1px solid #dddddd"></div>
10-
<script type="text/javascript" src="../../node_modules/leaflet/dist/leaflet-src.js"></script>
10+
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
1111
<script type="text/javascript" src="../../dist/iclient9-leaflet.js"></script>
1212

1313
<script>
14-
L.supermap.webmap(128);
14+
L.supermap.webmap(75);
1515
</script>
1616
</body>
1717
</html>

src/common/iPortal/iPortal.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
21
require('./iPortalServicesQueryParam');
32
var SuperMap = require('../SuperMap');
43
var Request = require('../util/Request');
54
var iPortalService = require('./iPortalService');
6-
SuperMap.iPortal = SuperMap.Class({
5+
SuperMap.iPortal = SuperMap.Class(SuperMap.iPortalServiceBase, {
76

87
initialize: function (iportalUrl, token) {
98
this.iportalUrl = iportalUrl;
@@ -21,7 +20,7 @@ SuperMap.iPortal = SuperMap.Class({
2120

2221
queryServices: function (queryParams) {
2322
var serviceUrl = this.iportalUrl + "/web/services";
24-
return Request.get(serviceUrl, queryParams).then(function (result) {
23+
return this.request("GET", serviceUrl, queryParams).then(function (result) {
2524
var services = [];
2625
result.content.map(function (serviceJsonObj) {
2726
services.push(new iPortalService(serviceUrl, serviceJsonObj));
@@ -32,7 +31,7 @@ SuperMap.iPortal = SuperMap.Class({
3231

3332
deleteServices: function (ids) {
3433
var serviceUrl = this.iportalUrl + "/web/services";
35-
return SuperMap.Request.delete(serviceUrl, {ids: ids});
34+
return this.request("DELETE", serviceUrl, {ids: ids});
3635
}
3736

3837
});

src/common/iPortal/iPortalService.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ SuperMap.iPortalService = SuperMap.Class(SuperMap.iPortalServiceBase, {
3333
initialize: function (seviceUrl, params) {
3434
params = params || {};
3535
SuperMap.Util.extend(this, params);
36-
this.serviceUrl = seviceUrl + "/" + this.id;
36+
this.serviceUrl = seviceUrl;
37+
if (this.id) {
38+
this.serviceUrl = seviceUrl + "/" + this.id;
39+
}
3740
SuperMap.iPortalServiceBase.prototype.initialize.call(this.serviceUrl);
3841
},
3942

src/common/iServer/ServiceBase.js

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -225,27 +225,26 @@ SuperMap.ServiceBase = SuperMap.Class({
225225
* @param url
226226
*/
227227
getCredential: function (url) {
228-
var restUrl = this._clipUrlRestString(url);
229-
var credential, value;
228+
var keyUrl = url, credential, value;
230229
switch (this.serverType) {
231230
case SuperMap.ServerType.ISERVER:
232-
value = SuperMap.SecurityManager.getToken(restUrl);
231+
value = SuperMap.SecurityManager.getToken(keyUrl);
233232
credential = value ? new SuperMap.Credential(value, "token") : null;
234233
break;
235234
case SuperMap.ServerType.IPORTAL:
236-
value = SuperMap.SecurityManager.getToken(restUrl);
235+
value = SuperMap.SecurityManager.getToken(keyUrl);
237236
credential = value ? new SuperMap.Credential(value, "token") : null;
238237
if (!credential) {
239-
value = SuperMap.SecurityManager.getKey(restUrl);
238+
value = SuperMap.SecurityManager.getKey(keyUrl);
240239
credential = value ? new SuperMap.Credential(value, "key") : null;
241240
}
242241
break;
243242
case SuperMap.ServerType.ONLINE:
244-
value = SuperMap.SecurityManager.getKey(restUrl);
243+
value = SuperMap.SecurityManager.getKey(keyUrl);
245244
credential = value ? new SuperMap.Credential(value, "key") : null;
246245
break;
247246
default:
248-
value = SuperMap.SecurityManager.getToken(restUrl);
247+
value = SuperMap.SecurityManager.getToken(keyUrl);
249248
credential = value ? new SuperMap.Credential(value, "token") : null;
250249
break;
251250
}
@@ -375,23 +374,6 @@ SuperMap.ServiceBase = SuperMap.Class({
375374
this.events.triggerEvent("processFailed", {error: error});
376375
},
377376

378-
/**
379-
* 截取url rest路径
380-
* @param url
381-
* @private
382-
*/
383-
_clipUrlRestString: function (url) {
384-
if (!url) {
385-
return url;
386-
}
387-
var patten = /http:\/\/(.*\/rest)/i;
388-
var restStr = url.match(patten)[0];
389-
if (restStr.indexOf("rest") < 1) {
390-
return url;
391-
}
392-
return restStr;
393-
},
394-
395377
CLASS_NAME: "SuperMap.ServiceBase"
396378
});
397379
module.exports = SuperMap.ServiceBase;

src/common/online/OnlineData.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,11 @@ SuperMap.OnlineData = SuperMap.Class(SuperMap.OnlineServiceBase, {
6767
var me = this;
6868
options = options || {};
6969
SuperMap.Util.extend(me, options);
70-
if (serviceRootUrl) {
70+
me.serviceUrl = serviceRootUrl;
71+
if (me.id) {
7172
me.serviceUrl = serviceRootUrl + "/" + me.id;
72-
SuperMap.OnlineServiceBase.prototype.initialize.call(me.serviceUrl);
7373
}
74+
SuperMap.OnlineServiceBase.prototype.initialize.call(me.serviceUrl);
7475
},
7576

7677
//通过url请求获取该服务完整信息

src/common/security/SecurityManager.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,23 @@ SuperMap.SecurityManager = {
159159

160160
_getTokenStorageKey: function (url) {
161161
var patten = /http:\/\/([^\/]+)/i;
162-
return url.match(patten)[0];
162+
var result = url.match(patten);
163+
if (!result) {
164+
return url;
165+
}
166+
return result[0];
163167
},
164168

165169
_getUrlRestString: function (url) {
166170
if (!url) {
167171
return url;
168172
}
169173
var patten = /http:\/\/(.*\/rest)/i;
170-
return url.match(patten)[0];
174+
var result = url.match(patten);
175+
if (!result) {
176+
return url;
177+
}
178+
return result[0];
171179
}
172180

173181
};

0 commit comments

Comments
 (0)