基于Vue-Springboot的论文管理系统
演示地址:ECNU-2022Spring-DatabaseTermProject第四组_哔哩哔哩_bilibili 关于登录信息、权限显示 这里利用sessionStorage将用户的信息跟权限(理论上应该一起作为user信息返回的,这里分开存储。后续页面左侧Aside的访问也可以根据存储的sessionStorage解决。 *sessionStorage 属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。**在新标签或窗口打开一个页面时会在顶级浏览上下文中初始化一个新的会话,*这点和 session cookies 的运行方式不同。 request.post("/api/login", this.form).then(res => { console.log(res) if (res.code === 0) { console.log(3333) this.$message({ type: "success", message: "登录成功" }) sessionStorage.setItem("user",JSON.stringify(res.data)) // 缓存用户信息 request.post("/api/permission?user_id=" + res.data.user_id).then(res1 => { console.log(res1) console.log("permission Get") sessionStorage.setItem("userPermission",JSON.stringify(res1)) // 缓存用户信息 let userStrr =sessionStorage.getItem("userPermission") || "{}" this.permissionList =JSON.parse(userStrr) activeRouter() this.$router.push("/") //登录成功之后进行页面的跳转,跳转到主页 }) // 登录成功的时候更新当前路由 //activeRouter() } else { this.$message({ type: "error", message: res.msg }) } }) 关于路由配置 需要避免任何用户都能通过改url的方式访问对应页面,因此考虑如果此用户没有访问该页面的权限,便不进行路由加载。采取循环的方式进行路由注册。(addRoute)...