### 一、修改目标 由于地图组件是无法通过传递参数进行绘制固定区域地图的,黄海采用的办法是外部链接+$Java$路由,将控制权交给$Java$,获取要绘制哪个城市后,由$Java$修改数据库中的数据来达到改变城市的效果,具体代码见: ```shell D:\dsWork\YunNanDsBase\src\main\java\com\dsideal\base\DataEase\Controller\DataEaseController.java public void updateCityArea(String city_name){ ... } ``` 这样做后,正常操作是没有问题的,可以从省级页面跳转到任何一个城市页面,城市的地图也能正确展示,但有一个问题:害怕刷新页面! 因为一旦刷新了页面,数据库中的城市数据可能已经被修改,就会造成数据还是这个城市的,但地图已经是别的城市了! 需要解决掉这个问题。 黄海的办法是采用$OpenResty$捕获链接,比如: ``` http://10.10.14.203:8100/#/de-link/X4l1qGNH?attachParams=eyJjaXR5X25hbWUiOiLkuL3msZ/luIIifQ== ``` 一旦可以拦截成功,就可以采用前置拦截进行处理,修改数据表中城市为丽江市! 但经实验发现,这样干行不通,原因是: - 去掉$DataEaseV2$中共享链接中存在的#号,这个#号会导致浏览器不会把#号后面的参数传递给$Nginx$,也就是刷新动作无法捕获。 ### 二、解决办法 **配置信任的服务器$HTTPS$验证** ``` git config --global http.sslVerify false ``` **使用$TortoiseGit$下载源码** ``` https://github.com/dataease/dataease.git ``` **$DataEase$ $v2$ 开源代码 $Windows$ 从$0$到$1$环境搭建** ``` https://blog.csdn.net/chajinglong/article/details/142666079 ``` **前端项目编译** - 使用$vscode$ 打开`D:\dsWork\dataease\core\core-frontend\src\router\index.ts` **$vue3$ $history$模式配置及$nginx$服务器配置** ``` https://www.cnblogs.com/shog808/p/15935465.html https://blog.csdn.net/jay100500/article/details/130072520 ``` **切换到$V2.10.1$版本** ![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202412110806315.png)