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

View File

@ -116,9 +116,16 @@ fetchData()
:preview="false" :preview="false"
/> />
<div class="flex flex-col justify-between grow-1"> <div class="flex flex-col justify-between grow-1">
<div class="text-#000 text-16px ellipsis line-height-21px"> <div class="flex justify-between">
{{ item?.auctionArtworkInfo?.artworkTitle }} <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>
<div class="flex justify-between"> <div class="flex justify-between">
<div> <div>
<div class="text-#575757 text-14px line-height-none mb-5px"> <div class="text-#575757 text-14px line-height-none mb-5px">

View File

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

View File

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

View File

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