refactor(auth): 优化实名认证逻辑和用户信息展示

- 在 detail.vue 中增加性别显示逻辑,将 sex 字段转换为对应的性别文字
- 在 auth store 中添加 selectedZone 属性,用于保存选择的区号
- 修改 login 页面,将 selectedZone 存入 store 并在组件挂载时初始化
- 更新 profile 页面,增加拍卖作品状态显示
- 优化 realAuth 页面,根据选择的区号决定是否进行法大大验证
This commit is contained in:
xingyy 2025-02-20 20:40:00 +08:00
parent 977844dbc8
commit 29e8fb9cb7
5 changed files with 28 additions and 13 deletions

View File

@ -6,7 +6,7 @@ import {senCode, userLogin} from "@/api/auth/index.js";
import {authStore} from "@/stores/auth/index.js";
import {message} from '@/components/x-message/useMessage.js'
import {fddCheck} from "~/api/goods/index.js";
const {userInfo,token}= authStore()
const {userInfo,token,selectedZone}= authStore()
const router = useRouter();
const route = useRoute();
const { locale } = useI18n()
@ -71,10 +71,11 @@ const getDefaultCountry = () => {
const defaultCountry = getDefaultCountry()
//
const selectedZone = ref(route.query.zone || defaultCountry.zone)
const selectedCountry = ref(route.query.countryName || defaultCountry.name)
const selectedCountry = ref(route.query.countryName || defaultCountry.name)
onMounted(()=>{
selectedZone.value=route.query.zone || defaultCountry.zone
})
//
watch(locale, () => {
if (!route.query.zone) {

View File

@ -116,9 +116,16 @@ fetchData()
:preview="false"
/>
<div class="flex flex-col justify-between grow-1">
<div class="text-#000 text-16px ellipsis line-height-21px">
{{ item?.auctionArtworkInfo?.artworkTitle }}
<div class="flex justify-between">
<div class="text-#000 text-16px ellipsis line-height-21px">
{{ item?.auctionArtworkInfo?.artworkTitle }}
</div>
<div class="text-14px text-right text-#3C55B2 ">
{{statusLabel[item.status]}}
</div>
</div>
<div class="flex justify-between">
<div>
<div class="text-#575757 text-14px line-height-none mb-5px">

View File

@ -20,7 +20,7 @@ const {userInfo}= authStore()
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.gender')}}</div>
<div>{{userInfo.sex}}</div>
<div>{{userInfo.sex===1?'男':'女'}}</div>
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.birthday')}}</div>
@ -38,7 +38,7 @@ const {userInfo}= authStore()
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.gender')}}</div>
<div>{{userInfo.sex}}</div>
<div>{{userInfo.sex===1?'男':'女'}}</div>
</div>
<div class="flex mb-20px">
<div class="mr-10px">{{$t('realAuth.birthday')}}</div>

View File

@ -14,7 +14,7 @@ definePageMeta({
const router = useRouter();
const route = useRoute();
const { locale } = useI18n()
const {userInfo}= authStore()
const {userInfo,selectedZone}= authStore()
const active=ref(locale.value==='zh-CN'?0:1)
const { t } = useI18n()
const form=ref({
@ -58,11 +58,16 @@ const confirm=async ()=>{
if (res.status===0){
userInfo.value=res.data
message.success(t('realAuth.success_mess'))
const res1=await fddCheck()
if (res1.status===0){
if (res1.data.isNeedJump){
window.location.href=res1.data.h5Url
//
if (active.value===0){
const res1=await fddCheck()
if (res1.status===0){
if (res1.data.isNeedJump){
window.location.href=res1.data.h5Url
}
}
}else {
statusCode.value=1
}
}
}else {

View File

@ -5,6 +5,7 @@ export const authStore = createGlobalState(() => {
const userInfo=useLocalStorage('userInfo',{})
const fingerprint=useLocalStorage('fingerprint','')
const checkoutSessionUrl=useLocalStorage('checkoutSessionUrl','')
const selectedZone=useLocalStorage('selectedZone','')
const payment=useLocalStorage('payment',{
leftPrice:'',
leftCurrency:'',
@ -13,6 +14,7 @@ export const authStore = createGlobalState(() => {
})
return{
selectedZone,
payment,
checkoutSessionUrl,
userInfo,