登录权限的实现(没有接口)

data

     param: {
    
    
        username: "",
        password: "",
      },
      rules: {
    
    
        username: [{
    
     required: true, message: "请输入用户名", trigger: "blur" }],
        password: [
          {
    
    
            pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@#!%^*?&+-])[A-Za-z\d$@#!%^*?&+-]{8,}/,
            message: "密码应当至少8位且含有数字、大小写字母及特殊字符",
            trigger: "blur",
          },
        ],
      },

script

//点击登录的事件
 submitForm() {
    
    
     let obj = {
    
    
        username: this.param.username,
        password: this.param.password,
      };
      //存入用户名以及密码
      sessionStorage.setItem("token", JSON.stringify(obj)); 
      if (this.param.username == "") {
    
    
        this.$message({
    
    
          type: "none", // success error warning
          message: "请输入内容",
        });
      } else {
    
    
        this.$router.push("/accent");
      }
    },

在main.js中使用beforeEach来实现登录的权限

router.beforeEach((to, form, next) => {
    
    
//用Json.parse()的方法进行转化
  let val = JSON.parse(sessionStorage.getItem('token'))
  if (!val.username == "") {
    
    
    next();
  } else {
    
    
    if (to.path == "/") {
    
    
      next();
    } else {
    
    
      next("/")
    }
  }
})

猜你喜欢

转载自blog.csdn.net/GikQxx21_wen/article/details/127768699