mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 02:28:03 +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
 | |
|   }
 | |
| } | 
