当uni app开发H5App时,微信授权回调地址中有一个#

app开发

APP开发


浏览:1249 次

我刚换了工作,老板派我做企业微信应用。第一次用uni app开发H5App是第一次使用vue.js。我看过一些官方教程,我花了大约一周的时间才开始。

总有新的问题,其中一些问题可以由百度解决。然而,这困扰了我很长一段时间,因为Vue的默认地址是哈希模式,地址中有#。发送到微信的回调地址将截断#后面的内容,导致回调失败。

目前,系统使用Nginx代理,配置如下:

位置/移动{

proxy_set_header主机$Host;

代理通行证https://127.0.0.1:8088 ;

}

有三种主要的在线搜索方法:

设置页面传输。但目前,该系统的前端使用vue。js,并且所有地址都有#编号,因此不适合。

切换到历史记录模式。如果在互联网上配置了nginx,它仍然无法工作。在许多地址访问中有502个错误。

用nginx重写地址也花了很长时间,但没有生效。

第二种和第三种方法都需要更改nginx,但我不太熟悉。复制联机配置也不好。试用期不应该浪费太多时间,所以我们必须另辟蹊径。

发现所有地址,包括那些有错误的地址,都可以在模板html页面中截取。因此,我们截取并处理模板页面中的特殊地址,然后跳转到带有#的页面。

aaaa.png

以下代码将添加到template.h5.html文件中:

今天,我再次尝试了第二种方法。可以切换到历史模式。nginx配置更改如下:

与昨天的配置不同的是try_Add last-after files。

位置/移动{

proxy_set_header主机$Host;

代理通行证https://127.0.0.1:8088 ;

try_文件$uri$uri//索引。html最后;

}