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('/')都需要修改

相关推荐
喜欢踢足球的老罗8 小时前
破解 Chrome 扩展的「两世界难题」:MV3 下的 ISOLATED 与 MAIN World 桥接之道
前端·chrome
一拳一个娘娘腔8 小时前
【第七期】漏洞攻防-前端篇:XSS 与 CSRF —— 当浏览器成为攻击者的“肉鸡”
前端·xss·csrf
不吃鱼的羊8 小时前
DaVinci配置NVM模块
前端·javascript·网络
excel8 小时前
为什么需要构建工具(Webpack / Vite 的本质)
前端
lang201509288 小时前
Java SAX 流式解析全解:从原理到 EasyExcel 实战
java·前端·javascript
Rain5099 小时前
2.4. PostgreSQL 数据库连接与实战指南
前端·数据库·人工智能·后端·postgresql·数据分析
console.log('npc')9 小时前
Codex 桌面端接入 Headroom 压缩代理完整教程
前端·vscode
独泪了无痕9 小时前
Vue集成uuid生成唯一标识实践指南
前端·vue.js
yuanyxh17 小时前
Mac 软件推荐
前端·javascript·程序员