fix: 修复钉钉登录后跳转权限检查失败问题
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
yuliang_guo
2026-01-29 15:46:22 +08:00
parent 9f6d2844bc
commit 8484f0f250

View File

@@ -222,7 +222,9 @@ const goRegister = () => {
/** /**
* 钉钉登录成功处理 * 钉钉登录成功处理
*/ */
const handleDingtalkLoginSuccess = (response: any) => { const handleDingtalkLoginSuccess = async (response: any) => {
console.log('[钉钉登录] 处理登录成功响应:', response.data)
// 保存认证信息 // 保存认证信息
authManager.setAccessToken(response.data.token.access_token) authManager.setAccessToken(response.data.token.access_token)
authManager.setRefreshToken(response.data.token.refresh_token) authManager.setRefreshToken(response.data.token.refresh_token)
@@ -232,12 +234,23 @@ const handleDingtalkLoginSuccess = (response: any) => {
created_at: response.data.user.created_at || new Date().toISOString(), created_at: response.data.user.created_at || new Date().toISOString(),
updated_at: response.data.user.updated_at || new Date().toISOString() updated_at: response.data.user.updated_at || new Date().toISOString()
} }
console.log('[钉钉登录] 保存用户信息:', userInfo)
authManager.setCurrentUser(userInfo) authManager.setCurrentUser(userInfo)
// 等待 localStorage 写入完成
await new Promise(resolve => setTimeout(resolve, 100))
// 验证保存是否成功
const savedUser = authManager.getCurrentUser()
const savedToken = authManager.getAccessToken()
console.log('[钉钉登录] 验证保存结果: token=', !!savedToken, 'user=', savedUser?.username, 'role=', savedUser?.role)
ElMessage.success('钉钉登录成功') ElMessage.success('钉钉登录成功')
// 跳转 // 跳转到用户角色对应的默认页面
const redirect = new URLSearchParams(window.location.search).get('redirect') || authManager.getDefaultRoute() const defaultRoute = authManager.getDefaultRoute()
const redirect = new URLSearchParams(window.location.search).get('redirect') || defaultRoute
console.log('[钉钉登录] 跳转到:', redirect)
router.push(redirect) router.push(redirect)
} }