新增支付

This commit is contained in:
2023-12-06 16:21:00 +08:00
parent 750efb4cf3
commit 3ff9d7d91a
12 changed files with 692 additions and 385 deletions
+31 -7
View File
@@ -18,7 +18,7 @@
<text class="w-15p">单价</text>
<text class="w-15p">小计</text>
</view>
<view class="flex justify-start items-start my-20" v-for="(item, index) in info.goods">
<view class="flex justify-start items-start my-20" v-for="(item, index) in info.goods" :key="index">
<text class="w-15p">
<image :src="item.goodsCover" mode="aspectFit" class="goods-cover"/>
</text>
@@ -72,7 +72,9 @@
</el-row>
<view class="mt-20 w-50p flex flex-col justify-center items-center m-a">
<text class="text-main font-bold text-40 mb-20">订单金额:¥{{ info.amount }}</text>
<el-button type="primary" round :disabled="!phone || !name || addressIndex.length < 3" @click="onPay">立即支付</el-button>
<el-button type="primary" round :disabled="!phone || !name || addressIndex.length < 3" @click="onPay">
立即支付
</el-button>
</view>
<div class="pay-price" v-if="billQRCode">
<uv-qrcode ref="qrcode" size="240px" :value="billQRCode"></uv-qrcode>
@@ -91,6 +93,7 @@ import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
import areas from "@/uni_modules/vk-uview-ui/libs/address/areas.json";
import dayjs from "dayjs";
const OpenSdk = require('../../user/lib/base').default;
const sdk = new OpenSdk({
@@ -111,7 +114,8 @@ export default {
addressDetail: '',
name: '',
phone: '',
billQRCode: null
billQRCode: null,
checkPayInterval: null,
}
},
methods: {
@@ -122,23 +126,38 @@ export default {
id: this.id
}
})
if (this.info.orderStatus === 1) {
this.$message({
type:'success',
message: '订单已支付成功'
})
setTimeout(() => {
this.$router.push({
path: '/pages/user/order',
})
}, 1000)
}
},
onPay() {
const requestTimestamp = dayjs().format('YYYY-MM-DD HH:mm:ss')
const timestamp = dayjs().format('YYYYmmddHHmmSS')
console.log(timestamp)
console.log(requestTimestamp)
const timestamp = dayjs().format('YYYYMMDDHHmmss')
const goods = []
let goodsName = this.info.goods[0].goodsName
goods.push({goodsName})
if (this.info.goods.length > 1) goodsName += `等${this.info.goods.length - 1}件商品`
let data = {
queryUrl: 'https://test-api-open.chinaums.com/v1/netpay/bills/get-qrcode',
timestamp,
nonce: 'rp84ufhfn20yneo3tp',
content: {
billNo: this.info.orderNo,
requestTimestamp,
mid: '898201612345678',
tid: '88880001',
instMid: 'QRPAYDEFAULT',
totalAmount: 1,
notifyUrl: 'https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/#/'
notifyUrl: 'https://fc-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/pay_notify',
goods
}
}
/**
@@ -150,6 +169,11 @@ export default {
if (result.errCode === 'SUCCESS') {
this.showQrcode = true
this.billQRCode = result.billQRCode
setTimeout(() => {
this.checkPayInterval = setInterval(() => {
this.getInfo()
}, 1000)
}, 3000)
}
})
},