Skip to content

Commit 460bd4b

Browse files
committed
【fix】ISVJ-7398 修复带有token的restmap和叠加的数据401问题
1 parent 0f3790f commit 460bd4b

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

src/openlayers/mapping/WebMap.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1394,12 +1394,12 @@ export class WebMap extends Observable {
13941394
withCredentials: this.withCredentials,
13951395
withoutFormatSuffix: true
13961396
};
1397+
let tempUrl = layerInfo.url;
13971398
if (layerInfo.url.indexOf("?token=") > -1) {
1398-
that.credentialKey = 'token';
1399-
that.credentialValue = layerInfo.credential = layerInfo.url.split("?token=")[1];
1399+
layerInfo.credential = { token: layerInfo.url.split("?token=")[1] };
14001400
layerInfo.url = layerInfo.url.split("?token=")[0];
14011401
}
1402-
let url = this.handleJSONSuffix(layerInfo.url);
1402+
let url = this.handleJSONSuffix(tempUrl);
14031403
return FetchRequest.get(that.getRequestUrl(url), null, options).then(function (response) {
14041404
return response.json();
14051405
}).then(async function (result) {

test/openlayers/mapping/WebMapSpec.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1579,4 +1579,27 @@ describe('openlayers_WebMap', () => {
15791579
done();
15801580
}
15811581
});
1582+
1583+
it('createBaseLayer-SUPERMAP_REST-token', (done) => {
1584+
spyOn(FetchRequest, 'get').and.callFake((url, params, options) => {
1585+
if (url.indexOf('map.json') > -1) {
1586+
var mapJson = datavizWebMap_RestMap_token;
1587+
return Promise.resolve(new Response(mapJson));
1588+
} else if (url.indexOf('content.json') > -1) {
1589+
expect(url.indexOf('testtoken')).toBe(-1);
1590+
return Promise.resolve(new Response(geojsonData));
1591+
} else {
1592+
expect(url.indexOf('testtoken')).not.toBe(-1);
1593+
return Promise.resolve()
1594+
}
1595+
});
1596+
var datavizWebmap = new WebMap(id, {successCallback, errorCallback, server: defaultServer });
1597+
function successCallback(map, mapInfo, layers, baseLayer){
1598+
expect(baseLayer.credential).toEqual({token: 'testtoken'});
1599+
done();
1600+
}
1601+
function errorCallback(error) {
1602+
console.log(error);
1603+
}
1604+
});
15821605
});

test/resources/WebMapV5.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)