7月29号
This commit is contained in:
+46
-14
@@ -85,17 +85,19 @@
|
||||
<!-- 入园码二维码 -->
|
||||
<view class="qrcode-section" v-if="!showFaceModal && !isLeaving">
|
||||
<text class="qrcode-title">入园码</text>
|
||||
<view class="qrcode-box">
|
||||
<image
|
||||
<view>为确保信息安全,现入园核销只能使用人脸核销。</view>
|
||||
<!-- <view class="qrcode-box"> -->
|
||||
<!-- 为确保信息安全,现入园核销只能使用人脸核销。 -->
|
||||
<!-- <image
|
||||
class="qrcode-img"
|
||||
:src="userInfoData?.qrCode || '/static/qr-demo.png'"
|
||||
mode="aspectFit"
|
||||
/>
|
||||
</view>
|
||||
<view class="qrcode-countdown">
|
||||
/> -->
|
||||
<!-- </view> -->
|
||||
<!-- <view class="qrcode-countdown">
|
||||
<view class="countdown-icon" />
|
||||
<text class="countdown-text">{{ countdown }}秒后自动刷新</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<!-- 持卡人信息(页面底部) -->
|
||||
@@ -152,8 +154,8 @@
|
||||
<!-- 人脸绑定提醒弹窗 -->
|
||||
<ConfirmModal
|
||||
v-model="showFaceModal"
|
||||
title="系统安全升级提醒"
|
||||
:content="'为保障您的旅游卡信息安全、规范入园使用,平台已启动人脸核验升级。\n根据规则要求,使用旅游卡前需完成人脸绑定,核验仅用于身份核实,人脸信息严格保密,不会挪作他用。\n请立即完成人脸绑定,方可继续使用全部功能。'"
|
||||
:title="faceModalTitle"
|
||||
:content="faceModalContent"
|
||||
confirmText="前往人脸绑定"
|
||||
@confirm="onFaceModalConfirm"
|
||||
/>
|
||||
@@ -167,15 +169,18 @@ import { useUserStore } from '../../store/user'
|
||||
import { getUserCardList, getQrAndUserInfo } from '../../api/card'
|
||||
import type { UserCardListItem, QrAndUserInfoResult } from '../../api/types'
|
||||
import ConfirmModal from '../../components/confirm-modal.vue'
|
||||
import { post } from '../../api/request'
|
||||
|
||||
const userStore = useUserStore()
|
||||
|
||||
const notLoggedIn = ref(false)
|
||||
const loading = ref(false)
|
||||
const loading = ref(true)
|
||||
const loaded = ref(false)
|
||||
const userCards = ref<UserCardListItem[]>([])
|
||||
const userInfoData = ref<QrAndUserInfoResult | null>(null)
|
||||
const showFaceModal = ref(false)
|
||||
const faceModalTitle = ref('系统安全升级提醒')
|
||||
const faceModalContent = ref('为保障您的旅游卡信息安全、规范入园使用,平台已启动人脸核验升级。\n根据规则要求,使用旅游卡前需完成人脸绑定,核验仅用于身份核实,人脸信息严格保密,不会挪作他用。\n请立即完成人脸绑定,方可继续使用全部功能。')
|
||||
const isLeaving = ref(false)
|
||||
|
||||
const hasCard = computed(() => userCards.value.length > 0)
|
||||
@@ -189,6 +194,7 @@ async function fetchCards() {
|
||||
const mobile = uni.getStorageSync('phone') as string
|
||||
if (!mobile) {
|
||||
loaded.value = true
|
||||
loading.value = false
|
||||
return
|
||||
}
|
||||
loading.value = true
|
||||
@@ -199,6 +205,8 @@ async function fetchCards() {
|
||||
|
||||
const firstCard = userCards.value[0]
|
||||
if (firstCard?.needFaceImgFlag) {
|
||||
faceModalTitle.value = '系统安全升级提醒'
|
||||
faceModalContent.value = '为保障您的旅游卡信息安全、规范入园使用,平台已启动人脸核验升级。\n根据规则要求,使用旅游卡前需完成人脸绑定,核验仅用于身份核实,人脸信息严格保密,不会挪作他用。\n请立即完成人脸绑定,方可继续使用全部功能。'
|
||||
showFaceModal.value = true
|
||||
}
|
||||
|
||||
@@ -226,6 +234,8 @@ async function refreshNeedFace() {
|
||||
if (current) {
|
||||
fetchUserInfo(current)
|
||||
if (current.needFaceImgFlag) {
|
||||
faceModalTitle.value = '系统安全升级提醒'
|
||||
faceModalContent.value = '为保障您的旅游卡信息安全、规范入园使用,平台已启动人脸核验升级。\n根据规则要求,使用旅游卡前需完成人脸绑定,核验仅用于身份核实,人脸信息严格保密,不会挪作他用。\n请立即完成人脸绑定,方可继续使用全部功能。'
|
||||
showFaceModal.value = true
|
||||
}
|
||||
}
|
||||
@@ -259,6 +269,8 @@ function onCardChange(e: any) {
|
||||
if (card) {
|
||||
fetchUserInfo(card)
|
||||
if (card.needFaceImgFlag) {
|
||||
faceModalTitle.value = '系统安全升级提醒'
|
||||
faceModalContent.value = '为保障您的旅游卡信息安全、规范入园使用,平台已启动人脸核验升级。\n根据规则要求,使用旅游卡前需完成人脸绑定,核验仅用于身份核实,人脸信息严格保密,不会挪作他用。\n请立即完成人脸绑定,方可继续使用全部功能。'
|
||||
showFaceModal.value = true
|
||||
}
|
||||
}
|
||||
@@ -344,17 +356,37 @@ function onFeatureClick(item: { label: string }) {
|
||||
return
|
||||
}
|
||||
if (item.label === '我要预约') {
|
||||
const url = currentCard.value?.thirdId
|
||||
? `/packages/content/pages/scenic-list?cardModelId=${currentCard.value.thirdId}`
|
||||
: '/packages/content/pages/scenic-list'
|
||||
uni.navigateTo({ url })
|
||||
const card = currentCard.value
|
||||
if (!card) {
|
||||
uni.showToast({ title: '请先选择一张旅游卡', icon: 'none' })
|
||||
return
|
||||
}
|
||||
post<any>('/mp-api/mpCard/checkFaceBind', { cardModelId: card.cardModelId, cardNumber: card.cardNo })
|
||||
.then((res) => {
|
||||
if (res?.needBindFace) {
|
||||
faceModalTitle.value = '系统安全升级提醒'
|
||||
faceModalContent.value = '为保障您的旅游卡信息安全、规范入园使用,平台已启动人脸核验升级。\n根据规则要求,使用旅游卡前需完成人脸绑定,核验仅用于身份核实,人脸信息严格保密,不会挪作他用。\n请立即完成人脸绑定,方可继续使用全部功能。'
|
||||
showFaceModal.value = true
|
||||
} else {
|
||||
const url = card.thirdId
|
||||
? `/packages/content/pages/scenic-list?cardModelId=${card.thirdId}`
|
||||
: '/packages/content/pages/scenic-list'
|
||||
uni.navigateTo({ url })
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
const url = card.thirdId
|
||||
? `/packages/content/pages/scenic-list?cardModelId=${card.thirdId}`
|
||||
: '/packages/content/pages/scenic-list'
|
||||
uni.navigateTo({ url })
|
||||
})
|
||||
return
|
||||
}
|
||||
if (item.label === '使用说明') {
|
||||
uni.navigateTo({ url: '/packages/content/pages/usage-guide' })
|
||||
return
|
||||
}
|
||||
if (item.label === '使用记录') {
|
||||
if (item.label === '预约/使用记录') {
|
||||
uni.navigateTo({ url: '/packages/user/pages/reserve/list' })
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user