题目
1.商品购买后,进行订单结算时,单击【支付宝】图标,如图 3-1 所示,跳转至二维码支付页面,根据商品订单号、用户 ID、收货地址 Id、支付方式信息生成二维码,如图 3-2 所示(注:可以利用 vue-qr 插件技术实现二维码的生成,参阅 U 盘中“03 辅助文档\vue\vue-qr”,项目已集成该插件)。
2.二维码上方显示订单编号。
3.启动手机上的模拟支付宝 APP,输入 PC 端的用户和密码进行 APP 登录,扫描 PC 端支付二维码进行支付,支付成功后,页面显示“支付成功”字样,如图 3-3 所示(可以根据数据库订单状态变化,判断是否支付成功)
二维码模块:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <qr v-if="qrcodeState" style="text-align: center" :logoSrc="'../../static/images/pay/alipaypcnew.png'" :text="qrdata" :size="200" :margin="0" ></qr>
<script> import qr from "vue-qr"; export default { components: { qr } data() { return { payment: null, selectContactId: null, qrcodeState: false, }; }, methods: { qrcode() { this.qrcodeState = true; var vm = this, id = this.Storage.Local.get("User").id, num = this.payment.orderNum; this.check = setInterval(function() { vm.$post(vm.API.API_CHECK_ORDER, { userId: id, orderNum: num }).then(res => { if (res.data == 1 ) { vm.Toastr.success("支付成功,2秒钟后跳转到订单历史"); vm.$store.commit("setCartCount",vm.getCartCount()); vm.$router.push({ path: "/account/order/list", name: "OrderList" }); } }); }, 2000); }, } computed: { qrdata() { return JSON.stringify({ orderNum: this.payment.orderNum, userId: this.Storage.Local.get("User").id, id: this.selectContactId, paymentType: 1 }); } }, destroyed() { clearInterval(this.check); } } </script>
|