refactor: 前端登录/权限/界面状态迁移至 zustand
This commit is contained in:
@@ -38,6 +38,7 @@ import PermissionButton from '../../components/PermissionButton';
|
||||
import EditableCell from '../../components/EditableCell';
|
||||
import { usePermission } from '../../hooks/usePermission';
|
||||
import { message } from '../../ui/app-message';
|
||||
import { useUserStore } from '../../store/user/userStore';
|
||||
import {
|
||||
canPullAttendance,
|
||||
getAttendanceExperience,
|
||||
@@ -184,12 +185,8 @@ const EMPTY_SUMMARY: AttendanceSummary = {
|
||||
};
|
||||
|
||||
function readCurrentRoles(): string[] {
|
||||
try {
|
||||
const user = JSON.parse(localStorage.getItem('user') || '{}') as { roles?: string[] };
|
||||
return Array.isArray(user.roles) ? user.roles : [];
|
||||
} catch {
|
||||
return [];
|
||||
}
|
||||
const roles = useUserStore.getState().user?.roles;
|
||||
return Array.isArray(roles) ? roles : [];
|
||||
}
|
||||
|
||||
function displayAttendanceStatus(status?: string | null): string {
|
||||
@@ -732,7 +729,7 @@ const AdminAttendanceArchive: React.FC<{ canEdit: boolean }> = ({ canEdit }) =>
|
||||
const handleExport = useCallback(() => {
|
||||
const params = new URLSearchParams();
|
||||
for (const [key, value] of Object.entries(buildParams(false))) params.set(key, String(value));
|
||||
const token = localStorage.getItem('token');
|
||||
const token = useUserStore.getState().token;
|
||||
fetch(`/api/attendance-records/export?${params.toString()}`, {
|
||||
headers: { Authorization: `Bearer ${token}` },
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user