三勾商城开源
三勾商城开源
  • 发布:2020-07-17 12:19
  • 更新:2024-02-02 17:32
  • 阅读:5520

uni-app微信公众号支付和分享,特别是ios下的配置,完美解决

分类:uni-app

一、支付

由于在ios中uni-app发布的应用是单应用,不管访问哪个页面,始终记录的是首次进来的那个页面。

这样的话,在微信支付签名时会报签名不对的错误。怎么解决?

老王的解决方案是在main.js下加上以下代码:

//#ifdef H5  

app.$router.afterEach((to, from) => {  

const u = navigator.userAgent.toLowerCase()  

if (u.indexOf("like mac os x") < 0 || u.match(/MicroMessenger/i) != 'micromessenger') return  

if (to.path !== global.location.pathname) {  

location.assign(config.h5_addr + to.fullPath);  

}  

})  

//#endif

什么意思呢?支付无非就是要当前页的链接到后台签名,这个页面需要配置到微信支付授权目录。

这段代码就是通过vue全局钩子函数,动态改变浏览器地址。

自此,支付问题完美解决。

二、分享

分享的话比较麻烦一点,解决方案倒还比较简单,就是判断跳转后的页面是否是分享页面,如果是的,就用window.location.href跳转。但是要实现公用的话,就需要封装方法。app内的所有跳转都走全局跳转,封装一个全局函数,然后在全局函数里定义需要分享的页面链接,跳转前判断是不是分享页面。

//判断是否分享页面  

if (shareLinks.indexOf(p) > -1) {  

//公众号  

// #ifdef H5  

window.location.href = config.app_url + config.h5_addr + url;  

return;  

// #endif  

}  

// 普通页面  

uni.navigateTo({  

url: url  

});

至此,完美解决了uni-app在ios下的公众号分享跟支付问题。

1 关注 分享
4***@qq.com

要回复文章请先登录注册

龙晓宝

龙晓宝

shoucang
2024-02-02 17:32
p***@163.com

p***@163.com

关于ios端app微信分享,出现二次跳转现象,楼主知道什么原因吗
2022-10-08 17:00
270315475

270315475

收藏
2020-11-12 18:56