登录成功,将token存入浏览器的sessionStorage

			//登录操作
          this.postRequest(api.loginUrl,user).then(res => {
            // console.log("res=>"+res)
            if (res.code == 0){
              this.$message.success(res.msg);
              //登录成功,清空账号和密码
              this.$refs[formName].resetFields();
              //登录成功向父组件App.vue传值,用于登录弹框的关闭和头像的显示
              this.$emit("listenTochildEvent",this.returnParentData);

              // console.log(res)
              //登录成功,将token存入浏览器的sessionStorage
              this.$store.commit('INIT_CURRENTHR', res.data.username);
              window.sessionStorage.setItem("user", JSON.stringify(res.data.username));
            }else{
              this.$message.error(res.msg);
            }
          }).catch(err => {
            console.log(err)
          })

退出功能,清空sessionStorage中的token信息

使用removeItem() 清除sessionStorage存的token;
在这里,退出后,禁止了浏览器的后退键

this.$confirm('此操作将注销登录, 是否继续?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            // this.getRequest("/logout");
            window.sessionStorage.removeItem("user")
            this.$store.commit('initRoutes', []);
            this.$router.replace("/");
            //触发后禁止浏览器的后退键
            history.pushState(null, null, document.URL);
            window.addEventListener("popstate", function (e) {
              history.pushState(null, null, document.URL);
            }, false);
          }).catch(() => {
            this.$message({
              type: 'info',
              message: '已取消操作'
            });
          });
Logo

前往低代码交流专区

更多推荐