vue3项目登录成功后根据角色菜单来跳转指定页面(无首页)

前言:需求不想要首页,登录什么角色跳转到这个角色经常使用的页面。(例如:审核者角色的人输入用户名密码成功后就自动跳转到待审核的页面,仓库管理员登录成功则自动跳转到仓库列表)

需要解决的点和想法:

1.登录成功后,后台获取登录用户的角色信息 ,并包含该角色所包含的所有菜单列表和常用列表(需要)。将该信息存入到公共信息中,本文中 Cookie、SessionStorage、LocalStorage 中选择的是 LocalStorage ,

复制代码
        localStorage.setItem("roleName", data.user.roleName);

菜单列表和角色列表,需要含类似于若依项目的菜单列表

和角色管理

2.原本项目登录成功默认跳转到的地方是首页。所以跳转处'/',修改为:根据角色名字来跳转,(这一块逻辑也可以改为,role下包含常用的路径,直接push('常用路径'))

复制代码
//根据角色跳转
if(localStorage.getItem("roleName") === "管理员"){
    await router.push('/archivedManage')
}else if(localStorage.getItem("roleName") === "确认者"){
    await router.push('/checkManage')
}else{
    await router.push('/reviewManage')
}

3.404页面修改:正常项目都是找不到路径或者路径异常则会刷404页面,然后3s后自动跳转到'/' ,而这个就是首页,但是需求则需要不使用首页,所以此处得修改为上述。

同理全局搜索跳转到router.push('/')都需要修改

相关推荐
剪刀石头布啊29 分钟前
vue-react为何要虚拟dom
前端
剪刀石头布啊30 分钟前
ahooks常用的一些库,我们使用一下
前端
剪刀石头布啊32 分钟前
从git更新本地提交记录到更新已经推送到远端记录
前端
Flynt3 小时前
axios 被投毒半年后,我把 npm 的"安全防线"实测了一遍:最信任的 SHA512 是安慰剂
前端·npm·node.js
excel3 小时前
Base62 和 Base64 有什么区别?
前端
风骏时光牛马4 小时前
大模型底层架构与AI源码深度剖析
前端
掘金挖土5 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
中文呀8 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进8 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端