¶Ô±ÈÐÂÎļþ |
| | |
| | | import useUserStore from "@/store/modules/user"; |
| | | function authPermission(permission: string): boolean { |
| | | const all_permission = "*:*:*"; |
| | | const permissions: Array<string> = useUserStore().permissions; |
| | | if (permission && permission.length > 0) { |
| | | return permissions.some((v) => { |
| | | return all_permission === v || v === permission; |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | function authRole(role: string): boolean { |
| | | const super_admin = "admin"; |
| | | const roles: Array<string> = useUserStore().roles; |
| | | if (role && role.length > 0) { |
| | | return roles.some((v) => { |
| | | return super_admin === v || v === role; |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | export default { |
| | | /** |
| | | * éªè¯ç¨æ·æ¯å¦å
·å¤ææé |
| | | * @param permission æé符 |
| | | * @returns |
| | | */ |
| | | hasPermi(permission: string): boolean { |
| | | return authPermission(permission); |
| | | }, |
| | | /** |
| | | * éªè¯ç¨æ·æ¯å¦å«ææå®æéï¼åªéå
å«å
¶ä¸ä¸ä¸ª |
| | | * @param permissions æé符æ°ç» |
| | | * @returns |
| | | */ |
| | | hasPermiOr(permissions: Array<string>): boolean { |
| | | return permissions.some((item) => { |
| | | return authPermission(item); |
| | | }); |
| | | }, |
| | | /** |
| | | * éªè¯ç¨æ·æ¯å¦å«ææå®æéï¼å¿
é¡»å
¨é¨æ¥æ |
| | | * @param permissions æé符æ°ç» |
| | | * @returns |
| | | */ |
| | | hasPermiAnd(permissions: Array<string>): boolean { |
| | | return permissions.every((item) => { |
| | | return authPermission(item); |
| | | }); |
| | | }, |
| | | /** |
| | | * éªè¯ç¨æ·æ¯å¦å
·å¤æè§è² |
| | | * @param role è§è² |
| | | * @returns |
| | | */ |
| | | hasRole(role: string): boolean { |
| | | return authRole(role); |
| | | }, |
| | | /** |
| | | * éªè¯ç¨æ·æ¯å¦å«ææå®è§è²ï¼åªéå
å«å
¶ä¸ä¸ä¸ª |
| | | * @param roles è§è²æ°ç» |
| | | * @returns |
| | | */ |
| | | hasRoleOr(roles: Array<string>): boolean { |
| | | return roles.some((item) => { |
| | | return authRole(item); |
| | | }); |
| | | }, |
| | | /** |
| | | * éªè¯ç¨æ·æ¯å¦å«ææå®è§è²ï¼å¿
é¡»å
¨é¨æ¥æ |
| | | * @param roles è§è²æ°ç» |
| | | * @returns |
| | | */ |
| | | hasRoleAnd(roles: Array<string>): boolean { |
| | | return roles.every((item) => { |
| | | return authRole(item); |
| | | }); |
| | | }, |
| | | }; |