yangteng 11 месяцев назад
Родитель
Сommit
12b57521c4
2 измененных файлов: 130 добавлений и 109 удалений
  1. 0
    1
      subpackage/orders/essential-information.vue
  2. 130
    108
      subpackage/orders/order_payment.vue

+ 0
- 1
subpackage/orders/essential-information.vue Просмотреть файл

@@ -78,7 +78,6 @@
etcVehiclePlateVer,
searchOrder,
productReCode,
infoQuery,
envs,
addProduct,
isSubmitOrderApi

+ 130
- 108
subpackage/orders/order_payment.vue Просмотреть файл

@@ -32,6 +32,7 @@
aliPayConfigIdTwo,
obtainUserId,
getOpenidApi,
etcVehiclePlateVer
} from "@/utils/network/api.js";
import { request } from "@/utils/network/request.js";
import { stringToJson } from "@/utils/network/encryption";
@@ -60,129 +61,133 @@

var intervalId = setInterval(myFunc, 2000);
const savaHandle = (val) => {
if (state.isclick) {
if (val.payStatus == "SUCCESS") {
return;
}
state.isclick = false
console.log("state.isclick", state.isclick, val.payStatus)
if (val.payStatus === 'UNPAY') {
myFunc()
// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_base',
success: res => {
const optionsUser = {
type: 2,
data: {
payConfigId: aliPayConfigIdTwo,
code: res.authCode
},
method: "POST",
showLoading: true,
};
console.log('支付宝用户编号请求:', optionsUser)
request(obtainUserId, optionsUser).then((res) => {
console.log('支付宝用户编号返回:', res)
const data = stringToJson(res.bizContent);
const optionsali = {
console.log("val",val)
// etcVehiclePlateVerRequest().then(() => {
if (state.isclick) {
if (val.payStatus == "SUCCESS") {
return;
}
state.isclick = false
console.log("state.isclick", state.isclick, val.payStatus)
if (val.payStatus === 'UNPAY') {
myFunc()
// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_base',
success: res => {
const optionsUser = {
type: 2,
data: {
orderId: state.orderId,
wxOpenid: data.openId,
payType: val.payType
payConfigId: aliPayConfigIdTwo,
code: res.authCode
},
method: "POST",
showLoading: true,
};
console.log('支付下单请求:', optionsali)
request(PAYMENTORDERAPPLY, optionsali).then((res) => {
console.log('支付宝用户编号请求:', optionsUser)
request(obtainUserId, optionsUser).then((res) => {
console.log('支付宝用户编号返回:', res)
const data = stringToJson(res.bizContent);
console.log('支付下单返回:', data)
my.tradePay({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: data.tranPackage,
success: res => {
console.log("支付成功", res);
refresh();
},
fail: res => {
console.log("支付失败", res);
const optionsali = {
type: 2,
data: {
orderId: state.orderId,
wxOpenid: data.openId,
payType: val.payType
},
method: "POST",
showLoading: true,
};
console.log('支付下单请求:', optionsali)
request(PAYMENTORDERAPPLY, optionsali).then((res) => {
const data = stringToJson(res.bizContent);
console.log('支付下单返回:', data)
my.tradePay({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: data.tranPackage,
success: res => {
console.log("支付成功", res);
refresh();
},
fail: res => {
console.log("支付失败", res);
},
});
});

});
});
},
fail: err => {
console.log('my.getAuthCode 调用失败', err)
state.isclick = true
}
});

// #endif
// #ifdef MP-WEIXIN
uni.login({
provider: "weixin",
success: function (e) {
const options1 = {
type: 2,
data: {
"jsCode": e.code
},
method: "POST",
showLoading: true,
};
request(getOpenidApi, options1).then((res) => {
const result = stringToJson(res.bizContent);
const openidData = stringToJson(result.data);
console.log("获取openId", openidData)
const options = {
},
fail: err => {
console.log('my.getAuthCode 调用失败', err)
state.isclick = true
}
});
// #endif
// #ifdef MP-WEIXIN
uni.login({
provider: "weixin",
success: function (e) {
const options1 = {
type: 2,
data: {
orderId: state.orderId,
wxOpenid: openidData.openid,
payType: val.payType
"jsCode": e.code
},
method: "POST",
showLoading: true,
};
request(PAYMENTORDERAPPLY, options).then((res) => {
const data = stringToJson(res.bizContent);
console.log("data======111", data)
if (data) {
console.log("进来了")
uni.requestPayment({
provider: "wxpay",
orderInfo: "",
timeStamp: data.timestamp,
nonceStr: data.noncestr,
package: data.wxPackage ? data.wxPackage : "",
signType: data.signType,
paySign: data.sign,
success: function (e) {
console.log("支付成功", res);
refresh();
},
fail: function (err) {
state.isclick = true
confirm(err, () => { }, "支付失败", false);
},
});
} else {
state.isclick = true
console.log("state.isclick", state.isclick)
}

request(getOpenidApi, options1).then((res) => {
const result = stringToJson(res.bizContent);
const openidData = stringToJson(result.data);
console.log("获取openId", openidData)
const options = {
type: 2,
data: {
orderId: state.orderId,
wxOpenid: openidData.openid,
payType: val.payType
},
method: "POST",
showLoading: true,
};
request(PAYMENTORDERAPPLY, options).then((res) => {
const data = stringToJson(res.bizContent);
console.log("data======111", data)
if (data) {
console.log("进来了")
uni.requestPayment({
provider: "wxpay",
orderInfo: "",
timeStamp: data.timestamp,
nonceStr: data.noncestr,
package: data.wxPackage ? data.wxPackage : "",
signType: data.signType,
paySign: data.sign,
success: function (e) {
console.log("支付成功", res);
refresh();
},
fail: function (err) {
state.isclick = true
confirm(err, () => { }, "支付失败", false);
},
});
} else {
state.isclick = true
console.log("state.isclick", state.isclick)
}
});
});
});
},
});


// #endif
},
});
// #endif
}
}
}
// })
};
const getOpenID = () => {
uni.login({
@@ -424,6 +429,26 @@
openid: "",
isclick: true,//防止重复点击
});
// 车牌校验
const etcVehiclePlateVerRequest = () => {
let data = {
vehiclePlate: vehiclePlate,
vehiclePlateColor:vehiclePlateColor,
}
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
return new Promise(async (resolve, reject) => {
const res = await request(etcVehiclePlateVer, options);
const data = stringToJson(res.bizContent);
resolve(data);
}).catch((error) => {
reject(error);
});
}
</script>

<style lang="scss" scoped>
@@ -448,7 +473,6 @@

.content-value {
position: relative;
// margin-top: -50rpx;
padding: 0rpx 30rpx;
position: relative;

@@ -554,7 +578,6 @@
position: absolute;
display: flex;
align-items: center;
// justify-content: space-around;
width: 80%;

.content {
@@ -589,7 +612,6 @@

.money {
color: white;
// float: right;
}

::v-deep .u-mode-center-box {

Загрузка…
Отмена
Сохранить