From c52537100c0cf55124a263e4512084e29b027819 Mon Sep 17 00:00:00 2001 From: bootx Date: Mon, 12 Feb 2024 12:52:07 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=94=AF=E6=8C=81=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E6=94=B6=E9=93=B6=E5=8F=B0=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/demo/cashier/Cashier.api.ts | 11 ++++++-- src/views/demo/cashier/Cashier.vue | 40 ++++++++++++++++++--------- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src/views/demo/cashier/Cashier.api.ts b/src/views/demo/cashier/Cashier.api.ts index 60bda3452..147dce124 100644 --- a/src/views/demo/cashier/Cashier.api.ts +++ b/src/views/demo/cashier/Cashier.api.ts @@ -18,18 +18,25 @@ export function simplePayCashier(obj) { export function findStatusByBusinessId(businessNo) { return defHttp.get>({ url: '/demo/cashier/queryPayOrderSuccess', - method: 'GET', params: { businessNo }, }) } +/** + * 获取手机收银台链接 + */ +export function getUniCashierUrl() { + return defHttp.get>({ + url: '/demo/cashier/getUniCashierUrl', + }) +} + /** * 创建聚合支付码连接 */ export function createAggregatePayUrl(obj) { return defHttp.post>({ url: '/demo/aggregate/createUrl', - method: 'POST', data: obj, }) } diff --git a/src/views/demo/cashier/Cashier.vue b/src/views/demo/cashier/Cashier.vue index c85ac2260..fc527e03d 100644 --- a/src/views/demo/cashier/Cashier.vue +++ b/src/views/demo/cashier/Cashier.vue @@ -6,7 +6,7 @@
import CashierQrCode from './CashierQrCode.vue' import CashierBarCode from './CashierBarCode.vue' - import { createAggregatePayUrl, findStatusByBusinessId, simplePayCashier } from './Cashier.api' + import { aggregateBarCodePay, createAggregatePayUrl, findStatusByBusinessId, getUniCashierUrl, simplePayCashier } from './Cashier.api' import { useMessage } from '/@/hooks/web/useMessage' import { $ref } from 'vue/macros' import { onMounted, onUnmounted } from 'vue' @@ -133,17 +133,17 @@ const cashierBarCode = $ref() // 业务单号 - let businessNo = $ref('') - let title = $ref('测试支付') + let businessNo = $ref('') + let title = $ref('测试支付') let loading = $ref(false) // 微信 h5 - let wxH5Url = $ref('初始化中...') - let wxHover = $ref(false) + let wxH5Url = $ref('初始化中...') + let wxHover = $ref(false) // 支付宝 h5 - let aliH5Url = $ref('初始化中...') - let aliHover = $ref(false) + let aliH5Url = $ref('初始化中...') + let aliHover = $ref(false) // 聚合支付 - let h5cashierUrl = $ref('初始化中...') + let h5cashierUrl = $ref('初始化中...') // 当前选择支付渠道和方式 let currentActive = $ref({ payChannel: null, @@ -235,7 +235,8 @@ function initData() { // 生成业务编码 genBusinessNo() - // 获取微信H5、支付宝H5、手机收银台 + // 获取微信H5、支付宝H5、手机收银台的链接地址 + initH5CashierUrl() } /** * 支付金额变动 @@ -331,8 +332,9 @@ payWay, } loading = true - const { data } = await simplePayCashier(param) - loading = false + const { data } = await simplePayCashier(param).finally(() => { + loading = false + }) // pc支付 if ([payWayEnum.WAP, payWayEnum.WEB].includes(payWay)) { window.open(data.payBody) @@ -354,7 +356,7 @@ businessNo, authCode, } - createAggregatePayUrl(param).then(() => { + aggregateBarCodePay(param).then(() => { resume() }) } @@ -364,6 +366,18 @@ function genBusinessNo() { businessNo = 'P' + new Date().getTime() } + + /** + * 初始化H5收银台链接 + */ + function initH5CashierUrl() { + getUniCashierUrl().then((res) => { + h5cashierUrl = res.data + wxH5Url = res.data + aliH5Url = res.data + }) + } + /** * 当前选择的支付类型 */