feat(realAuth): 添加证件类型和号码功能

- 在实名认证页面添加证件类型和号码输入字段
- 更新国际化文件,添加相关翻译
- 修改个人资料页面,增加证件类型和号码显示
- 更新收集码签名页面,调整身份证件类型选择
This commit is contained in:
xingyy 2025-02-28 11:14:57 +08:00
parent 5e9df53433
commit f03c312b38
9 changed files with 55 additions and 10 deletions

View File

@ -1,7 +1,7 @@
<script setup>
import { ref } from 'vue'
import { useI18n } from 'vue-i18n'
const {t} =useI18n()
const props = defineProps({
modelValue: {
type: [Number, String]

View File

@ -138,8 +138,9 @@ initData()
<van-field :label="$t('realAuth.adress')" v-model="formData.address" class="mb-10px" :placeholder="$t('realAuth.adressPlaceholder')"/>
<van-field :label="$t('realAuth.bank')" v-model="formData.bankName" class="mb-10px" :placeholder="$t('realAuth.bankPlaceholder')"/>
<van-field :label="$t('realAuth.bankCard')" v-model="formData.bankNo" class="mb-10px" :placeholder="$t('realAuth.bankCardPlaceholder')"/>
<x-van-select v-model="formData.cardType" :label="$t('realAuth.idCard')" :columns="columns1"/>
<x-van-select v-model="formData.cardType" :label="$t('realAuth.idTye')" :columns="columns1"/>
<van-field :label="$t('realAuth.idCard')" v-model="formData.cardId" class="mb-10px" :placeholder="$t('realAuth.idCardPlaceholder')"/>
<x-van-select v-model="formData.gender" :label="$t('realAuth.gender')" :columns="columns"/>
</template>
</div>

View File

@ -1,13 +1,18 @@
<script setup>
import {authStore} from "@/stores/auth/index.js";
import {useI18n} from 'vue-i18n'
const {t:$t} = useI18n()
const {t} = useI18n()
const props = defineProps({
type: {
type: Number,
default: 0
}
})
const columns1 = ref([
{text: t('realAuth.idCard'), value: '1'},
{text: t('realAuth.passport'), value: '2'},
{text: t('realAuth.other'), value: '3'},
])
const {userInfo}= authStore()
</script>
@ -35,7 +40,7 @@ const {userInfo}= authStore()
<template v-if="type===1">
<div class="flex mb-20px" >
<div class="mr-10px">{{$t('realAuth.name')}}</div>
<div>{{userInfo.realName}}</div>
<div>{{userInfo.realName||userInfo.userExtend.realName||''}}</div>
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.gender')}}</div>
@ -57,6 +62,14 @@ const {userInfo}= authStore()
<div class="mr-10px">{{$t('realAuth.bankCard')}}</div>
<div>{{userInfo.userExtend.bankNo}}</div>
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.idTye')}}</div>
<div>{{columns1.find(x=>x.value===userInfo.userExtend.idType)?.text}}</div>
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.idNumber')}}</div>
<div>{{userInfo.userExtend.idNo}}</div>
</div>
</template>
</div>
</template>

View File

@ -17,6 +17,11 @@ const { locale } = useI18n()
const {userInfo,selectedZone}= authStore()
const active=ref(locale.value==='zh-CN'?0:1)
const { t } = useI18n()
const columns1 = ref([
{text: t('realAuth.idCard'), value: '1'},
{text: t('realAuth.passport'), value: '2'},
{text: t('realAuth.other'), value: '3'},
])
const form=ref({
realName: "",
sex:'',
@ -124,6 +129,12 @@ const goLogin=()=>{
<van-field v-model="form.userExtend.bankNo" :label="$t('realAuth.bankCard')" clearable
:placeholder="$t('realAuth.bankCardPlaceholder')"></van-field>
</div>
<div class="border-b-[1.7px] mt-[8px]">
<x-van-select v-model="form.userExtend.idType" :label="$t('realAuth.idTye')" :columns="columns1"/>
</div>
<div class="border-b-[1.7px] mt-[8px]">
<van-field :label="$t('realAuth.idNumber')" v-model="form.userExtend.idNo" class="mb-10px" :placeholder="$t('realAuth.idNumberPlaceholder')"/>
</div>
</div>
</van-tab>
</van-tabs>
@ -135,7 +146,7 @@ const goLogin=()=>{
<detail :type="active"></detail>
</van-tab>
</van-tabs>
<div class="flex justify-between" v-if="statusCode===0">
<div class="flex justify-between shrink-0 mb-20px" v-if="statusCode===0">
<van-button style="width: 151px;height: 48px" color="#E9F1F8" @click="goLogin">
<div class="text-#2B53AC text-16px">{{ $t('realAuth.cancel') }}</div>
</van-button>

View File

@ -157,7 +157,12 @@
"male": "Male",
"female": "Female"
}
}
},
"idTye": "Document Type",
"passport": "passport",
"other": "other",
"idNumber": "ID number",
"idNumberPlaceholder": "Please enter your ID number"
},
"detail": {
"text1": "Artist",

View File

@ -157,7 +157,12 @@
"male": "男性",
"female": "女性"
}
}
},
"idTye": "ドキュメントタイプ",
"passport": "パスポート",
"other": "他の",
"idNumber": "ID番号",
"idNumberPlaceholder": "ID番号を入力してください"
},
"detail": {
"text1": "アーティスト",

View File

@ -157,7 +157,12 @@
"male": "男",
"female": "女"
}
}
},
"idTye": "证件类型",
"passport": "护照",
"other": "其他",
"idNumber": "证件号",
"idNumberPlaceholder": "请输入证件号"
},
"detail": {
"text1": "作者",

View File

@ -208,7 +208,12 @@
"male": "男",
"female": "女"
}
}
},
"idTye": "證件類型",
"passport": "護照",
"other": "其他",
"idNumber": "證件號",
"idNumberPlaceholder": "請輸入證件號"
},
"detail": {
"text1": "作者",

View File

@ -127,7 +127,7 @@ export default defineNuxtConfig({
compatibilityVersion: 4,
},
// 指定 Nuxt 应用程序的兼容性日期,确保应用程序在未来的 Nuxt 版本中保持稳定性
compatibilityDate: '2025-01-09',
compatibilityDate: '2025-02-28',
devServer: {
host: '0.0.0.0', // Set the host to 'localhost'
port: 3000, // Set the port to 3000 or any other port you prefer