# yhmap_irs **Repository Path**: w-fy/yhmap_irs ## Basic Information - **Project Name**: yhmap_irs - **Description**: 余杭天地图在一体化资源平台上的api接口代理工具 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-23 - **Last Updated**: 2023-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yhmap_irs #### 介绍 余杭天地图在一体化资源平台上的api接口代理工具 #### 软件架构 springboot #### 使用说明 适用于单个服务的调用 1. 修改resources目录下application.properties文件中相关参数

其中map.url 需要修改为IRS对应的地图服务调用地址

鉴权方式优先使用map.api.token 直接添加到header即可,当token有值时,默认使用token
map.api.appKey 和 secretKey 两个参数修改为自己申请的

也可以在启动命令上加参数进行修改 2. 打包成 bootjar 如打包后的jar为xxx.jar 3. 到jar所在目录运行cmd命令 java -jar xxxx.jar

也可以给命令后加参数,如修改appKey和secretKey java -jar xxxx.jar --map.api.appKey=aaaabbbbcccc --map.api.secretKey=qweqweqweqwe 4. 或者修改jar包里的application.properties文件,用winrar打开jar包,拖入文件覆盖即可 #### 另一种方式 前端把地图调用地址、token、ak、sk通过url传递给后台进行代理访问,需要前后端使用 AES 对称加密
DEFAULT_CIPHER_ALGORITHM = "AES/CBC/PKCS5Padding"
application.properties文件中修改 aes.key 和 aes.iv
前端的加密方式如下: #### js code // obj {url:'http://a.b.c:8080/e?f=g', token:'my token', appKey:'my appKey', secretKey:'my secretKey'}
function token (obj) {
// 因包含url,进行Base64转换后再加密
let param = btoa(decodeURI(JSON.stringify(obj)));
let encrypted = CryptoJS.AES.encrypt(param, SECRET_KEY, {
iv : SECRET_IV,
mode : CryptoJS.mode.CBC,
padding : CryptoJS.pad.Pkcs7
});
// 加密后的结果再进行Base64转换
return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
}
加密后的string拼接到url后, http://a.b.c/yh/proxy?token=XXXXXX
#### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request