From 98be4bc5ac98da6b7fa347193fe6d4b475a8c7fd Mon Sep 17 00:00:00 2001 From: xingyy <64720302+Concur-max@users.noreply.github.com> Date: Fri, 7 Mar 2025 14:42:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(collectCode):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=E5=8A=9F=E8=83=BD=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在签名面板中添加加载提示功能 - 根据签名顺序跳转到不同页面 - 在个人信息页面添加默认国家代码功能 - 优化个人信息页面的初始化逻辑 --- .../collectCode/signature/panel/index.vue | 27 ++++++++++--- .../signature/personal-Info/index.vue | 40 +++++++++++++++++-- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/app/pages/collectCode/signature/panel/index.vue b/app/pages/collectCode/signature/panel/index.vue index eebb638..592af72 100644 --- a/app/pages/collectCode/signature/panel/index.vue +++ b/app/pages/collectCode/signature/panel/index.vue @@ -4,6 +4,7 @@ import { showToast } from 'vant'; import {codeAuthStore} from "~/stores-collect-code/auth/index.js"; import {signOffline} from "~/api/goods/index.js"; import {useI18n} from "vue-i18n"; +import {showLoadingToast} from 'vant' const {t} = useI18n(); const {formData,number,qrData}=codeAuthStore() const signaturePad = ref(null); @@ -31,15 +32,29 @@ const clearSignature = () => { }; const confirm=async ()=>{ - const res=await signOffline({ - auctionArtworkUuid:qrData.value.auctionArtworkUuid, - userInfo:formData.value, - signOrder:Number(number.value), - signImgFileData:imgUrl.value, +const toast= showLoadingToast({ + message:t('collectCode.signature.loading'), + forbidClick:true, }) + try { + const res=await signOffline({ + auctionArtworkUuid:qrData.value.auctionArtworkUuid, + userInfo:formData.value, + signOrder:Number(number.value), + signImgFileData:imgUrl.value, + }) + if (res.status===0){ - router.push('/collectCode/signature/result') + if(Number(number.value)===1){ + router.push('/collectCode/signature/result') + }else if(Number(number.value)===2){ + router.push('/collectCode/payment') + } + toast.close() } +} catch (error) { + toast.close() +} } diff --git a/app/pages/collectCode/signature/personal-Info/index.vue b/app/pages/collectCode/signature/personal-Info/index.vue index ce98949..60a838c 100644 --- a/app/pages/collectCode/signature/personal-Info/index.vue +++ b/app/pages/collectCode/signature/personal-Info/index.vue @@ -4,6 +4,7 @@ import XVanSelect from '@/components/x-van-select/index.vue' import XVanDate from '@/components/x-van-date/index.vue' import {codeAuthStore} from "@/stores-collect-code/auth/index.js"; import {message} from "@/components/x-message/useMessage.js"; +import countryCode from '@/pages/countryRegion/data/index.js' import {fddInfo, offlineQrcode} from "~/api-collect-code/goods/index.js"; import {signOffline} from "~/api/goods/index.js"; const {formData,number,auctionArtworkUuid,qrUid,qrData}=codeAuthStore() @@ -12,7 +13,7 @@ definePageMeta({ i18n: 'menu.profile', }) -const {t} = useI18n() +const {t,locale} = useI18n() const router = useRouter() const route = useRoute() const columns = ref([ @@ -24,6 +25,33 @@ const columns1 = ref([ {text: t('realAuth.passport'), value: 2}, {text: t('realAuth.other'), value: 3}, ]) +const getDefaultCountry = () => { + let defaultCode = 'CN' // 默认中国大陆 + switch (locale.value) { + case 'zh-CN': + defaultCode = 'CN' + break + case 'zh-TW': + defaultCode = 'TW' + break + case 'ja-JP': + defaultCode = 'JP' + break + case 'en-US': + defaultCode = 'US' + break + } + + const country = countryCode.find(c => c.code === defaultCode) + return { + zone: country.zone, + name: locale.value === 'zh-CN' ? country.cn : + locale.value === 'zh-TW' ? country.tw : + locale.value === 'ja-JP' ? country.ja : + country.en + } +} + const goCountryRegion=()=>{ router.push({ path:'/countryRegion' @@ -64,11 +92,14 @@ const initData= async ()=>{ router.replace('/collectCode/payment') } } - + if(!formData.value.countryCode){ + console.log('formData.value.countryCode',!!formData.value.countryCode) + const defaultCountry = getDefaultCountry() + console.log('defaultCountry',defaultCountry) + formData.value.countryCode= defaultCountry.zone + } if (route.query.zone){ formData.value.countryCode=route.query.zone - }else { - formData.value.countryCode='86' } } const nextClick=async ()=>{ @@ -110,6 +141,7 @@ const nextClick=async ()=>{ router.push('/collectCode/signature/protocol') } } + initData()