关于 Vue 做微信支付提示当前页面的 URL 未注册的问题

2017-10-30 10:19:37 +08:00
 kanganxi

vue 路由配置如下: { path:'/opay/:openid', component: resolve => require(['@/page/act/orderPay'], resolve), /meta:{ requireAuth: true }/ }, 我的支付页面是 www.ceshi.com/opay/wwfjdkljfjklfjsdlk 示例 微信支付授权目录配置:www.ceshi.com/opay/ 点击支付时提示当前 url 未注册,不知道时 vue 的目录配置问题还是什么什么?望兄弟们支招,因为 vue 路由默认又一个#我们做了隐藏处理,不知道是不是跟这个有关系,

12105 次点击
所在节点    问与答
30 条回复
kely
2017-10-30 13:03:27 +08:00
同 1L #号前面加个? 号
kanganxi
2017-10-30 13:04:25 +08:00
@kely 目前改用 history 路由模式所以不存在#号的问题了
sciooga
2017-10-30 13:08:01 +08:00
@kanganxi #22
1. 根目录加入授权目录试试
2. 打开支付页面,复制页面链接,随便找一个好友(或者“我的电脑”),把链接粘贴出来,打开试试
kanganxi
2017-10-30 13:11:26 +08:00
@sciooga 都试过了,我三个手机换着测,再弄不好,老板该解雇我了,
favicon
2017-10-30 13:40:58 +08:00
兄弟 我之前刚解决了这个问题 我来给你说正确的解决方法
1.比如你微信配置的路径的是 www.xxx.com/pay/ 那么你支付页面的 url 就应该是 www.xxx.com/pay/xxx 也就是比配置的多一级
2.最坑的一点是由于是单页面应用,在 ios 里微信只记录你页面最后一次刷新的地址!这是重点!
比如你第一次打开是 www.xxx.com ,那么你即使页面和路由都切换到 www.xxx.com/pay/xxx/微信也认为你还是在首页,这应该是你遇到的“当前页面的 URL 未注册的问题”的根源所在。
解决方案:在进入支付页的时候强制刷新一下。
kanganxi
2017-10-30 13:50:17 +08:00
@favicon 感谢兄弟,最奇葩的问题是我之前设置的支付目录是 /ceshi1/,实际我的请求 url 是 /ceshi1/openid(字符串),支付一直没问题,然后上周五我删除了这个授权目录,他娘的现在还是发起支付,我新设置的确实不行,
qiayue
2017-10-30 14:00:35 +08:00
25 楼结贴,就是 /pay/ 和 /pay/xxx 的问题
Alexisused
2017-10-30 14:26:25 +08:00
@favicon 请教一下微信强制刷新怎么搞,我试过原生 reload 方法 和 this.$router.go(0), this.$.router.go('/当前页') 都不行, 网上搜到说带随机数,试了也不行
sciooga
2017-10-30 17:23:59 +08:00
@favicon #25
@kanganxi #26

如果 25 楼是解决问题所在,那为何按我说的测试(#23 )两个都行不通?
wploey
2017-12-16 15:24:08 +08:00
@sciooga #15 location.href 正解 #25 貌似我也没用.. vue-route push 换成 location.href = '支付页面的 url' 就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401823

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX