!166 feat(order): 支持通过支付订单号查询订单详情

This commit is contained in:
YunaiV
2025-11-24 20:08:09 +08:00
parent adf8e0c004
commit 50549b8064

View File

@@ -277,8 +277,6 @@
const state = reactive({
orderInfo: {},
merchantTradeNo: '', // 商户订单号
comeinType: '', // 进入订单详情的来源类型
});
// ========== 门店自提(核销) ==========
@@ -430,11 +428,7 @@
onShow(async () => {
// onShow中获取订单列表,保证跳转后页面为最新状态
//options.payOrderNo传值的情况下,onLoad 会去查询支付订单
//此时state.orderInfo.id没有值onShow await getOrderDetail会出现异常
//改用watch监听state.orderInfo.id 方式 await getOrderDetail
//await getOrderDetail(state.orderInfo.id);
await getOrderDetail(state.orderInfo.id);
});
onLoad(async (options) => {
@@ -442,30 +436,18 @@
if (options.id) {
id = options.id;
}
if (options.payOrderNo) {
// 场景:例如说“微信小程序购物订单”
// https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order_center/order_center.html
// (小程序商品订单详情 path配置参考pages/order/detail?payOrderNo=${商品订单号} 。其中:${商品订单号} out_trade_no 为 payOrderNo
if (!id && options.payOrderNo) {
// 查询支付订单:根据 payOrderNo 取 merchantOrderId merchantOrderId 即 tradeOrderId
// 例小程序商品订单详情path
// -- https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order_center/order_center.html
// -- 配置参考pages/order/detail?payOrderNo=${商品订单号}
// -- ${商品订单号} out_trade_no 为 payOrderNo根据 payOrderNo 取 merchantOrderId merchantOrderId 即 tradeOrderId
const payOrder = await PayOrderApi.getOrder(undefined, undefined, options.payOrderNo);
if (payOrder.code === 0) {
id = payOrder.data?.merchantOrderId || id;
id = payOrder.data?.merchantOrderId;
}
}
// TODO 芋艿:【微信物流】下面两个变量,后续接入
state.comeinType = options.comein_type;
if (state.comeinType === 'wechat') {
state.merchantTradeNo = options.merchant_trade_no;
}
state.orderInfo.id = id;
});
watch(() => state.orderInfo.id, async (newId) => {
if (newId) {
await getOrderDetail(newId);
}
});
</script>
<style lang="scss" scoped>