fix: align permission navigation and page access

This commit is contained in:
2026-07-11 14:55:49 +08:00
parent 1e1c476bc3
commit b6fca99390
27 changed files with 434 additions and 49 deletions

View File

@@ -5,6 +5,7 @@ import { UserOutlined, LockOutlined } from '@ant-design/icons';
import api from '../../api';
import { message } from '../../ui/app-message';
import { writePermissions } from '../../auth/permission-store';
import { findFirstAccessiblePath } from '../../auth/permission-navigation';
const { Title } = Typography;
@@ -18,9 +19,10 @@ const LoginPage: React.FC = () => {
const res: any = await api.post('/auth/login', values);
localStorage.setItem('token', res.access_token);
localStorage.setItem('user', JSON.stringify(res.user));
writePermissions(res.user.permissions || []);
const permissions = res.user.permissions || [];
writePermissions(permissions);
message.success('登录成功');
navigate('/dashboard');
navigate(findFirstAccessiblePath(permissions) || '/', { replace: true });
} catch (err: any) {
message.error(err?.message || '登录失败');
} finally {