diff --git a/pages/goods/cashier/index.vue b/pages/goods/cashier/index.vue
index a0921dd5..1d8f98e7 100644
--- a/pages/goods/cashier/index.vue
+++ b/pages/goods/cashier/index.vue
@@ -11,7 +11,7 @@
:datatime="invalidTime / 1000" :is-col="true" :bgColor="bgColor" />
-
+
支付方式
@@ -26,11 +26,11 @@
{{item.title}}
-
+
- 确认支付
+ 确认支付
暂不支付
@@ -52,7 +52,7 @@
payPrice: 0, // 支付金额
invalidTime: 0, // 过期时间
- code: '', // 选中的支付渠道
+ channelCode: '', // 选中的支付渠道
channels: [{ // 支付方式
name: '微信支付', // 微信公众号
icon: "icon-weixin2",
@@ -72,6 +72,11 @@
name: '余额支付',
icon: "icon-yuezhifu",
title: '可用余额',
+ }, {
+ name: '模拟支付',
+ icon: "icon-yuezhifu",
+ title: '使用模拟支付',
+ code: "mock"
},
// 如下是各种示例接入的示例,默认关闭
@@ -107,19 +112,15 @@
});
PayOrderApi.getOrder(this.orderId).then(res => {
// 如果已支付、或者已关闭,则直接跳转
+ if (!res.data){
+ this.goReturnUrl('close');
+ return;
+ }
if (res.data.status === 10) {
- uni.showToast({
- title: '支付成功'
- })
this.goReturnUrl('success');
- uni.hideLoading();
return;
} else if (res.data.status === 20) {
- uni.showToast({
- title: '无法支付,原因:订单已关闭'
- })
this.goReturnUrl('close');
- uni.hideLoading();
return;
}
@@ -138,32 +139,49 @@
})
})
},
- goPay(code) {
- let that = this;
- if (!that.orderId) return that.$util.Tips({
- title: '请选择要支付的订单'
- });
- if (code === 'yue' && parseFloat(number) < parseFloat(that.payPrice)) return that.$util.Tips({
- title: '余额不足'
- });
+ goPay(channelCode) {
+ if (!this.orderId) {
+ return this.$util.Tips({
+ title: '请选择要支付的订单'
+ });
+ }
+ if (channelCode === 'yue' && parseFloat(number) < parseFloat(this.payPrice)) {
+ return this.$util.Tips({
+ title: '余额不足'
+ });
+ }
uni.showLoading({
title: '支付中'
});
PayOrderApi.submitOrder({
- id: that.orderId,
- code: code,
- displayMode: 'url', // TODO 芋艿:后续可以优化
+ id: this.orderId,
+ channelCode1: channelCode,
returnUrl: this.getPayReturnUrl(),
- channelExtras: {
+ channelExtras: { // TODO 芋艿:等登录接入完成,需要改成动态读取
// openid: "ockUAwIZ-0OeMZl9ogcZ4ILrGba0" // wx_pub 微信公众号支付的 openid
openid: "oLefc4g5GjKWHJjLjMSXB3wX0fD0" // wx_lite 微信小程序支付的 openid
}
}).then(res => {
this.handleSubmitOrderResult(res.data);
+ }).catch(err => {
+ uni.hideLoading();
+ this.$util.Tips({
+ title: err
+ })
})
},
handleSubmitOrderResult(data) {
+ // 1. 如果已支付、或者已关闭,则直接跳转
+ if (data.status === 10) {
+ this.goReturnUrl('success');
+ return;
+ } else if (data.status === 20) {
+ this.goReturnUrl('close');
+ return;
+ }
+
+ // 2. 根据 displayMode 模式,进行对应的处理
const displayMode = data.displayMode;
const displayContent = data.displayContent
// 2.1 如果返回的是 URL,则直接跳转
@@ -171,13 +189,13 @@
window.location = displayContent;
return;
}
- // 2.2 如果返回的是 CUSTOM,则自定义处理
- if (displayMode === 'custom') {
- if (this.code === 'wx_pub') {
+ // 2.2 如果返回的是 APP,则自定义处理
+ if (displayMode === 'app') {
+ if (this.channelCode === 'wx_pub') {
this.handleSubmitOrderResultForWxPub(displayContent)
return;
}
- if (this.code === 'wx_lite') {
+ if (this.channelCode === 'wx_lite') {
this.handleSubmitOrderResultForWxLite(displayContent)
return;
}
@@ -291,8 +309,8 @@
/**
* 设置支付方式
*/
- payType(code) {
- this.code = code
+ payType(channelCode) {
+ this.channelCode = channelCode
},
/**
* 获得支付的 return url