From 4d6d37743e722bde0d3be4e228badb7ec3012a2d Mon Sep 17 00:00:00 2001 From: sky121113 Date: Tue, 13 Jan 2026 17:24:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E6=AC=8A=E9=99=90?= =?UTF-8?q?=E6=AA=A2=E6=9F=A5=E9=82=8F=E8=BC=AF=E8=AE=93=20super-admin=20?= =?UTF-8?q?=E8=87=AA=E5=8B=95=E9=80=9A=E9=81=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/js/hooks/usePermission.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/resources/js/hooks/usePermission.ts b/resources/js/hooks/usePermission.ts index b6e35e2..5e65e89 100644 --- a/resources/js/hooks/usePermission.ts +++ b/resources/js/hooks/usePermission.ts @@ -11,25 +11,31 @@ export function usePermission() { /** * 檢查使用者是否擁有指定權限 + * 超級管理員自動擁有所有權限 */ const can = (permission: string): boolean => { if (!user) return false; + if (user.roles.includes('super-admin')) return true; return user.permissions.includes(permission); }; /** * 檢查使用者是否擁有任一指定權限 + * 超級管理員自動擁有所有權限 */ const canAny = (permissions: string[]): boolean => { if (!user) return false; + if (user.roles.includes('super-admin')) return true; return permissions.some(p => user.permissions.includes(p)); }; /** * 檢查使用者是否擁有所有指定權限 + * 超級管理員自動擁有所有權限 */ const canAll = (permissions: string[]): boolean => { if (!user) return false; + if (user.roles.includes('super-admin')) return true; return permissions.every(p => user.permissions.includes(p)); };