frontEnd.ts 1.2 KB

12345678910111213141516171819202122232425
  1. import { store } from '/@/store/index';
  2. import { Session } from '/@/utils/storage';
  3. import { NextLoading } from '/@/utils/loading';
  4. import { setAddRoute, setFilterMenuAndCacheTagsViewRoutes } from '/@/router/index';
  5. /**
  6. * 前端控制路由:初始化方法,防止刷新时路由丢失
  7. * @method NextLoading 界面 loading 动画开始执行
  8. * @method store.dispatch('userInfos/setUserInfos') 触发初始化用户信息
  9. * @method setAddRoute 添加动态路由
  10. * @method setFilterMenuAndCacheTagsViewRoutes 设置递归过滤有权限的路由到 vuex routesList 中(已处理成多级嵌套路由)及缓存多级嵌套数组处理后的一维数组
  11. */
  12. export async function initFrontEndControlRoutes() {
  13. // 界面 loading 动画开始执行
  14. if (window.nextLoading === undefined) NextLoading.start();
  15. // 无 token 停止执行下一步
  16. if (!Session.get('token')) return false;
  17. // 触发初始化用户信息
  18. store.dispatch('userInfos/setUserInfos');
  19. store.dispatch('userInfos/setPermissions');
  20. // 添加动态路由
  21. await setAddRoute();
  22. // 设置递归过滤有权限的路由到 vuex routesList 中(已处理成多级嵌套路由)及缓存多级嵌套数组处理后的一维数组
  23. setFilterMenuAndCacheTagsViewRoutes();
  24. }