openlayermap
Version:
openlayer Map Component for Vue 2.0
87 lines (79 loc) • 3.52 kB
JavaScript
import {SuperMap} from '../SuperMap'
/**
* @class SuperMap.Credential
* @classdesc SuperMap的安全证书类,其中包括token等安全验证信息。<br>
* 需要使用用户名和密码在:"http://localhost:8090/iserver/services/security/tokens"下申请value <br>
* 获得形如:"2OMwGmcNlrP2ixqv1Mk4BuQMybOGfLOrljruX6VcYMDQKc58Sl9nMHsqQaqeBx44jRvKSjkmpZKK1L596y7skQ.."的value<br>
* 目前支持的功能包括:地图服务、专题图、量算、查询、公交换乘、空间分析、网络分析,不支持轮询功能。
* @param value - {string} 访问受安全限制的服务时用于通过安全认证的验证信息。
* @param name - {string} 验证信息前缀,name=value部分的name部分,默认为“token”。
* @example
* var pixcel = new SuperMap.Credential("valueString","token")
* pixcel.destroy()
*/
export class Credential {
constructor (value, name) {
/**
* @member SuperMap.Bounds.prototype.value -{string}
* @description 访问受安全限制的服务时用于通过安全认证的验证信息。
*/
this.value = value || ''
/**
* @member SuperMap.Bounds.prototype.name -{string}
* @description 验证信息前缀,name=value部分的name部分,默认为“token”。
*/
this.name = name || 'token'
this.CLASS_NAME = 'SuperMap.Credential'
}
/**
* @function SuperMap.Credential.prototype.getUrlParameters
* @example
* var credential = new SuperMap.Credential("valueString","token")
* //这里 str = "token=valueString"
* var str = credential.getUrlParameters()
* @returns {string} 返回安全信息组成的url片段。
*/
getUrlParameters () {
// 当需要其他安全信息的时候,则需要return this.name + "=" + this.value + "&" + "..."的形式添加。
return this.name + '=' + this.value
}
/**
* @function SuperMap.Bounds.prototype.getValue
* @description 获取value
* @example
* var credential = new SuperMap.Credential("2OMwGmcNlrP2ixqv1Mk4BuQMybOGfLOrljruX6VcYMDQKc58Sl9nMHsqQaqeBx44jRvKSjkmpZKK1L596y7skQ..","token")
* //这里 str = "2OMwGmcNlrP2ixqv1Mk4BuQMybOGfLOrljruX6VcYMDQKc58Sl9nMHsqQaqeBx44jRvKSjkmpZKK1L596y7skQ.."
* var str = credential.getValue()
* @returns {string} 返回value字符串,在iServer服务下该value值即为token值。
*/
getValue () {
return this.value
}
/**
*
* @function SuperMap.Credential.prototype.destroy
* @description 销毁此对象。销毁后此对象的所有属性为null,而不是初始值。
* @example
* var credential = new SuperMap.Credential("valueString","token")
* credential.destroy()
*/
destroy () {
this.value = null
this.name = null
}
}
/**
* @member SuperMap.Credential.CREDENTIAL -{SuperMap.Credential}
* @description 这个对象保存一个安全类的实例,在服务端需要安全验证的时候必须进行设置。
* @constant
* @example
* 代码实例:
* // 当iServer启用服务安全的时候,下边的代码是必须的。安全证书类能够接收一个value和一个name参数。
* var value = "(以iServer为例,这里是申请的token值)"
* var name = "token"
* // 默认name参数为token,所以当使用iServer服务的时候可以不进行设置。
* SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(value, name)
*
*/
Credential.CREDENTIAL = null
SuperMap.Credential = Credential