• vue支付宝和微信公众号支付


    <!DOCTYPE html>
    <html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>

    </head>

    <body>
        <input type="text" v-model="value">
        <!-- 支付宝或者微信 -->
        <button @click="confirm">确认付款</button>

        <script>
            export default {
                data() {
                    return {
                        value: ""
                    }
                },
                methods: {
                    confirm() {
                        if (this.value == "支付宝") {
                            let data = {
                                // 向后台传输需要的参数
                            };
                            aliOauth(data)
                                .then(res => {
                                    if (res.data && res.error == 0) {
                                        //后台返回的数据标识
                                        let date = res.data.ali_trade_no;
                                        if (window.AlipayJSBridge) {
                                            this.aliJSDK(date);
                                        }
                                    }
                                })
                                .catch(err => {
                                    console.log(err, "失败");
                                });
                        } else {
                            let data = {
                                // 向后台传输需要的参数
                            };
                            aliOauth(data)
                                .then(res => {
                                    if (res.data && res.error == 0) {
                                        //后台返回的数据标识
                                        let data = {
                                            appId: res.data.appId,
                                            timeStamp: res.data.timeStamp,
                                            nonceStr: res.data.nonceStr,
                                            package: res.data.package_str,
                                            signType: res.data.signType,
                                            paySign: res.data.paySign
                                        };
                                        if (typeof WeixinJSBridge == "undefined") {
                                            if (document.addEventListener) {
                                                document.addEventListener(
                                                    "WeixinJSBridgeReady",
                                                    this.jsApiCall,
                                                    false
                                                );
                                            } else if (document.attachEvent) {
                                                document.attachEvent("WeixinJSBridgeReady", this.jsApiCall);
                                                document.attachEvent(
                                                    "onWeixinJSBridgeReady",
                                                    this.jsApiCall
                                                );
                                            }
                                        } else {
                                            this.jsApiCall(data);
                                        }
                                    }
                                })
                                .catch(err => {
                                    console.log(err, "失败");
                                });
                        }

                    },
                    aliJSDK(data) { //支付宝方式
                        window.AlipayJSBridge.call("tradePay", {
                            tradeNO: data
                        }, res => {
                            if ("9000" == res.resultCode) {
                                // 支付成功后跳转自己需要的页面
                                this.$router.push({
                                    path: "需要跳转的路由路径",
                                    query: {
                                        // 需要带的参数
                                    }
                                });
                            }
                        });
                    },
                    jsApiCall(json) { //微信公众号方式
                        window.WeixinJSBridge.invoke("getBrandWCPayRequest", json, res => {
                            window.WeixinJSBridge.log(res.err_msg);
                            if (res.err_msg == "get_brand_wcpay_request:ok") {
                                // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                                paySuccessCallback();
                            } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
                                alert("已取消支付");
                            } else {
                                alert("支付失败");
                            }

                        });
                    },


                }
            }
        </script>
    </body>

    </html>
  • 相关阅读:
    银行类题目
    Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
    Java-set集合
    Java——List集合
    java异常处理:建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),
    java基础-继承:矩形体积类问题
    类的继承和多态性-编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,
    实验三 类的继承和多态性
    java基础—继承题目:编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish
    java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E
  • 原文地址:https://www.cnblogs.com/1609359841qq/p/13272430.html
Copyright © 2020-2023  润新知