diff --git a/src/enums/payment/payWayEnum.ts b/src/enums/payment/payWayEnum.ts index 822ba3bcf..2a4fc23eb 100644 --- a/src/enums/payment/payWayEnum.ts +++ b/src/enums/payment/payWayEnum.ts @@ -2,11 +2,11 @@ * 支付通道 */ export enum payWayEnum { - NORMAL = 'NORMAL', - WAP = 'WAP', - APP = 'APP', - WEB = 'WEB', - QRCODE = 'QRCODE', - BARCODE = 'BARCODE', - JSAPI = 'JSAPI', + NORMAL = 'normal', + WAP = 'wap', + APP = 'app', + WEB = 'web', + QRCODE = 'qrcode', + BARCODE = 'barcode', + JSAPI = 'jsapi', } diff --git a/src/router/routes/project.ts b/src/router/routes/project.ts index 50c097f3e..b9977d5ba 100644 --- a/src/router/routes/project.ts +++ b/src/router/routes/project.ts @@ -38,7 +38,7 @@ export const INTERNAL: AppRouteModule = { * 位于主框架外的页面 */ export const OUTSIDE: AppRouteModule = { - path: '/base/outside', + path: '/outside', name: 'PROJECT_OUTSIDE', meta: { title: '' }, children: [ @@ -51,6 +51,12 @@ export const OUTSIDE: AppRouteModule = { // ignoreAuth: true, // }, // }, + { + path: '/cashier', + name: 'cashier', + component: () => import('/@/views/paydemo/cashier/Cashier.vue'), + meta: { title: '结算台支付演示', ignoreAuth: true }, + }, ], } diff --git a/src/views/paydemo/cashier/Cashier.api.ts b/src/views/paydemo/cashier/Cashier.api.ts new file mode 100644 index 000000000..fc79a29ee --- /dev/null +++ b/src/views/paydemo/cashier/Cashier.api.ts @@ -0,0 +1,38 @@ +import { defHttp } from '/@/utils/http/axios' +import { Result } from '/#/axios' + +/** + * 单独支付 + */ +export function simplePayCashier(obj) { + return defHttp.post>({ + url: '/demo/cashier/simplePayCashier', + method: 'POST', + data: obj, + }) +} + +/** + * 根据业务ID获取支付状态 + */ +export function findStatusByBusinessId(businessNo) { + return defHttp.get>({ + url: '/demo/cashier/queryPayOrderSuccess', + method: 'GET', + params: { businessNo }, + }) +} + +/** + * 发起支付后响应对象 + */ +export interface PayOrderResult { + // 支付ID + paymentId: string + // 是否是异步支付 + asyncPay: boolean + // 异步支付通道 + asyncChannel: string + // 支付参数体(通常用于发起异步支付的参数) + payBody: string +} diff --git a/src/views/paydemo/cashier/Cashier.vue b/src/views/paydemo/cashier/Cashier.vue new file mode 100644 index 000000000..c83f1dade --- /dev/null +++ b/src/views/paydemo/cashier/Cashier.vue @@ -0,0 +1,299 @@ + + + + + diff --git a/src/views/paydemo/cashier/CashierBarCode.vue b/src/views/paydemo/cashier/CashierBarCode.vue new file mode 100644 index 000000000..6da55a9ac --- /dev/null +++ b/src/views/paydemo/cashier/CashierBarCode.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/paydemo/cashier/CashierQrCode.vue b/src/views/paydemo/cashier/CashierQrCode.vue new file mode 100644 index 000000000..28964da2a --- /dev/null +++ b/src/views/paydemo/cashier/CashierQrCode.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/views/paydemo/cashier/imgs/ali/ali_app.svg b/src/views/paydemo/cashier/imgs/ali/ali_app.svg new file mode 100644 index 000000000..ebf11883e --- /dev/null +++ b/src/views/paydemo/cashier/imgs/ali/ali_app.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/ali/ali_bar.svg b/src/views/paydemo/cashier/imgs/ali/ali_bar.svg new file mode 100644 index 000000000..f249f4ac4 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/ali/ali_bar.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/ali/ali_jsapi.svg b/src/views/paydemo/cashier/imgs/ali/ali_jsapi.svg new file mode 100644 index 000000000..271349545 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/ali/ali_jsapi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/ali/ali_pc.svg b/src/views/paydemo/cashier/imgs/ali/ali_pc.svg new file mode 100644 index 000000000..2a7527703 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/ali/ali_pc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/ali/ali_qr.svg b/src/views/paydemo/cashier/imgs/ali/ali_qr.svg new file mode 100644 index 000000000..48337508a --- /dev/null +++ b/src/views/paydemo/cashier/imgs/ali/ali_qr.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/ali/ali_wap.svg b/src/views/paydemo/cashier/imgs/ali/ali_wap.svg new file mode 100644 index 000000000..87075dbb7 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/ali/ali_wap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/qr/auto_bar.svg b/src/views/paydemo/cashier/imgs/qr/auto_bar.svg new file mode 100644 index 000000000..19c9d87d3 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/qr/auto_bar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/qr/qr_cashier.svg b/src/views/paydemo/cashier/imgs/qr/qr_cashier.svg new file mode 100644 index 000000000..40cdcfbc4 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/qr/qr_cashier.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/wechat/w_pay.png b/src/views/paydemo/cashier/imgs/wechat/w_pay.png new file mode 100644 index 000000000..d6f8a107f Binary files /dev/null and b/src/views/paydemo/cashier/imgs/wechat/w_pay.png differ diff --git a/src/views/paydemo/cashier/imgs/wechat/wx_app.svg b/src/views/paydemo/cashier/imgs/wechat/wx_app.svg new file mode 100644 index 000000000..e142d6238 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/wechat/wx_app.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/wechat/wx_bar.svg b/src/views/paydemo/cashier/imgs/wechat/wx_bar.svg new file mode 100644 index 000000000..2ef5534cd --- /dev/null +++ b/src/views/paydemo/cashier/imgs/wechat/wx_bar.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/wechat/wx_h5.svg b/src/views/paydemo/cashier/imgs/wechat/wx_h5.svg new file mode 100644 index 000000000..b06ec58b0 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/wechat/wx_h5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/wechat/wx_jsapi.svg b/src/views/paydemo/cashier/imgs/wechat/wx_jsapi.svg new file mode 100644 index 000000000..3a6d15b70 --- /dev/null +++ b/src/views/paydemo/cashier/imgs/wechat/wx_jsapi.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/imgs/wechat/wx_native.svg b/src/views/paydemo/cashier/imgs/wechat/wx_native.svg new file mode 100644 index 000000000..ad40b2a2c --- /dev/null +++ b/src/views/paydemo/cashier/imgs/wechat/wx_native.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/views/paydemo/cashier/style.less b/src/views/paydemo/cashier/style.less new file mode 100644 index 000000000..45c8e4fe8 --- /dev/null +++ b/src/views/paydemo/cashier/style.less @@ -0,0 +1,79 @@ +.page { + box-sizing: border-box; + min-height: 100%; + padding-bottom: 80px; + margin-top: 81px; +} +.paydemo { + .content { + max-width: 1120px; + margin: 0 auto; + } + .paydemo-type-content { + padding: 20px; + margin-bottom: 20px; + background-color: #FFFFFF; + border-radius: 6px; + p { + margin-bottom: 10px; + text-align: left; + } + } + .colorChange { + color: #1953ff; + border: solid 2px #1953ff; + padding: 12px; + margin-right: 10px; + cursor: pointer; + } + .paydemoType { + padding: 12px; + border: solid 2px #e2e2e2; + margin-right: 10px; + cursor: pointer; + } + .paydemo-type-img { + width: 40px; + height: 40px; + vertical-align: center; + } + .paydemo-type-name { + font-size: 16px; + margin-bottom: 12px; + display: flex; + align-items: center; + } + .paydemo-type-body { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 20px; + } + .paydemo-type-h5 { + padding: 12px; + border: solid 2px #e2e2e2; + margin-right: 10px; + cursor: pointer; + font-size: 12px; + } + .codeImg_wx_h5 { + position: absolute; + z-index: 1001; + display: flex; + flex-direction: column; + align-items: center; + background-color: #ffffff; + width: 160px; + } + .paydemo-form-item { + height: 38px; + margin-bottom: 5px; + display: flex; + flex-direction: row; + align-items: center; + } +} +img { + border: 0; + vertical-align: middle; +} diff --git a/src/views/payment/record/callback/PayCallbackRecordInfo.vue b/src/views/payment/record/callback/PayCallbackRecordInfo.vue index fd415299e..9605a7ca4 100644 --- a/src/views/payment/record/callback/PayCallbackRecordInfo.vue +++ b/src/views/payment/record/callback/PayCallbackRecordInfo.vue @@ -13,13 +13,13 @@ {{ form.orderId }} - + {{ form.gatewayOrderNo }} {{ dictConvert('PayChannel', form.channel) }} - + {{ dictConvert('PaymentType', form.callbackType) }}