|
|
@ -5,7 +5,7 @@ |
|
|
|
<!-- 支付剩余时间 --> |
|
|
|
<view class="order-countdown"> |
|
|
|
<text class="m-r-6">剩余时间</text> |
|
|
|
<count-down :date="order.expirationTime" separator="zh" theme="text" /> |
|
|
|
<count-down :date="order.expirationTime" separator="zh" theme="text"/> |
|
|
|
</view> |
|
|
|
<!-- 付款金额 --> |
|
|
|
<view class="order-amount"> |
|
|
@ -44,11 +44,15 @@ |
|
|
|
|
|
|
|
<!-- 支付确认弹窗 --> |
|
|
|
<!-- #ifdef H5 --> |
|
|
|
<u-modal v-if="tempUnifyData" v-model="showConfirmModal" title="支付确认" show-cancel-button confirm-text="已完成支付" |
|
|
|
<u-modal v-if="tempUnifyData" v-model="showConfirmModal" title="支付确认" show-cancel-button |
|
|
|
confirm-text="已完成支付" |
|
|
|
:confirm-color="appTheme.mainBg" negative-top="100" :asyncClose="true" |
|
|
|
@confirm="onTradeQuery(tempUnifyData.outTradeNo, tempUnifyData.method)"> |
|
|
|
<view class="modal-content"> |
|
|
|
<text>请在{{ PayMethodClientNameEnum[tempUnifyData.method] }}内完成支付,如果您已经支付成功,请点击“已完成支付”按钮</text> |
|
|
|
<text>请在{{ |
|
|
|
PayMethodClientNameEnum[tempUnifyData.method] |
|
|
|
}}内完成支付,如果您已经支付成功,请点击“已完成支付”按钮 |
|
|
|
</text> |
|
|
|
</view> |
|
|
|
</u-modal> |
|
|
|
<!-- #endif --> |
|
|
@ -56,39 +60,40 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import wx from "weixin-js-sdk"; |
|
|
|
import storage from '@/utils/storage' |
|
|
|
import { |
|
|
|
import wx from "weixin-js-sdk"; |
|
|
|
import storage from '@/utils/storage' |
|
|
|
import { |
|
|
|
inArray, |
|
|
|
urlEncode |
|
|
|
} from '@/utils/util' |
|
|
|
import { |
|
|
|
} from '@/utils/util' |
|
|
|
import { |
|
|
|
Alipay, |
|
|
|
Wechat |
|
|
|
} from '@/core/payment' |
|
|
|
import CountDown from '@/components/countdown' |
|
|
|
import { |
|
|
|
} from '@/core/payment' |
|
|
|
import CountDown from '@/components/countdown' |
|
|
|
import { |
|
|
|
PayMethodEnum |
|
|
|
} from '@/common/enum/payment' |
|
|
|
import { |
|
|
|
} from '@/common/enum/payment' |
|
|
|
import { |
|
|
|
PayStatusEnum |
|
|
|
} from '@/common/enum/order' |
|
|
|
import * as CashierApi from '@/api/cashier' |
|
|
|
} from '@/common/enum/order' |
|
|
|
import * as CashierApi from '@/api/cashier' |
|
|
|
import {paymentAsH5} from "../../../core/payment/alipay"; |
|
|
|
|
|
|
|
// 支付方式对应的图标 |
|
|
|
const PayMethodIconEnum = { |
|
|
|
// 支付方式对应的图标 |
|
|
|
const PayMethodIconEnum = { |
|
|
|
[PayMethodEnum.WECHAT.value]: 'icon-wechat-pay', |
|
|
|
[PayMethodEnum.ALIPAY.value]: 'icon-alipay', |
|
|
|
[PayMethodEnum.BALANCE.value]: 'icon-balance-pay' |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 支付方式的终端名称 |
|
|
|
const PayMethodClientNameEnum = { |
|
|
|
// 支付方式的终端名称 |
|
|
|
const PayMethodClientNameEnum = { |
|
|
|
[PayMethodEnum.WECHAT.value]: '微信', |
|
|
|
[PayMethodEnum.ALIPAY.value]: '支付宝' |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
components: { |
|
|
|
CountDown |
|
|
|
}, |
|
|
@ -228,7 +233,8 @@ |
|
|
|
CashierApi.orderPay(app.orderId, { |
|
|
|
method: app.curPaymentItem.method, |
|
|
|
client: app.platform, |
|
|
|
extra: app.getExtraAsUnify(app.curPaymentItem.method) |
|
|
|
extra: app.getExtraAsUnify(app.curPaymentItem.method), |
|
|
|
token: uni.getStorageSync('t_token') |
|
|
|
}) |
|
|
|
.then(result => app.onSubmitCallback(result)) |
|
|
|
.finally(err => { |
|
|
@ -259,7 +265,10 @@ |
|
|
|
// 发起支付宝支付 |
|
|
|
if (method === PayMethodEnum.ALIPAY.value) { |
|
|
|
console.log('paymentData', JSON.stringify(paymentData)) |
|
|
|
Alipay.payment(paymentData) |
|
|
|
// Alipay.payment(paymentData) |
|
|
|
// .then(res => app.onPaySuccess(res)) |
|
|
|
// .catch(err => app.onPayFail(err)) |
|
|
|
Alipay.paymentAsH5({formHtml: result.data.data}) |
|
|
|
.then(res => app.onPaySuccess(res)) |
|
|
|
.catch(err => app.onPayFail(err)) |
|
|
|
} |
|
|
@ -267,16 +276,15 @@ |
|
|
|
if (method === PayMethodEnum.WECHAT.value) { |
|
|
|
console.log('paymentData', paymentData) |
|
|
|
wx.miniProgram.getEnv((res) => { |
|
|
|
console.log('money',paymentData.pay_price) |
|
|
|
console.log('order_no',paymentData.pay_price) |
|
|
|
console.log('money', paymentData.pay_price) |
|
|
|
console.log('order_no', paymentData.pay_price) |
|
|
|
if (res.miniprogram) { |
|
|
|
// 小程序环境下逻辑,跳转到小程序的扫描页面地址(/pages/dx-scan-code/scan-code,自己定义的地址),可以带上页面返回时需要的参数 |
|
|
|
wx.miniProgram.navigateTo({ |
|
|
|
url: '/sub_pages/hdpay/hdpay?money='+paymentData.pay_price+'&orderNo='+paymentData.order_no |
|
|
|
url: '/sub_pages/hdpay/hdpay?money=' + paymentData.pay_price + '&orderNo=' + paymentData.order_no |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
console.log(res, 'res') |
|
|
|
app.$toast('非微信环境逻辑') |
|
|
@ -303,7 +311,7 @@ |
|
|
|
"signType": "RSA", //微信签名方式: |
|
|
|
"paySign": paymentData.paySign //微信签名 |
|
|
|
}, |
|
|
|
function(res) { |
|
|
|
function (res) { |
|
|
|
app.$toast('订单支付成功') |
|
|
|
app.onSuccessNav() |
|
|
|
}); |
|
|
@ -311,11 +319,6 @@ |
|
|
|
}, 500) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Wechat.payment({ orderKey: app.orderId, ...paymentData }) |
|
|
|
// .then(res => app.onPaySuccess(res)) |
|
|
|
// .catch(err => app.onPayFail(err)) |
|
|
@ -398,21 +401,21 @@ |
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style> |
|
|
|
page { |
|
|
|
page { |
|
|
|
background: #F4F4F4; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.container { |
|
|
|
.container { |
|
|
|
background-color: #F4F4F4; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 订单信息 |
|
|
|
.order-info { |
|
|
|
// 订单信息 |
|
|
|
.order-info { |
|
|
|
padding: 80rpx 0; |
|
|
|
text-align: center; |
|
|
|
|
|
|
@ -441,10 +444,10 @@ |
|
|
|
font-size: 56rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 支付方式 |
|
|
|
.payment-method { |
|
|
|
// 支付方式 |
|
|
|
.payment-method { |
|
|
|
width: 94%; |
|
|
|
margin: 0 auto 20rpx auto; |
|
|
|
padding: 0 40rpx; |
|
|
@ -491,11 +494,11 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 支付确认弹窗 |
|
|
|
.modal-content { |
|
|
|
// 支付确认弹窗 |
|
|
|
.modal-content { |
|
|
|
padding: 40rpx 48rpx; |
|
|
|
font-size: 30rpx; |
|
|
|
line-height: 50rpx; |
|
|
@ -503,11 +506,11 @@ |
|
|
|
color: #606266; |
|
|
|
// height: 620rpx; |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 底部操作栏 |
|
|
|
.footer-fixed { |
|
|
|
// 底部操作栏 |
|
|
|
.footer-fixed { |
|
|
|
position: fixed; |
|
|
|
bottom: var(--window-bottom); |
|
|
|
left: 0; |
|
|
@ -547,5 +550,5 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
</style> |