178 lines
6.1 KiB
JavaScript
178 lines
6.1 KiB
JavaScript
|
"use strict";
|
|||
|
var __async = (__this, __arguments, generator) => {
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
var fulfilled = (value) => {
|
|||
|
try {
|
|||
|
step(generator.next(value));
|
|||
|
} catch (e) {
|
|||
|
reject(e);
|
|||
|
}
|
|||
|
};
|
|||
|
var rejected = (value) => {
|
|||
|
try {
|
|||
|
step(generator.throw(value));
|
|||
|
} catch (e) {
|
|||
|
reject(e);
|
|||
|
}
|
|||
|
};
|
|||
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|||
|
step((generator = generator.apply(__this, __arguments)).next());
|
|||
|
});
|
|||
|
};
|
|||
|
const common_vendor = require("../../../common/vendor.js");
|
|||
|
const sheep_index = require("../../../sheep/index.js");
|
|||
|
const sheep_hooks_useGoods = require("../../../sheep/hooks/useGoods.js");
|
|||
|
const sheep_api_pay_order = require("../../../sheep/api/pay/order.js");
|
|||
|
const sheep_api_pay_channel = require("../../../sheep/api/pay/channel.js");
|
|||
|
const sheep_platform_pay = require("../../../sheep/platform/pay.js");
|
|||
|
if (!Array) {
|
|||
|
const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
|
|||
|
const _component_layout_default_uni = common_vendor.resolveComponent("layout-default-uni");
|
|||
|
(_easycom_s_layout2 + _component_layout_default_uni)();
|
|||
|
}
|
|||
|
const _easycom_s_layout = () => "../../../sheep/components/s-layout/s-layout.js";
|
|||
|
if (!Math) {
|
|||
|
_easycom_s_layout();
|
|||
|
}
|
|||
|
const _sfc_main = {
|
|||
|
__name: "index",
|
|||
|
setup(__props) {
|
|||
|
const userWallet = common_vendor.computed(() => sheep_index.sheep.$store("user").userWallet);
|
|||
|
const state = common_vendor.reactive({
|
|||
|
orderType: "goods",
|
|||
|
// 订单类型; goods - 商品订单, recharge - 充值订单
|
|||
|
orderInfo: {},
|
|||
|
// 支付单信息
|
|||
|
payStatus: 0,
|
|||
|
// 0=检测支付环境, -2=未查询到支付单信息, -1=支付已过期, 1=待支付,2=订单已支付
|
|||
|
payMethods: [],
|
|||
|
// 可选的支付方式
|
|||
|
payment: ""
|
|||
|
// 选中的支付方式
|
|||
|
});
|
|||
|
const onPay = () => {
|
|||
|
if (state.payment === "") {
|
|||
|
sheep_index.sheep.$helper.toast("请选择支付方式");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (state.payment === "wallet") {
|
|||
|
common_vendor.index.showModal({
|
|||
|
title: "提示",
|
|||
|
content: "确定要支付吗?",
|
|||
|
success: function(res) {
|
|||
|
if (res.confirm) {
|
|||
|
sheep_index.sheep.$platform.pay(state.payment, state.orderType, state.orderInfo.id);
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
} else {
|
|||
|
sheep_index.sheep.$platform.pay(state.payment, state.orderType, state.orderInfo.id);
|
|||
|
}
|
|||
|
};
|
|||
|
const payDescText = common_vendor.computed(() => {
|
|||
|
if (state.payStatus === 2) {
|
|||
|
return "该订单已支付";
|
|||
|
}
|
|||
|
if (state.payStatus === 1) {
|
|||
|
const time = sheep_hooks_useGoods.useDurationTime(state.orderInfo.expireTime);
|
|||
|
if (time.ms <= 0) {
|
|||
|
state.payStatus = -1;
|
|||
|
return "";
|
|||
|
}
|
|||
|
return `剩余支付时间 ${time.h}:${time.m}:${time.s} `;
|
|||
|
}
|
|||
|
if (state.payStatus === -2) {
|
|||
|
return "未查询到支付单信息";
|
|||
|
}
|
|||
|
return "";
|
|||
|
});
|
|||
|
function checkPayStatus() {
|
|||
|
if (state.orderInfo.status === 10 || state.orderInfo.status === 20) {
|
|||
|
state.payStatus = 2;
|
|||
|
return;
|
|||
|
}
|
|||
|
if (state.orderInfo.status === 30) {
|
|||
|
state.payStatus = -1;
|
|||
|
return;
|
|||
|
}
|
|||
|
state.payStatus = 1;
|
|||
|
}
|
|||
|
function onTapPay(e) {
|
|||
|
state.payment = e.detail.value;
|
|||
|
}
|
|||
|
function setOrder(id) {
|
|||
|
return __async(this, null, function* () {
|
|||
|
const { data, code } = yield sheep_api_pay_order.PayOrderApi.getOrder(id);
|
|||
|
if (code !== 0 || !data) {
|
|||
|
state.payStatus = -2;
|
|||
|
return;
|
|||
|
}
|
|||
|
state.orderInfo = data;
|
|||
|
yield setPayMethods();
|
|||
|
checkPayStatus();
|
|||
|
});
|
|||
|
}
|
|||
|
function setPayMethods() {
|
|||
|
return __async(this, null, function* () {
|
|||
|
const { data, code } = yield sheep_api_pay_channel.PayChannelApi.getEnableChannelCodeList(state.orderInfo.appId);
|
|||
|
if (code !== 0) {
|
|||
|
return;
|
|||
|
}
|
|||
|
state.payMethods = sheep_platform_pay.getPayMethods(data);
|
|||
|
});
|
|||
|
}
|
|||
|
common_vendor.onLoad((options) => {
|
|||
|
if (sheep_index.sheep.$platform.name === "WechatOfficialAccount" && sheep_index.sheep.$platform.os === "ios" && !sheep_index.sheep.$platform.landingPage.includes("pages/pay/index")) {
|
|||
|
location.reload();
|
|||
|
return;
|
|||
|
}
|
|||
|
const id = options.id;
|
|||
|
if (options.orderType) {
|
|||
|
state.orderType = options.orderType;
|
|||
|
}
|
|||
|
setOrder(id);
|
|||
|
sheep_index.sheep.$store("user").getWallet();
|
|||
|
});
|
|||
|
return (_ctx, _cache) => {
|
|||
|
return common_vendor.e({
|
|||
|
a: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price)),
|
|||
|
b: common_vendor.t(payDescText.value),
|
|||
|
c: common_vendor.f(state.payMethods, (item, k0, i0) => {
|
|||
|
return common_vendor.e({
|
|||
|
a: item.disabled
|
|||
|
}, item.disabled ? {
|
|||
|
b: common_vendor.unref(sheep_index.sheep).$url.static("/static/img/shop/pay/cod_disabled.png")
|
|||
|
} : {
|
|||
|
c: common_vendor.unref(sheep_index.sheep).$url.static(item.icon)
|
|||
|
}, {
|
|||
|
d: common_vendor.t(item.title),
|
|||
|
e: item.value === "wallet"
|
|||
|
}, item.value === "wallet" ? {
|
|||
|
f: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(userWallet.value.balance))
|
|||
|
} : {}, {
|
|||
|
g: item.value,
|
|||
|
h: item.disabled,
|
|||
|
i: state.payment === item.value,
|
|||
|
j: item.disabled ? 1 : "",
|
|||
|
k: item.title
|
|||
|
});
|
|||
|
}),
|
|||
|
d: common_vendor.o(onTapPay),
|
|||
|
e: state.payStatus === 0
|
|||
|
}, state.payStatus === 0 ? {} : state.payStatus === -1 ? {} : {
|
|||
|
g: common_vendor.o(onPay),
|
|||
|
h: state.payStatus !== 1,
|
|||
|
i: state.payStatus !== 1 ? 1 : ""
|
|||
|
}, {
|
|||
|
f: state.payStatus === -1,
|
|||
|
j: common_vendor.p({
|
|||
|
title: "收银台"
|
|||
|
})
|
|||
|
});
|
|||
|
};
|
|||
|
}
|
|||
|
};
|
|||
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f56060e4"]]);
|
|||
|
wx.createPage(MiniProgramPage);
|
|||
|
//# sourceMappingURL=index.js.map
|