最近在项目中遇到了手机app跳转微信h5支付完成后直接跳转到safari浏览器页面,而没有返回app内的问题,百度了好久发现基本都是ios开发的处理办法,自己琢磨了半天,响了一个解决办法:
首先在提交支付的时候判断是否是ios环境:
const isAnd = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1
在选择支付环境时有传一个returnUrl给后端,这个returnUrl是我们支付完成后需要跳转的链接,
returnUrl: isAnd ? redirectUrl : null
,三元运算判断当为安卓环境时传入跳转链接,ios不传,这样能够阻止ios环境支付完成后跳转到safari!到这一步后续其实就很简单了,根据各位自己的需求,再点击跳转支付后做个弹出框判断是否支付完成等!!! 可能叙述的不是很清楚,请见谅,逻辑思路是关键,每个公司项目可能有些不一样,但是这个返回链接这个步骤都是确定的!!!