mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	
		
			
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | import store from '@/store' | ||
|  | 
 | ||
|  | /** | ||
|  |  * 字符权限校验 | ||
|  |  * @param {Array} value 校验值 | ||
|  |  * @returns {Boolean} | ||
|  |  */ | ||
|  | export function checkPermi(value) { | ||
|  |   if (value && value instanceof Array && value.length > 0) { | ||
|  |     const permissions = store.getters && store.getters.permissions | ||
|  |     const permissionDatas = value | ||
|  |     const all_permission = "*:*:*" | ||
|  | 
 | ||
|  |     const hasPermission = permissions.some(permission => { | ||
|  |       return all_permission === permission || permissionDatas.includes(permission) | ||
|  |     }) | ||
|  | 
 | ||
|  |     if (!hasPermission) { | ||
|  |       return false | ||
|  |     } | ||
|  |     return true | ||
|  |   } else { | ||
|  |     console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`) | ||
|  |     return false | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * 角色权限校验 | ||
|  |  * @param {Array} value 校验值 | ||
|  |  * @returns {Boolean} | ||
|  |  */ | ||
|  | export function checkRole(value) { | ||
|  |   if (value && value instanceof Array && value.length > 0) { | ||
|  |     const roles = store.getters && store.getters.roles | ||
|  |     const permissionRoles = value | ||
|  |     const super_admin = "admin" | ||
|  | 
 | ||
|  |     const hasRole = roles.some(role => { | ||
|  |       return super_admin === role || permissionRoles.includes(role) | ||
|  |     }) | ||
|  | 
 | ||
|  |     if (!hasRole) { | ||
|  |       return false | ||
|  |     } | ||
|  |     return true | ||
|  |   } else { | ||
|  |     console.error(`need roles! Like checkRole="['admin','editor']"`) | ||
|  |     return false | ||
|  |   } | ||
|  | } |