shinnosuke
2026-08-06 87219a653d3fc50cb7ea059f91f1e0da928de592
fix(merchant): 核销成功展示独立结果页 (bug #24136)
1个文件已添加
2个文件已修改
38 ■■■■■ 已修改文件
rencaika_merchant/pages.json 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika_merchant/pages/verification-confirm/verification-confirm.uvue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika_merchant/pages/verification-success/verification-success.uvue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika_merchant/pages.json
@@ -164,6 +164,14 @@
            }
        },
        {
            "path": "pages/verification-success/verification-success",
            "style": {
                "navigationStyle": "custom",
                "backgroundColor": "#F6F5F2",
                "disableScroll": true
            }
        },
        {
            "path": "pages/consume-input/consume-input",
            "style": {
                "navigationStyle": "custom",
rencaika_merchant/pages/verification-confirm/verification-confirm.uvue
@@ -32,8 +32,7 @@
        submitting.value = true
        confirmVerificationCode(verificationId.value, 'merchant-verify-' + verificationId.value + '-' + Date.now(), (result: any, _traceId: string) => {
            submitting.value = false
            uni.showToast({ title: result.message != null ? result.message : '核销成功', icon: 'success' })
            setTimeout(() => uni.navigateBack({ delta: 2 }), 1000)
            uni.redirectTo({ url: '/pages/verification-success/verification-success?message=' + encodeURIComponent(result.message != null ? '' + result.message : '本次核销已完成') })
        }, (error: any) => {
            submitting.value = false
            uni.showToast({ title: error.message != null ? error.message : '核销失败,请重试', icon: 'none' })
rencaika_merchant/pages/verification-success/verification-success.uvue
New file
@@ -0,0 +1,27 @@
<template>
    <view class="page">
        <view class="navigation-bar"><view class="back-button" @tap="returnToScan"><image class="back-icon" src="/static/icons/lucide/chevron-right.svg" mode="aspectFit"></image></view><text class="navigation-title">核销结果</text></view>
        <view class="result-content"><view class="success-shell"><image class="success-icon" src="/static/icons/lucide/badge-check-orange.svg" mode="aspectFit"></image></view><text class="result-title">核销成功</text><text class="result-message">{{message}}</text><view class="return-button" @tap="returnToScan"><text>继续核销</text></view></view>
    </view>
</template>
<script setup lang="uts">
    const message = ref('本次核销已完成')
    onLoad((options: any) => { if (options != null && options.message != null && ('' + options.message).length > 0) message.value = decodeURIComponent('' + options.message) })
    const returnToScan = () => uni.navigateBack({ delta: 1, fail: () => uni.reLaunch({ url: '/pages/scan/scan' }) })
</script>
<style>
    page { background-color: #F6F5F2; }
    .page { display: flex; width: 100%; height: 100vh; flex-direction: column; background-color: #F6F5F2; }
    .navigation-bar { display: flex; height: 176rpx; flex: none; justify-content: center; align-items: flex-end; padding-bottom: 26rpx; box-sizing: border-box; background-color: #FFFFFF; position: relative; }
    .navigation-title { color: #293344; font-size: 34rpx; line-height: 48rpx; font-weight: 700; }
    .back-button { display: flex; width: 72rpx; height: 72rpx; justify-content: center; align-items: center; position: absolute; left: 24rpx; bottom: 14rpx; }
    .back-icon { width: 38rpx; height: 38rpx; transform: rotate(180deg); }
    .result-content { display: flex; flex: 1; padding: 176rpx 64rpx 0; flex-direction: column; align-items: center; box-sizing: border-box; }
    .success-shell { display: flex; width: 170rpx; height: 170rpx; justify-content: center; align-items: center; border-radius: 85rpx; background-color: #FFF0E7; box-shadow: 0 16rpx 34rpx rgba(255, 107, 44, 0.13); }
    .success-icon { width: 100rpx; height: 100rpx; }
    .result-title { margin-top: 42rpx; color: #273345; font-size: 38rpx; line-height: 54rpx; font-weight: 700; }
    .result-message { margin-top: 20rpx; color: #8A94A3; font-size: 25rpx; line-height: 36rpx; text-align: center; }
    .return-button { display: flex; width: 100%; height: 88rpx; margin-top: 94rpx; justify-content: center; align-items: center; border-radius: 44rpx; color: #FFFFFF; font-size: 29rpx; line-height: 41rpx; font-weight: 700; background-image: linear-gradient(90deg, #FF7625 0%, #FF9630 100%); }
</style>