From 4c84a96e07f1c0d8708011e3aac4d69bd2f4e1b1 Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Fri, 15 May 2026 11:52:59 +0800
Subject: [PATCH] =?UTF-8?q?Fix=EF=BC=9A5286=20=E3=80=90=E5=95=86=E5=9F=8E?=
=?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E5=A5=96=E5=93=81=E6=94=B6?=
=?UTF-8?q?=E8=B4=A7=E5=9C=B0=E5=9D=80=E9=A1=B5=EF=BC=8C=E6=9C=AA=E8=AF=BB?=
=?UTF-8?q?=E5=8F=96=E5=90=8E=E5=8F=B0=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pkg-video/views/county-claim-address.vue | 38 ++++++++++++++++++------
pkg-video/views/county-my-tickets.vue | 22 +++++++-------
pkg-video/views/county-winners.vue | 18 +++++------
3 files changed, 48 insertions(+), 30 deletions(-)
diff --git a/pkg-video/views/county-claim-address.vue b/pkg-video/views/county-claim-address.vue
index ce24e78..e5c68ff 100644
--- a/pkg-video/views/county-claim-address.vue
+++ b/pkg-video/views/county-claim-address.vue
@@ -78,7 +78,7 @@
- *请仔细核对收货信息,提交后不可修改,奖品将在7个工作日内寄出
+ *请仔细核对收货信息,提交后不可修改,奖品将在{{ shipDayText }}个工作日内寄出
@@ -152,6 +152,7 @@ export default {
showRealnamePopup: false,
showSubmitSuccessPopup: false,
shipDay: 7,
+ prizeInfo: {},
prizeOrderId: '',
userInfo: {},
realnameStatus: 0,
@@ -170,14 +171,21 @@ export default {
}
},
onLoad(options) {
+ const routeParams = this.decodeRouteParams(options)
this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight || 20
- this.form.lotteryRecordId = options.lotteryRecordId || ''
- this.form.prizeName = decodeURIComponent(options.prizeName || '')
- this.form.prizeAttrName = decodeURIComponent(options.prizeAttrName || '')
- this.form.prizeType = decodeURIComponent(options.prizeType || '')
- this.form.prizeTypeName = decodeURIComponent(options.prizeTypeName || '')
- this.form.prizeImage = decodeURIComponent(options.prizeImage || '')
- this.form.ticketCode = decodeURIComponent(options.ticketCode || '')
+ this.prizeInfo = routeParams
+ this.form = {
+ ...this.form,
+ ...routeParams,
+ lotteryRecordId: routeParams.lotteryRecordId || routeParams.id || '',
+ prizeName: routeParams.prizeName || '',
+ prizeAttrName: routeParams.prizeAttrName || '',
+ prizeType: routeParams.prizeType || '',
+ prizeTypeName: routeParams.prizeTypeName || '',
+ prizeImage: routeParams.prizeImage || '',
+ ticketCode: routeParams.ticketCode || ''
+ }
+ this.shipDay = Number(routeParams.shipDay || 0) || 7
this.getCityList()
this.fetchRealnameStatus()
},
@@ -193,6 +201,18 @@ export default {
}
},
methods: {
+ decodeRouteParams(options = {}) {
+ return Object.keys(options).reduce((result, key) => {
+ const value = options[key]
+ if (value === undefined || value === null) return result
+ try {
+ result[key] = decodeURIComponent(value)
+ } catch (e) {
+ result[key] = value
+ }
+ return result
+ }, {})
+ },
goBack() {
uni.navigateBack()
},
@@ -282,7 +302,7 @@ export default {
return
}
await claimCoupon(ticketId)
- this.shipDay = 7
+ this.shipDay = Number(this.prizeInfo.shipDay || 0) || 7
this.prizeOrderId = ''
this.showSubmitSuccessPopup = true
},
diff --git a/pkg-video/views/county-my-tickets.vue b/pkg-video/views/county-my-tickets.vue
index 678c729..c84a591 100644
--- a/pkg-video/views/county-my-tickets.vue
+++ b/pkg-video/views/county-my-tickets.vue
@@ -363,15 +363,14 @@ export default {
}
return
}
- const query = [
- `lotteryRecordId=${item.id}`,
- `ticketCode=${encodeURIComponent(item.ticketCode || '')}`,
- `prizeName=${encodeURIComponent(item.prizeName || '')}`,
- `prizeAttrName=${encodeURIComponent(item.prizeAttrName || '')}`,
- `prizeType=${encodeURIComponent(item.prizeType || '')}`,
- `prizeTypeName=${encodeURIComponent(item.prizeTypeName || '')}`,
- `prizeImage=${encodeURIComponent(item.prizeImage || '')}`
- ].join('&')
+ const queryParams = {
+ ...item,
+ lotteryRecordId: item.lotteryRecordId || item.id || ''
+ }
+ const query = Object.keys(queryParams)
+ .filter((key) => queryParams[key] !== undefined && queryParams[key] !== null && typeof queryParams[key] !== 'object')
+ .map((key) => `${key}=${encodeURIComponent(queryParams[key])}`)
+ .join('&')
uni.navigateTo({
url: `/pkg-video/views/county-claim-address?${query}`
})
@@ -753,11 +752,12 @@ export default {
height: 40rpx;
border-radius: 50%;
border: 2rpx solid #333;
- font-size: 40rpx;
font-weight: 700;
color: #333;
- line-height: 40rpx;
text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
.popup-icon-wrap {
diff --git a/pkg-video/views/county-winners.vue b/pkg-video/views/county-winners.vue
index 1e9833e..fd26c5d 100644
--- a/pkg-video/views/county-winners.vue
+++ b/pkg-video/views/county-winners.vue
@@ -293,16 +293,14 @@ export default {
return prizeType === 3 || prize.prizeType === "coupon" || /券/.test(prizeName)
},
navToReceiveInfo(prize = {}) {
- const query = [
- `source=lottery`,
- `lotteryRecordId=${encodeURIComponent(prize.lotteryRecordId || "")}`,
- `ticketCode=${encodeURIComponent(prize.ticketCode || "")}`,
- `prizeName=${encodeURIComponent(prize.prizeName || "")}`,
- `prizeAttrName=${encodeURIComponent(prize.prizeAttrName || "")}`,
- `prizeType=${encodeURIComponent(prize.prizeType || "")}`,
- `prizeTypeName=${encodeURIComponent(prize.prizeTypeName || "")}`,
- `prizeImage=${encodeURIComponent(prize.prizeImage || "")}`
- ].join("&")
+ const queryParams = { source: "lottery", ...prize }
+ const query = Object.keys(queryParams)
+ .filter((key) => {
+ const value = queryParams[key]
+ return value !== undefined && value !== null && typeof value !== "object"
+ })
+ .map((key) => `${key}=${encodeURIComponent(queryParams[key])}`)
+ .join("&")
uni.navigateTo({
url: `/pkg-video/views/county-claim-address?${query}`
})