mirror of
https://gitee.com/yudaocode/yudao-mall-uniapp.git
synced 2025-12-30 01:32:26 +00:00
!166 ✨ feat(order): 支持通过支付订单号查询订单详情
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user