angularJs 微信支付坑

前端之家收集整理的这篇文章主要介绍了angularJs 微信支付坑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

微信支付路径BUG, 支付场景基于angular的路由

起因:昨天运营部门提交了一个比较奇怪的bug,场景是在设置好的微信支付路径中支付出现了提示支付路径的问题。
经过:一番测试发现,正常首页进去没问题;微信分享出去的url没问题;直接手动开口商品详情页就bug了。

//商品详情页唤起IOS微信内核就bug
http:localhost/#/detail/12345

//微信后台设置的支付路径
http:localhost/
http:localhost/#/
http:localhost/#/orderDetails/

谷歌之后才知道IOS下微信的支付路径貌似并非你点击支付的路径,而是唤起微信浏览器的那个路径,此时内心十万只哔哔哔。

结果:目前是写了一个判断,如果是iOS下微信非支付路径登录,那么刷新一下系统,这样就可以正常支付。

// 添加factory
app.factory('IOSWechatReload',function() {
return function(){
    if( browser.v.weixin
        && browser.v.ios
        && Storage.getItem('href')
        && Storage.getItem('href').split('/#/')[1]
        && Storage.getItem('href').split('/#/')[1].match(/\//)
    ){
        location.reload()
    }
}

// controller 中调用iOS微信支付bug
IOSWechatReload()

});

PS:另外貌似还可以更改路由规则,把 /#/ 升级为 /?#/ ,使支付路径直接变成 ,但是估计要改源码了。

参考:

原文链接:/weapp/421469.html

猜你在找的微信小程序相关文章