支付完成后跳转群消息

This commit is contained in:
yml
2026-06-18 16:06:39 +08:00
parent 275663c4ea
commit a0b5ed2efb
5 changed files with 42 additions and 13 deletions
@@ -13,6 +13,7 @@ import {
} from '@/features/orders/api/orders'
import MobilePaymentCashierPopup from '@/features/orders/components/MobilePaymentCashierPopup.vue'
import { useMobilePaymentCashier } from '@/features/orders/composables/useMobilePaymentCashier'
import { fetchOrderChat } from '@/features/chats/api/chats'
import { centToYuan, formatMoney } from '@/shared/utils/money'
import { useSessionStore } from '@/stores/session'
import { formatDateMinute } from '@/shared/utils/time'
@@ -100,10 +101,10 @@ async function handlePay(order: Order) {
try {
const payment = await startOrderPayment(order.id, { pay_way: payWay })
if (payment.paid) {
showToast({ message: '支付成功,等待号主交接', icon: 'passed' })
await loadOrders()
showToast({ message: '支付成功,正在进入群消息', icon: 'passed' })
await openOrderChatAfterPayment(order)
} else {
await openMobilePaymentCashier(payment, loadOrders)
await openMobilePaymentCashier(payment, () => openOrderChatAfterPayment(order))
}
} catch (error) {
showToast({ message: readError(error, '支付失败'), icon: 'cross' })
@@ -112,6 +113,16 @@ async function handlePay(order: Order) {
}
}
async function openOrderChatAfterPayment(order: Order) {
try {
const chat = await fetchOrderChat(order.id)
await router.push(`/m/chats/${chat.id}`)
} catch {
showToast({ message: '支付成功,但群消息暂不可用,请稍后从消息进入', icon: 'warning-o' })
await loadOrders()
}
}
// selectPayWay 在列表快捷支付前让用户选择支付宝或微信。
async function selectPayWay(): Promise<PaymentPayWay | null> {
try {
@@ -23,7 +23,7 @@ const cashier = useOrderPaymentCashier({
notifyError: message => ElMessage.error(message),
notifyInfo: message => ElMessage.info(message),
notifyFallback: message => ElMessage.warning(message),
paidMessage: '支付成功,等待号主交接',
paidMessage: '支付成功,正在进入群消息',
pollIntervalMs: 3000,
qrWidth: 240,
})