项目总结——使用localStorage实现记住密码

本文介绍如何在个人网站上实现记住密码功能,通过对比cookie和localStorage的优缺点,选择使用localStorage。当用户登录成功并勾选记住密码时,会将用户名和密码存储在localStorage中,下次登录时自动填充。代码实现包括HTML结构、数据绑定、相关函数,并在登录成功后调用相应函数处理记住密码逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于每次都输入用户名密码太累,想在自己的个人网站上添加一个记住密码功能,以前的项目是使用浏览器cookie实现的,cookie可以设置过期时间,而localStorage不行,是cookie的优势,但是cookie代码比较复杂,localStorage可以完美替代功能且代码简单,项目中不需要设置记住密码过期时间,故使用localStorage实现。

具体代码如下

部分html代码,

<input type="text" v-model="login.username">
<input type="password" v-model="login.password">
<input type="checkbox" :checked="isChecked" id="checkbox">
<label for="checkbox">记住密码</label>

相关数据

 login:{
   username:"",
   password:""
 }
 isChecked:false
 

相关函数

//记住密码相关
 checkRemember(){
   let username = localStorage.getItem("username")
   let password = localStorage.getItem("password")
   if(username && password){
     this.login.username = username
     this.login.password  = password
     this.isChecked = true
   }
 },
 setOrRemoveRemember(username,password){
      if(document.getElementById("checkbox").checked){
        localStorage.setItem("username",username)
        localStorage.setItem("password",password)
      }else{
        localStorage.removeItem("username")
        localStorage.removeItem("password")
      }      
    }

在mounted钩子中调用checkRemember

 mounted(){
    this.checkRemember()
  },

在发送情求返回登录成功时候调用setOrRemoveRemember

 async userLogin(){  
      try{
        if(this.login.username.trim()=="" || this.login.password.trim()==""){
            this.$message.error('登录失败,用户名和密码不能为空')
            return
          }
        await this.$store.dispatch("userLogin",this.login)
        this.setOrRemoveRemember(this.login.username,this.login.password)
        this.$message.success('登录成功')
        this.$router.push("/home")    
      }catch{
        this.$message.error('登陆失败,请检查用户名和密码是否正确')
      }       
    },

至此 ,可以实现当登录成功的时候如果勾选记住密码则记住用户名和密码,如果未勾选则不记住。进入登录页面时查看是否记住密码,如果记住则将密码填入input中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑白程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值