From 9b3851842628acaca6f62ff61cb78271970ea865 Mon Sep 17 00:00:00 2001 From: gqt <3217233537@qq.com> Date: Mon, 13 Jul 2026 17:57:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor(tickets):=20=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=80=82=E9=85=8D=E9=97=A8=E7=A5=A8=E4=B8=80=E6=AC=A1=E4=B8=80?= =?UTF-8?q?=E5=8D=95API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - createTicketOrder 去掉 quantity 参数 - toTicketOrder 去掉 quantity 映射 - 购票页循环创建 N 笔独立订单,提示逐笔支付 --- miniprogram/src/modules/comprehensive/api/ticket.js | 8 +++----- miniprogram/src/pages/comprehensive/tickets/index.vue | 11 +++++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/miniprogram/src/modules/comprehensive/api/ticket.js b/miniprogram/src/modules/comprehensive/api/ticket.js index 1b8715b..ba2f617 100644 --- a/miniprogram/src/modules/comprehensive/api/ticket.js +++ b/miniprogram/src/modules/comprehensive/api/ticket.js @@ -33,8 +33,7 @@ const toTicketAccount = (backendAccount = {}) => ({ const toTicketOrder = (backendData = {}) => ({ order: toOrderBrief(backendData.order), - product: toTicketProduct(backendData.product), - quantity: toNumber(backendData.quantity) + product: toTicketProduct(backendData.product) }) export const ticketApi = { @@ -49,11 +48,10 @@ export const ticketApi = { data: toPageQuery(params) }).then(toTicketAccount) }, - createTicketOrder(quantity) { + createTicketOrder() { return request({ url: '/api/tickets/orders', - method: 'POST', - data: { quantity } + method: 'POST' }).then(toTicketOrder) } } diff --git a/miniprogram/src/pages/comprehensive/tickets/index.vue b/miniprogram/src/pages/comprehensive/tickets/index.vue index f7b583f..d1aa13c 100644 --- a/miniprogram/src/pages/comprehensive/tickets/index.vue +++ b/miniprogram/src/pages/comprehensive/tickets/index.vue @@ -65,8 +65,15 @@ const submit = async () => { if (isSubmitting.value || !product.value?.is_active) return isSubmitting.value = true try { - const data = await ticketApi.createTicketOrder(quantity.value) - uni.navigateTo({ url: `/pages/comprehensive/pay/index?order_id=${data.order.id}` }) + const orderIds = [] + for (let i = 0; i < quantity.value; i++) { + const data = await ticketApi.createTicketOrder() + orderIds.push(data.order.id) + } + if (orderIds.length > 1) { + uni.showToast({ title: `已创建${orderIds.length}笔订单,请逐笔完成支付`, icon: 'none', duration: 2000 }) + } + uni.navigateTo({ url: `/pages/comprehensive/pay/index?order_id=${orderIds[0]}` }) } finally { isSubmitting.value = false }