Helló,我是Charlie!
在Day21当中我们完成了後端的paypal sdk,在今天我们将完成前端结帐的部分。
================================◉‿◉=================================
首先是结帐的部分,在createOrder里面的checkout新增导向approve link的程序码:
checkout(){
var username = window.localStorage.getItem("username")
var token = window.localStorage.getItem("token")
createOrderData(username,token).then((response) => {
if(response.data.code == STATUS_OK){
window.localStorage.setItem('orderID',response.data.data.orderid)
window.location.href = response.data.link.approve
}else{
this.$fire({type:"error",text:response.data.data})
}
})
},
接着创立两个vue:orderCreated跟orderCanceled,并且设立路由:
{
path: "/orderCreated",
name:"createPaypalPage",
component: orderCreated,
meta: {
title: "付款建立"
}
},
{
path: "/orderCanceled",
name: "cancalOrderPage",
component: orderCanceled,
meta: {
title: "付款取消"
}
}
接着在order.js当中,新增打capture order的API:
export function captureOrder(orderID,token){
return axios.post(`http://${host()}:${port()}/userorder/capture/${orderID}`,{
headers:{
"AUTHORIZATION":token
}
})
}
接着修改orderCreated.vue,让这个vue显示付款成功或者付款失败:
<template>
<html lang="zh-Hant-TW">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="icon" type="image/x-con" href="@/assets/favicon.ico">
<div id="app">
<headerComponent></headerComponent>
<div class="info" style="margin:0 auto;width: 50%;height: 50%;text-align: center;">
<img :src="successImage" alt="" style="width:300px;height: 300px;">
<h4>{{ successText }}</h4>
</div>
</div>
</html>
</template>
<script>
import { captureOrder } from '@/apis/order.js'
import { STATUS_OK } from '@/apis/constant.js'
export default{
name: "orderCreated",
components:{
'headerComponent':() => import('@/components/header.vue')
},
data(){
return {
successImage:"",
successText: ""
}
},
created(){
var orderid = window.localStorage.getItem("orderID")
console.log(orderid)
var token = window.localStorage.getItem("token")
captureOrder(orderid,token).then((response) => {
console.log(response)
if(response.status == STATUS_OK){
this.successImage = "https://i.imgur.com/mBolVrx.jpg"
this.successText = "付款成功"
}else{
this.successImage = "https://i.imgur.com/EJjpUGf.png"
this.successText = "付款失败"
}
})
}
}
</script>
cancel的话就是固定页面,这里就不赘述了。
接着便可测试是否能结帐成功:
================================◉‿◉=================================
Day22结束了!在今天我们完成了前端的付款,而明天我们将实作订单API的部分,See ya next day!
乞讨功能 写个乞讨的功能...... # cogs/money.py @commands.comma...
来到这次系列最後想讲的主体:粒子效果 PixiJS 实现粒子效果有两种方式: ParticleCon...
今天看 Immutability(不可变),作者提供适用於不同情境的四种方法,将物件设定为不可更变的...
上面这个是今天会提到的内容,如果你已经可以轻松看懂,欢迎直接左转去看我队友们的精彩文章! 昨天我们...
前言:本篇目的为简要纪录函式内的变数种类与功能、参数赋予及厘清Callback function的运...