acdr-ui/dist/dev/mp-weixin/modules/mall/pay/result.js

222 lines
7.9 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_api_pay_order = require("../../../sheep/api/pay/order.js");
const sheep_hooks_useGoods = require("../../../sheep/hooks/useGoods.js");
const sheep_api_trade_order = require("../../../sheep/api/trade/order.js");
const sheep_util_const = require("../../../sheep/util/const.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 SUBSCRIBE_BTN_STATUS_STORAGE_KEY = "subscribe_btn_status";
const _sfc_main = {
__name: "result",
setup(__props) {
const state = common_vendor.reactive({
id: 0,
// 支付单号
orderType: "goods",
// 订单类型
result: "unpaid",
// 支付状态
orderInfo: {},
// 支付订单信息
tradeOrder: {},
// 商品订单信息,只有在 orderType 为 goods 才会请求。目的:【我的拼团】按钮的展示
counter: 0
// 获取结果次数
});
const payResult = common_vendor.computed(() => {
if (state.result === "unpaid") {
return "waiting";
}
if (state.result === "paid") {
return "success";
}
if (state.result === "failed") {
return "failed";
}
if (state.result === "closed") {
return "closed";
}
});
function getOrderInfo(id) {
return __async(this, null, function* () {
state.counter++;
const { data, code } = yield sheep_api_pay_order.PayOrderApi.getOrder(id);
if (code === 0) {
state.orderInfo = data;
if (!state.orderInfo || state.orderInfo.status === 30) {
state.result = "closed";
return;
}
if (state.orderInfo.status !== 0) {
state.result = "paid";
common_vendor.index.showModal({
title: "支付结果",
showCancel: false,
// 不要取消按钮
content: "支付成功",
success: () => {
autoSubscribeMessage();
}
});
if (state.orderType === "goods") {
const { data: data2, code: code2 } = yield sheep_api_trade_order.OrderApi.getOrder(state.orderInfo.merchantOrderId);
if (code2 === 0) {
state.tradeOrder = data2;
}
}
return;
}
}
if (state.counter < 3 && state.result === "unpaid") {
setTimeout(() => {
getOrderInfo(id);
}, 1500);
}
if (state.counter >= 3) {
state.result = "failed";
}
});
}
function onOrder() {
if (state.orderType === "recharge") {
sheep_index.sheep.$router.redirect("/modules/mall/pay/recharge-log");
} else {
sheep_index.sheep.$router.redirect("/modules/mall/order/list");
}
}
const showSubscribeBtn = common_vendor.ref(false);
function subscribeMessage() {
if (state.orderType !== "goods") {
return;
}
const event = [sheep_util_const.WxaSubscribeTemplate.TRADE_ORDER_DELIVERY];
if (state.tradeOrder.type === 3) {
event.push(sheep_util_const.WxaSubscribeTemplate.PROMOTION_COMBINATION_SUCCESS);
}
sheep_index.sheep.$platform.useProvider("wechat").subscribeMessage(event, () => {
common_vendor.index.removeStorageSync(SUBSCRIBE_BTN_STATUS_STORAGE_KEY);
common_vendor.index.setStorageSync(SUBSCRIBE_BTN_STATUS_STORAGE_KEY, "已订阅");
showSubscribeBtn.value = false;
});
}
function autoSubscribeMessage() {
return __async(this, null, function* () {
const subscribeBtnStatus = common_vendor.index.getStorageSync(SUBSCRIBE_BTN_STATUS_STORAGE_KEY);
if (!subscribeBtnStatus) {
showSubscribeBtn.value = true;
return;
}
subscribeMessage();
});
}
common_vendor.onLoad((options) => __async(this, null, function* () {
if (options.id) {
state.id = options.id;
}
if (options.orderType) {
state.orderType = options.orderType;
}
if (options.payState === "fail") {
state.result = "failed";
} else {
yield getOrderInfo(state.id);
}
}));
common_vendor.onShow(() => {
if (common_vendor.isEmpty(state.orderInfo)) {
return;
}
getOrderInfo(state.id);
});
common_vendor.onHide(() => {
state.result = "unpaid";
state.counter = 0;
});
return (_ctx, _cache) => {
return common_vendor.e({
a: payResult.value === "waiting"
}, payResult.value === "waiting" ? {} : {}, {
b: payResult.value === "success"
}, payResult.value === "success" ? {
c: common_vendor.unref(sheep_index.sheep).$url.static("/static/img/shop/order/order_pay_success.gif")
} : {}, {
d: ["failed", "closed"].includes(payResult.value)
}, ["failed", "closed"].includes(payResult.value) ? {
e: common_vendor.unref(sheep_index.sheep).$url.static("/static/img/shop/order/order_paty_fail.gif")
} : {}, {
f: payResult.value === "success"
}, payResult.value === "success" ? {} : {}, {
g: payResult.value === "failed"
}, payResult.value === "failed" ? {} : {}, {
h: payResult.value === "closed"
}, payResult.value === "closed" ? {} : {}, {
i: payResult.value === "waiting"
}, payResult.value === "waiting" ? {} : {}, {
j: payResult.value === "success"
}, payResult.value === "success" ? {
k: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price))
} : {}, {
l: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/modules/mall/index/index")),
m: payResult.value === "failed"
}, payResult.value === "failed" ? {
n: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.redirect("/modules/mall/pay/index", {
id: state.id,
orderType: state.orderType
}))
} : {}, {
o: payResult.value === "success"
}, payResult.value === "success" ? {
p: common_vendor.o(onOrder)
} : {}, {
q: payResult.value === "success" && state.tradeOrder.type === 3
}, payResult.value === "success" && state.tradeOrder.type === 3 ? {
r: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.redirect("/modules/mall/activity/groupon/order"))
} : {}, {
s: showSubscribeBtn.value && state.orderType === "goods"
}, showSubscribeBtn.value && state.orderType === "goods" ? {
t: common_vendor.unref(sheep_index.sheep).$url.static("/static/img/shop/order/cargo.png"),
v: common_vendor.o(subscribeMessage)
} : {}, {
w: common_vendor.p({
title: "支付结果",
bgStyle: {
color: "#FFF"
}
})
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b4b07c54"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=result.js.map