fix: 登录页entity_id存储取login响应顶层字段 — user对象无entity_id导致cma_entity_id恒为1

- login响应结构: {token, entity_id, entity_name, entity_short_name, user:{...}}
- 原代码读 res.user?.entity_id ?? 1 → 登录博海(2)却存1 → 页面显式传参1与token绑定2不一致 → get_entity_id返回403
- 改为 res.entity_id / res.entity_short_name(与MainLayout切换器存储逻辑一致)
This commit is contained in:
Hermes CI Fix
2026-08-11 11:32:27 +08:00
parent d56ba24f31
commit 52ec2c0f36
+2 -2
View File
@@ -60,8 +60,8 @@ async function handleLogin() {
const res: any = await authApi.login({ ...form, entity_id: Number(form.entity_id) })
localStorage.setItem('cma_token', res.token)
localStorage.setItem('cma_user', JSON.stringify(res.user))
localStorage.setItem('cma_entity_id', String(res.user?.entity_id ?? 1))
localStorage.setItem('cma_entity_name', res.user?.entity_short_name || res.user?.entity_name || '')
localStorage.setItem('cma_entity_id', String(res.entity_id ?? res.user?.entity_id ?? 1))
localStorage.setItem('cma_entity_name', res.entity_short_name || res.entity_name || '')
router.push('/dashboard')
} catch (e: any) {
ElMessage.error(e?.response?.data?.detail || '登录失败')