diff --git a/src/service/request/index.ts b/src/service/request/index.ts index f2ddf90..01ce2db 100644 --- a/src/service/request/index.ts +++ b/src/service/request/index.ts @@ -103,6 +103,7 @@ export const request = createFlatRequest( return response.data.data; }, onError(error) { + // when the request is fail, you can show error message let message = error.message; let backendErrorCode = ''; @@ -124,7 +125,6 @@ export const request = createFlatRequest( if (expiredTokenCodes.includes(backendErrorCode)) { return; } - if (backendErrorCode === import.meta.env.VITE_SERVICE_SERVER_ERROR_CODE) { clearAuthStorage(); return; @@ -178,4 +178,4 @@ export const rawRequest = createRequest( window.$message?.error(message); } } -); \ No newline at end of file +); diff --git a/src/views/userInfo/kyc/index.vue b/src/views/userInfo/kyc/index.vue index 0ba801a..86ce319 100644 --- a/src/views/userInfo/kyc/index.vue +++ b/src/views/userInfo/kyc/index.vue @@ -11,9 +11,9 @@ import dayjs from 'dayjs'; // 导入 dayjs // const { t } = useI18n(); // KYC 状态 -const kycStatus = ref(0); +const kycStatus = ref('UNVERIFIED'); const kycInfo = ref>({ - status: 0, + status: 'UNVERIFIED', fullName: '', birthDate: '', rejectReason: '', @@ -24,7 +24,7 @@ const kycInfo = ref>({ const idTypeOptions = [ { value: 1, label: '驾驶证' }, { value: 2, label: '护照' }, - { value: 3, label: '居留许可' }, + { value: 3, label: '身份证/居住证' }, { value: 4, label: '学生证' }, { value: 5, label: '医保卡' }, { value: 6, label: '出生证明' } @@ -101,17 +101,39 @@ const getBase64 = (file: File): Promise => { // 获取 KYC 状态 const getKYCStatus = async () => { try { - const { data, error } = await fetchKYCStatus(); - if (error) { - console.error('Failed to fetch KYC status:', error); - return; - } - if (data) { - kycStatus.value = data.status; - kycInfo.value = data; + const { data } = await fetchKYCStatus(); + if (data?.status) { + // 将状态转换为标准格式 + const normalizedStatus = data.status.toUpperCase() as Api.KYC.KYCStatus; + kycStatus.value = normalizedStatus; + kycInfo.value = { + ...data, + status: normalizedStatus + }; + } else { + // 如果没有状态数据,设置为默认值 + kycStatus.value = 'UNVERIFIED'; + kycInfo.value = { + status: 'UNVERIFIED', + fullName: '', + birthDate: '', + rejectReason: '', + verifiedTime: '' + }; + console.warn('No KYC status data received'); } } catch (error) { console.error('Failed to fetch KYC status:', error); + message.error('获取认证状态失败'); + // 发生错误时也设置默认值 + kycStatus.value = 'UNVERIFIED'; + kycInfo.value = { + status: 'UNVERIFIED', + fullName: '', + birthDate: '', + rejectReason: '', + verifiedTime: '' + }; } }; @@ -192,11 +214,10 @@ const submitKYC = async () => { return; } - // 格式化出生日期为 YYYY-MM-DD 格式 const formattedBirthDate = dayjs(formData.value.birthDate).format('YYYY-MM-DD'); await submitKYCVerification({ - realName: formData.value.fullName, // 添加真实姓名 + realName: formData.value.fullName, birthDate: formattedBirthDate, idType: formData.value.idType, idFile: formData.value.idCardFile, @@ -220,13 +241,16 @@ const disabledDate = (current: Dayjs) => { // 获取状态颜色 const getStatusColor = (status: Api.KYC.KYCStatus) => { - switch (status) { - case 0: + const normalizedStatus = status.toUpperCase(); + switch (normalizedStatus) { + case 'UNVERIFIED': return 'warning'; // 未认证:橙色警告 - case 1: + case 'PENDING': return 'processing'; // 认证中:蓝色处理中 - case 2: + case 'VERIFIED': return 'success'; // 已认证:绿色成功 + case 'REJECTED': + return 'error'; // 已拒绝:红色错误 default: return 'default'; } @@ -234,13 +258,16 @@ const getStatusColor = (status: Api.KYC.KYCStatus) => { // 获取状态文本 const getStatusText = (status: Api.KYC.KYCStatus) => { - switch (status) { - case 0: + const normalizedStatus = status.toUpperCase(); + switch (normalizedStatus) { + case 'UNVERIFIED': return '未认证'; - case 1: + case 'PENDING': return '认证中'; - case 2: + case 'VERIFIED': return '已认证'; + case 'REJECTED': + return '已拒绝'; default: return '未知状态'; } @@ -271,7 +298,7 @@ onMounted(() => { -
+
认证姓名: {{ kycInfo.fullName }} @@ -293,7 +320,7 @@ onMounted(() => {
-
+

认证信息

请填写真实的个人信息,所有信息仅用于身份认证

@@ -392,7 +419,7 @@ onMounted(() => {