Files
group_fqcd_jr/app/static/portal/common/permission-guard.js
T

16 lines
657 B
JavaScript

import { getPermissions } from '/static/portal/common/auth.js?v=20260913';
export function applyPermissionGuard(root = document) {
const permissions = new Set(getPermissions());
root.querySelectorAll('[data-permission-required]').forEach((element) => {
const allowed = permissions.has(element.dataset.permissionRequired);
if (element.dataset.permissionBehavior === 'hide') {
element.hidden = !allowed;
return;
}
element.toggleAttribute('disabled', !allowed);
element.setAttribute('aria-disabled', String(!allowed));
if (!allowed) element.title = element.dataset.permissionHint || '暂未开通相关权限';
});
}