You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
640 B

6 years ago
import store from '@/store'
import {isEmpty} from "@/util/index"
6 years ago
//判断路由是否需要鉴权,需要则返回true
6 years ago
export function needAuth(route) {
if (route.path.startsWith('/redirect')) return false
const {meta} = route
return !meta || !meta.noAuth || !isEmpty(meta.title, meta.dynamicTitle)
6 years ago
}
//接口权限判断,有权限则返回true
6 years ago
export function auth(path) {
if (store.state.user.admin === true) return true
6 years ago
const resourceMap = store.state.resource.resourceMap
if (!(path in resourceMap)) return true
6 years ago
const resources = store.state.user.resources
6 years ago
return resources && path in resources
}