人人商城报错:服务器暂时无法处理您的请求,请稍后再试,解决方案

2022-03-21 html 136

商城最近在支付成功后跳转的页面出现弹层报错,经排查是百度地图的js导致,有以下2种方法修改

修改 addons/ewei_shopv2/static/js/app/biz/store/selector.js 中 https://api.map.baidu.com/getscript 为 https://api.map.baidu.com/api
修改 addons/ewei_shopv2/static/js/myconfig-app.js 中 urlArgs: ‘v=’ + version 将 v= 修改为 t=

原因分析:
百度地图应该最近修改过 https://api.map.baidu.com/getscript 的获取逻辑,在 https://api.map.baidu.com/getscript 后面会跟上参数版本号 v=2.0 形成 https://api.map.baidu.com/getscript?v=2.0(省略了其他参数)

由于require的配置文件中有 urlArgs 参数会在链接后面加上v,值是一个时间戳,导致链接变成 https://api.map.baidu.com/getscript?v=2.0&v=1743516779730

此链接一打开就能看到其中有 服务器暂时无法处理您的请求,请稍后重试

百度地图接收是后面的v,以前百度地图但实际并没有拿v来获取对应版本,但现在处理了,所以找不到对应的版本,就有这个提示

所以方法1是将获取js的换成另外一个(官方有2种),但保不齐https://api.map.baidu.com/api后面也会获取v,所以最佳方法是第二种