f
This commit is contained in:
@@ -224,6 +224,34 @@ const devCurrentStep = ref('enterprise_info')
|
|||||||
// 合同签署加载状态
|
// 合同签署加载状态
|
||||||
const contractSignLoading = ref(false)
|
const contractSignLoading = ref(false)
|
||||||
|
|
||||||
|
// 只补 enterprise_verify 所需 auth_url,不改动原有页面展示数据结构
|
||||||
|
// 轮询策略:最多 5 秒,每秒 1 次(最多 5 次)
|
||||||
|
const pollAuthUrlOnly = async (maxTries = 5) => {
|
||||||
|
for (let i = 0; i < maxTries; i++) {
|
||||||
|
const res = await certificationApi.getCertificationDetails()
|
||||||
|
const status = res?.data?.status
|
||||||
|
const authUrl = res?.data?.metadata?.auth_url
|
||||||
|
|
||||||
|
// 仅同步状态,避免覆盖已有展示字段
|
||||||
|
if (status && certificationData.value) {
|
||||||
|
certificationData.value.status = status
|
||||||
|
await setCurrentStepByStatus()
|
||||||
|
}
|
||||||
|
|
||||||
|
if (authUrl) {
|
||||||
|
// 保留原 metadata,仅更新链接字段
|
||||||
|
stepMeta.value = {
|
||||||
|
...(stepMeta.value || {}),
|
||||||
|
auth_url: authUrl,
|
||||||
|
}
|
||||||
|
return authUrl
|
||||||
|
}
|
||||||
|
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, 1000))
|
||||||
|
}
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
// 事件处理:优先用提交接口返回的认证数据更新步骤,确保进入「人工审核」页,避免依赖二次请求
|
// 事件处理:优先用提交接口返回的认证数据更新步骤,确保进入「人工审核」页,避免依赖二次请求
|
||||||
const handleEnterpriseSubmit = async (payload) => {
|
const handleEnterpriseSubmit = async (payload) => {
|
||||||
try {
|
try {
|
||||||
@@ -238,8 +266,14 @@ const handleEnterpriseSubmit = async (payload) => {
|
|||||||
certificationData.value = payload.response.data
|
certificationData.value = payload.response.data
|
||||||
stepMeta.value = payload.response.data?.metadata || {}
|
stepMeta.value = payload.response.data?.metadata || {}
|
||||||
await setCurrentStepByStatus()
|
await setCurrentStepByStatus()
|
||||||
|
if (currentStep.value === 'enterprise_verify' && !stepMeta.value?.auth_url) {
|
||||||
|
await pollAuthUrlOnly()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
await getCertificationDetails()
|
await getCertificationDetails()
|
||||||
|
if (currentStep.value === 'enterprise_verify' && !stepMeta.value?.auth_url) {
|
||||||
|
await pollAuthUrlOnly()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error(error?.message || '获取认证状态失败,请刷新页面')
|
ElMessage.error(error?.message || '获取认证状态失败,请刷新页面')
|
||||||
|
|||||||
Reference in New Issue
Block a user