Fix:5286 【商城小程序】奖品收货地址页,未读取后台配置

This commit is contained in:
linxi
2026-05-15 11:52:59 +08:00
parent 45b98c7bf1
commit 4c84a96e07
3 changed files with 48 additions and 30 deletions
+29 -9
View File
@@ -78,7 +78,7 @@
</view>
</view>
<view class="tips">*请仔细核对收货信息提交后不可修改奖品将在7个工作日内寄出</view>
<view class="tips">*请仔细核对收货信息提交后不可修改奖品将在{{ shipDayText }}个工作日内寄出</view>
</scroll-view>
<view class="submit-wrap">
@@ -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
},
+11 -11
View File
@@ -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 {
+8 -10
View File
@@ -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}`
})