|
@@ -2,8 +2,26 @@ import router from '@/router/router'
|
|
|
import store from '@/store/'
|
|
|
import { powerCheck } from '@/utils/bigmember/'
|
|
|
|
|
|
+// 权限控制白名单-路由path
|
|
|
+const powerCheckPathWhiteRegList = [
|
|
|
+ /free_*/
|
|
|
+]
|
|
|
// 权限控制白名单-路由名
|
|
|
-const powerCheckWhiteList = ['404', 'ent_search', 'ent_ser_portrait', 'unit_portrayal', 'ent_follow', 'pro_follow_detail']
|
|
|
+const powerCheckWhiteList = [
|
|
|
+ '404',
|
|
|
+ 'ent_search',
|
|
|
+ 'ent_ser_portrait',
|
|
|
+ 'unit_portrayal',
|
|
|
+ 'ent_follow',
|
|
|
+ 'pro_follow_detail'
|
|
|
+]
|
|
|
+
|
|
|
+const regListCheck = function (regList, path) {
|
|
|
+ if (!Array.isArray(regList)) return false
|
|
|
+ return regList.some(reg => {
|
|
|
+ return reg.test(path)
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
|
let { power, info } = store.state.user
|
|
@@ -11,7 +29,7 @@ router.beforeEach(async (to, from, next) => {
|
|
|
info = await store.dispatch('user/getUserPower')
|
|
|
power = info.power ? info.power : []
|
|
|
}
|
|
|
- if (powerCheckWhiteList.includes(to.name)) {
|
|
|
+ if (powerCheckWhiteList.includes(to.name) || regListCheck(powerCheckPathWhiteRegList, to.path)) {
|
|
|
if (to.name === 'ent_ser_portrait') {
|
|
|
if (info.memberStatus > 0 && (power.indexOf(4) !== -1 || power.indexOf(13) !== -1)) {
|
|
|
next({
|