本文主要是介绍uniapp开发的安卓app使用webview调起微信h5支付,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
好迂回曲折的一次经历,必须记录。
近期使用uniapp开发了一个安卓app,由于申请微信App支还没有通过,于是就尝试一下用webview调起微信h5支付。
如是此研究了一下,就用了3天时间。
要解决的难题:
1、由app打开webview后,token和登录态共享问题
2、webview里面支付成功后,如何通知app端更新相关状态。
第一个问题比较简单,后端写个接口就解决了,这里不再描述。
第二个问题就比较麻烦。
查看uniapp关于webview文档
初时以为用vue写的网页能调起此api
事与愿违,尝试了一天都不行。
那就用纯html来写个简单的功能,当点击按钮时,nvue做的调起页,@onPostMessage能实时收到消息。
当你苦苦地写代码,一次一次调试都失败,突然有一次返回的数据,那种感受相信只有技术人才会明白。
总算找到了解决方法,再花了大半天将功能实现在html页上。本来用原有的框架几下就做完的功能(由于组件和函数,我都封装好了,调用就是),现在用纯原生的写法,实现起来花了好大的功夫。
总算写好,打包上线测试,兴奋地点击支付按钮时,谁知提示“商家存在未配置的参数,请联系商家解决”,用了网上找的方法,都无法解决。
我尝试将webview调起页由nvue改为vue,它就没那个提示了,能顺利支付。
但是vue页就无法实时收到消息了。
想到的解决方法有两个:
1、用socket来监听支付结果推送
2、在需要的页面onshow时,做相关处理
但是这两种方法都是权宜之计,无法在支付完成时马上判断支付成功还是失败真有些遗憾。
这篇关于uniapp开发的安卓app使用webview调起微信h5支付的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!