| | |
| | | } else {
|
| | | if (store.getters.roles.length === 0) {
|
| | | // 判断当前用户是否已拉取完user_info信息
|
| | | store.dispatch('GetInfo').then(res => {
|
| | | // 拉取user_info
|
| | | const roles = res.roles
|
| | | store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
|
| | | store.dispatch('GetInfo').then(() => {
|
| | | store.dispatch('GenerateRoutes').then(accessRoutes => {
|
| | | // 根据roles权限生成可访问的路由表
|
| | | router.addRoutes(accessRoutes) // 动态添加可访问路由表
|
| | | next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
|
| | |
| | | // 获取用户信息
|
| | | GetInfo({ commit, state }) {
|
| | | return new Promise((resolve, reject) => {
|
| | | getInfo(state.token).then(res => {
|
| | | getInfo().then(res => {
|
| | | const user = res.user
|
| | | const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : user.avatar;
|
| | | if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|