import { getDrawTicketByOrder } from '@/api/lottery' export const orderPaySuccessToCheckDrawStatus = { data(){ return { drawTicketPopup: { show: false, ticketCode: '', drawTime: '' } } }, methods: { setDrawTicketPopupFromQuery(ticketData = '') { const drawTicketData = ticketData || this.$yroute.query.drawTicketData if (!drawTicketData) { return } let result = {} try { result = typeof drawTicketData === 'string' ? JSON.parse(decodeURIComponent(drawTicketData)) : drawTicketData console.log(result) } catch (e) { result = {} } const hasTicket = Number(result.hasTicket || 0) === 1 const howPopup = Number(result.showPopup || 0) === 1 if (!hasTicket || !howPopup) { return } this.drawTicketPopup = { show: true, ticketCode: result.ticketCode || result.code || '', drawTime: result.drawTime || '' } }, closeDrawTicketPopup() { this.drawTicketPopup.show = false }, goHomeFromPopup() { this.drawTicketPopup.show = false uni.switchTab({ url: '/pages/home/index' }) }, goTicketsFromPopup() { this.drawTicketPopup.show = false uni.navigateTo({ url: '/pkg-video/views/county-my-tickets' }) }, buildOrderDetailQuery(orderId, drawTicketResult = {}) { return { id: orderId, drawTicketData: encodeURIComponent(JSON.stringify(drawTicketResult || {})) } }, async afterPaySuccess(orderId, fallback) { if (!orderId) { fallback && fallback() return } try { const res = await getDrawTicketByOrder(orderId) const result = (res && res.data) || {} fallback && fallback(result) return } catch (e) { } fallback && fallback({}) } } }