diff --git a/frontend/src/views/login/index.vue b/frontend/src/views/login/index.vue index 83ffc7f..66de15f 100644 --- a/frontend/src/views/login/index.vue +++ b/frontend/src/views/login/index.vue @@ -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.setRefreshToken(response.data.token.refresh_token) @@ -232,12 +234,23 @@ const handleDingtalkLoginSuccess = (response: any) => { created_at: response.data.user.created_at || new Date().toISOString(), updated_at: response.data.user.updated_at || new Date().toISOString() } + console.log('[钉钉登录] 保存用户信息:', 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('钉钉登录成功') - // 跳转 - 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) }