国产精品美女久久久浪潮AV,国产精品三级一二三区,久久精品国产一区二区小说 ,依依成人影视国产精品,全部无卡免费的毛片在线看,日本一区二区三深夜不卡,国产精品女同一区二区久久,国产精品夜色一区二区三区

        vue項目 微信支付 和 支付寶支付

        2019-7-2    seo達人

        如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

        做了一個項目,有充值功能,充值方式為 微信和支付寶,效果如下:



        代碼:

        <template>
        <el-card class="box-card">
        <ul class="msg-box">
        <li>
        <h4>我要充值</h4>
        </li>
        <li>
        <h4 style="margin-bottom: 15px;">充值金額</h4>
        <el-radio-group v-model="amountVal" @change="amountChange">
        <el-radio border :label="''+ 100">充值100</el-radio>
        <el-radio border :label="''+ 500">充值500</el-radio>
        <el-radio border :label="''+ 1000">充值1000</el-radio>
        <el-radio border :label="''+ 2000">充值2000</el-radio>
        <el-radio border :label="''+ 5000">充值5000</el-radio>
        <el-radio border :label="''">自定義</el-radio>
        </el-radio-group>
        </li>
        <li>
        <h4 style="margin-bottom: 15px;">充值方式</h4>
        <el-radio-group v-model="rechargeParams.paymentType" @change="paymentTypeChange">
        <el-radio border :label="''+ 0">微信</el-radio>
        <el-radio border :label="''+ 1">支付寶</el-radio>
        </el-radio-group>
        </li>
        <li>
        <h4 style="margin-bottom: 15px;">充值金額</h4>
        <el-input :disabled="disabled" clearable v-model="rechargeParams.totalAmt" placeholder="請輸入金額" style="width: 150px;"></el-input>
        </li>
        </ul>
        <div style="text-align: center; margin-top: 30px;">
        <el-button type="primary" @click="surePay">確認支付</el-button>
        </div>
        </el-card>
        </template>
         
        <script>
        export default {
        data() {
        return {
        amountVal: '',
        disabled: false,
        //充值參數
        rechargeParams: {
        "totalAmt": '', //金額
        "paymentType": "0", //支付方式[0:微信,1:支付寶,2:余額,3:活動]
        "transType": "0" //交易類型[0:充值,1:消費]
        }
        }
        },
        methods: {
        //充值金額
        amountChange(val) {
        this.rechargeParams.totalAmt = val;
        if (val == '') {
        this.disabled = false
        } else {
        this.disabled = true
        }
        },
        //支付方式
        paymentTypeChange(val) {
        this.rechargeParams.paymentType = val
        },
        //確認支付
        async surePay() {
        if (this.rechargeParams.totalAmt == '') {
        this.$message.warning('請輸入金額');
        return;
        }
        const res = await this.$http.post('orderInfo/createOrderInfo', this.rechargeParams)
        const {
        code,
        msg,
        result
        } = res.data
        if (code === '200') {
        //支付方式跳轉
        if (this.rechargeParams.paymentType == '0') {
        this.$message.success('微信支付');
        this.wechatPay(result);
        } else if (this.rechargeParams.paymentType == '1') {
        this.$message.success('支付寶支付')
        const payDiv = document.getElementById('payDiv');
        if (payDiv) {
        document.body.removeChild(payDiv);
        }
        const div = document.createElement('div');
        div.id = 'payDiv';
        div.innerHTML = result;
        document.body.appendChild(div);
        document.getElementById('payDiv').getElementsByTagName('form')[0].submit();
        } else if (this.rechargeParams.paymentType == '2') {
        this.$message.success('余額支付成功');
        this.$router.push({
        name: 'order'
        })
        } else {
        this.$message.success('活動支付')
        }
        } else if (code === 401) {
        this.$message.error(msg)
        this.$router.push({
        name: 'login'
        })
        } else {
        this.$message.error(msg)
        }
        },
        //微信支付
        wechatPay(result) {
        if (result) {
        const orderParams = JSON.parse(result);
        sessionStorage.qrurl = orderParams.qrurl;
        sessionStorage.amt = orderParams.amt;
        sessionStorage.returnUrl = orderParams.returnUrl;
        sessionStorage.order_id = orderParams.order_id;
        this.$router.push({
        name: 'wechatPay'
        })
        }
        }
        }
        }
        </script>
         
        <style scoped>
        /* 信息列表樣式 */
        .msg-box > li {
        list-style: none;
        border-bottom: 1px solid #c5c5c5;
        padding: 20px 10px;
        }
        </style>
        支付寶方式:后臺會返回來一個form,然后提交form自動跳轉到支付寶支付頁面。

        微信方式:需要自己根據后臺返回的url生成二維碼頁面,如圖所示:



        代碼:

        <template>
        <div class="payBox">
        <div class="img-logo">
        <img src="http://img.huoxingbeidiao.com/public/WePayLogo.png" alt="">
        </div>
        <div class="info-box">
        <div style="padding-bottom: 20px;">
        <qrcode-vue :value="qrurl" :size="200" level="H"></qrcode-vue>
        </div>
        <img src="http://img.huoxingbeidiao.com/public/WePayInfo.png" alt="">
        <p class="price">¥&nbsp;{{amt}}</p>
        </div>
        </div>
        </template>
         
        <script>
        import QrcodeVue from 'qrcode.vue'
        export default {
        data() {
        return {
        amt: 0,
        qrurl: '',
        timer: null
        }
        },
        components: {
        QrcodeVue
        },
        methods: {
        getOrderInfo() {
        if (sessionStorage.qrurl && sessionStorage.amt) {
        this.qrurl = sessionStorage.qrurl;
        this.amt = sessionStorage.amt;
        }
        },
        startLoop() {
        this.timer = setInterval(() => {
        this.isPaySuccess()
        }, 3000)
        },
        async isPaySuccess() {
        const orderId = sessionStorage.order_id;
        const res = await this.$http.get('orderInfo/queryOrder?orderId=' + orderId)
        const {
        code,
        msg,
        resultList
        } = res.data
        if (code === '200') {
        clearInterval(this.timer);
        this.timer = null;
        sessionStorage.removeItem('qrurl');
        sessionStorage.removeItem('amt');
        sessionStorage.removeItem('order_id');
        sessionStorage.removeItem('returnUrl');
        setTimeout(() => {
        this.$router.push({
        name: 'order'
        })
        }, 3000)
        } else if (code === 401) {
        clearInterval(this.timer);
        this.timer = null;
        sessionStorage.removeItem('qrurl');
        sessionStorage.removeItem('amt');
        sessionStorage.removeItem('order_id');
        sessionStorage.removeItem('returnUrl');
        this.$message.error(msg)
        this.$router.push({
        name: 'login'
        })
        } else {
         
        }
        }
        },
        created() {
        this.getOrderInfo()
        this.startLoop()
        },
        beforeDestroy() {
        clearInterval(this.timer)
        this.timer = null
        }
        }
        </script>
         
        <style scoped>
        .payBox {
        width: 1000px;
        margin: 0 auto;
        }
         
        .payBox .img-logo {
        padding: 20px 0;
        text-align: center;
        }
         
        .payBox .img-logo img {
        width: 180px;
        }
         
        .info-box {
        padding: 60px 0;
        border-top: 3px solid #F43B66;
        -webkit-box-shadow: 0 0 32px 0 rgba(0, 0, 0, .18);
        box-shadow: 0 0 32px 0 rgba(0, 0, 0, .18);
        text-align: center;
        }
         
        .info-box .price {
        color: #F43B66;
        font-size: 40px;
        padding-top: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #f1f1f1;
        }
        </style>
        需要安裝qrcode.vue

        npm install --save qrcode.vue  或  yarn add qrcode.vue
        藍藍設計m.shtzxx.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://m.shtzxx.cn

        存檔

        主站蜘蛛池模板: 亚洲日韩av无码一区二区三区人| 国产精品久久久久久爽爽爽| 精品国产自在现线看久久| 乱码午夜-极品国产内射| 亚洲av成人一区二区三区av| 美女裸体十八禁免费网站| 精品国产亚洲第一区二区三区| 未满十八18禁止免费无码网站| 成人无码av网站在线观看| 欧美牲交a欧美牲交aⅴ| 99久久无色码中文字幕人妻| 鄂尔多斯市| 中国真实偷乱视频| .精品久久久麻豆国产精品| 国产乱人视频在线播放| 精品无码人妻一区二区三区品| 好男人官网在线观看免费播放| 国产偷国产偷亚洲高清人| 亚洲高清国产拍精品熟女| 精品人妻| 平乐县| 孟州市| 亚洲国产欧美在线成人| 国产天美传媒性色av| 国产精品一卡二卡三卡四卡| 精品国产自线午夜福利| 777亚洲熟妇色xxxxx| 99精品国产一区二区三区不卡| 国内真实露脸互换人妻| 强开小婷嫩苞又嫩又紧视频| 深一点~我下面好爽视频| 亚洲国产精品一区二区美利坚| av人妻| 日日噜噜噜夜夜爽爽狠狠视频 | 无码一区二区三区av免费| 亚洲精品中文字幕乱码| 欧美丰满老妇性猛交| 亚洲 欧美 中文 日韩aⅴ| 再深点灬舒服灬太大了网站| 日本熟妇人妻ⅹxxxx国产| av无码免费看|