vue页面在微信公众号调用支付接口

// 点击了点击购买按钮
async handlePurchase() {   
    const vm = this
    // 获取选中的套餐信息,用的是axios的post方法,因此要包装一下params
    const index = this.activeIndex
    const currentItem = this.rechargeOptionData[index]
    const params = new URLSearchParams()
    params.append('mall_id', currentItem.mall_id)
    // 交互,这里的request是自己封装的axios
    const res = await request.post('/createOrder', params)
    // console.log(res)
    if(res.data.status) {
        if (typeof WeixinJSBridge == "undefined") {
            if (document.addEventListener) {
                document.addEventListener('WeixinJSBridgeReady', vm.jsApiCall, false)
            } else if (document.attachEvent) {
                document.attachEvent('WeixinJSBridgeReady', vm.jsApiCall)
                document.attachEvent('onWeixinJSBridgeReady', vm.jsApiCall)
            }
        } else {
            this.jsApiCall(res.data.info);
        } else {
            // 使用了vue-toast
            this.$toasted.show(res.data.msg, {
                position: 'top-center',
                duration: 3000
            })
        }
    }
},
// 调用微信JS api 支付
jsApiCall(json) {
        WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        json,
        function(res){
            WeixinJSBridge.log(res.err_msg);
            if(res.err_msg === "get_brand_wcpay_request:ok"){
                // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                this.$toasted.show(res.err_code + res.err_desc + res.err_msg, {
                    position: 'top-center',
                    duration: 3000
                })
            } else{
                //显示错误信息
                this.$toasted.show(res.err_code + res.err_desc + res.err_msg, {
                    position: 'top-center',
                    duration: 3000
                })
            }
        }
    )
}

参考资料

微信支付开发文档

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,301评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,581评论 2 59
  • 就是对MVC模式的解释。
    Stroman阅读 1,445评论 0 0
  • 企业的竞争力不光体现在比竞争对手占据更多的市场、为客户提供更高质量的产品和服务,更体现在内部有效的管理、决策和创新...
    表姐说会计阅读 3,508评论 0 2
  • 前两天看了一部电影《生存家族》。 因为这部电影在我每次打开APP时都会出现,认为是机缘巧合,索性就看一下。 点开,...
    卓超123阅读 3,068评论 1 2

友情链接更多精彩内容