vue 許可權管理 動態路由(6)

2021-10-02 03:04:42 字數 2255 閱讀 1136

1.動態生成路由

import vue from 'vue'

import router from 'vue-router'

import nprogress from 'nprogress' // progress bar

import 'nprogress/nprogress.css'// progress bar style

import store from '@/store'

import api from '@/api'

vue.use(router)

const router = new router(,

,]})

// const whitelist = ['/login', '/authredirect']// no redirect whitelist

// // 全域性鉤子

// router.beforeeach((to, from, next) => )

// nprogress.done() // if current page is dashboard will not trigger aftereach hook, so manually handle it

// } else

// } else else

// }

// }

// )

//// router.aftereach(() => )

router.beforeeach((to, from, next) => )

} else

} else )

} else

}})/** * 載入動態選單和路由

*/function adddynamicmenuandroutes(username, to, from)

api.user.findmenus().then(res => ).then(res => ).then(res => )

})}/**

* 新增動態(選單)路由

* @param menulist 選單列表

* @param routes 遞迴建立的動態(選單)路由

*/function adddynamicroutes(menulist = , routes = ) else if (menulist[i].path && /\s/.test(menulist[i].path))

}try

url = url.substring(0, url.length - 1)

// console.log(url)

route['component'] = resolve => require([`@/views/$.vue`], resolve)

} catch (e)

routes.push(route)

}} if (temp.length >= 1) else

return routes

}/**

* 處理路由到本地直接指定頁面元件的情況

* 比如'**生成'是要求直接繫結到'generator'頁面元件

*/function handlestaticcomponent(router, dynamicroutes)

export default router

動態生成路由 並將選單資訊儲存到stroe中去

後台資料為:

路由載入完成以後通過 選單管理顯示

= 1" :index="menu.parentid+'-'+menu.ordernum">

} }

遍歷所有的路由並顯示後  在需要顯示的地方呼叫

import  from 'vuex'

import menutree from "@/components/menutree"

export default ,

methods: ,

collapseclose()

},computed: )

}}

顯示效果為:

vue後台管理系統,動態許可權路由怎麼寫。

做後台管理系統,我們經常需要對各個使用者進行許可權的管理,不同許可權的使用者所能看到的頁面也不相同,那麼我們應該怎麼做呢。下面,我說說我近期的實戰案例。寫路由這一步正常寫就行,沒什麼特別的地方 children redirect index test1 children 路由怎麼寫就不過多贅述了,相...

Vue中許可權 動態路由載入

這樣的操作無疑會使得前端做路由的載入時顯得更為複雜。我司的角色有包括管理員在內總共6種。所以我將自己在開發過程中遇到的問題整理起來。僅做參考,希望對大家有幫助!1.先從最高許可權下手,把專案所有需要做動態分配的路由都儲存到後台伺服器。可能會有人說放在後端就遏制住前端的處理了,但是根據我們目前的情況,...

基於vue的路由許可權管理

此專案基於vue cli跟layuot布局,不過後台系統基本都是這麼布局的吧 現有乙個需求,要求把現有管理後台修改為可以根據不同使用者呈現出不同的選單欄 其實就是路由 就如下圖 1 先定義基本路由,然後使用router.addroutes 動態新增相關路由 2 將使用者的路由資訊儲存到localst...