fix: merge后14个测试修复+前端TS编译修复 - 895/895通过+前端零错误
This commit is contained in:
1 parent
58eb78c987
commit
b39c426317
24 files changed
+3918
-760
No files matched your search
@@ -335,7 +335,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
|
||||
table?: string
|
||||
): boolean => {
|
||||
if (!isLoggedIn) return false;
|
||||
if (isAdmin) return true; // 管理员拥有所有数据源权限
|
||||
if (user.role === 'admin') return true; // 管理员拥有所有数据源权限
|
||||
|
||||
const cache = permissionCacheRef.current;
|
||||
const cacheKey = `${instanceId}:${action}:${database || '*'}:${table || '*'}`;
|
||||
@@ -368,7 +368,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
|
||||
cache.dataSource.set(cacheKey, hasPerm);
|
||||
cache.timestamp = Date.now();
|
||||
return hasPerm;
|
||||
}, [user.dataSourcePermissions, user.role, isAdmin, isLoggedIn, isCacheValid]);
|
||||
}, [user.dataSourcePermissions, user.role, isLoggedIn, isCacheValid]);
|
||||
|
||||
/** 批量检查数据源权限 */
|
||||
const checkDataSourcePermissions = useCallback((
|
||||
@@ -387,34 +387,31 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
|
||||
/** 从服务器刷新用户权限 */
|
||||
const refreshPermissions = useCallback(async (): Promise<void> => {
|
||||
try {
|
||||
const res = await authApi.getCurrentUser();
|
||||
if (res.user) {
|
||||
const u = res.user;
|
||||
const role = u.role as UserRole;
|
||||
const dataSourcePermissions: DataSourcePermission[] = u.data_source_permissions
|
||||
? JSON.parse(u.data_source_permissions)
|
||||
: [];
|
||||
const customPermissions: Record<string, boolean> = u.custom_permissions
|
||||
? JSON.parse(u.custom_permissions)
|
||||
: {};
|
||||
const u = await authApi.getMe();
|
||||
const role = u.role as UserRole;
|
||||
const dataSourcePermissions: DataSourcePermission[] = u.data_source_permissions
|
||||
? JSON.parse(u.data_source_permissions)
|
||||
: [];
|
||||
const customPermissions: Record<string, boolean> = u.custom_permissions
|
||||
? JSON.parse(u.custom_permissions)
|
||||
: {};
|
||||
|
||||
const newUser: AuthUser = {
|
||||
...user,
|
||||
id: u.id,
|
||||
username: u.username,
|
||||
email: u.email || '',
|
||||
role,
|
||||
roleName: roleNameMap[role] || role,
|
||||
groupIds: u.group_ids || [],
|
||||
dataSourcePermissions,
|
||||
customPermissions,
|
||||
permissionsUpdatedAt: Date.now(),
|
||||
};
|
||||
const newUser: AuthUser = {
|
||||
...user,
|
||||
id: u.id,
|
||||
username: u.username,
|
||||
email: u.email || '',
|
||||
role,
|
||||
roleName: roleNameMap[role] || role,
|
||||
groupIds: u.group_ids || [],
|
||||
dataSourcePermissions,
|
||||
customPermissions,
|
||||
permissionsUpdatedAt: Date.now(),
|
||||
};
|
||||
|
||||
setUser(newUser);
|
||||
clearPermissionCache();
|
||||
emitPermissionChange(newUser);
|
||||
}
|
||||
setUser(newUser);
|
||||
clearPermissionCache();
|
||||
emitPermissionChange(newUser);
|
||||
} catch (error) {
|
||||
console.error('刷新权限失败:', error);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user