Files
cyh-tk-admin/src/utils/permission.ts
zhxiao1124 3451d373bc refactor: 重构项目接口与API调用体系,统一类型管理
1.  合并拆分的API类型定义到统一的api/interface.ts文件
2.  删除旧的api/client.ts与api/types.ts文件
3.  重构所有页面与组件的API调用方式,统一使用api/index.ts导出的接口
4.  调整组件文件结构,将分散的组件按模块整理
5.  统一类型导入路径,移除冗余的类型重复定义
2026-07-02 14:57:06 +08:00

23 lines
666 B
TypeScript

import type { AdminProfile, Permission } from '../api';
export function getPermissionCodes(profile: AdminProfile | null) {
if (!profile) {
return [];
}
if (profile.isSuperAdmin || profile.permissions[0] === '*') {
return ['*'];
}
return (profile.permissions as Permission[]).map((permission) => permission.code);
}
export function hasPermissions(profile: AdminProfile | null, requiredPermissions?: string[]) {
if (!requiredPermissions?.length) {
return true;
}
const codes = getPermissionCodes(profile);
if (codes.includes('*')) {
return true;
}
return requiredPermissions.every((permission) => codes.includes(permission));
}