vue记住账号密码登录

安装

//安装
npm install --save js-base64
//引入
const Base64 = require("js-base64").Base64
<template>
	
		<el-row class="login-container">
		       
		        <el-col :lg="8" :md="12" class="right">
				
		            <el-form ref="formRef" :rules="rules" :model="form" style="width: 250px;" size="mini">
		                <el-form-item prop="username">
		                    <el-input v-model.trim="form.username" placeholder="请输入用户名" maxlength="9" autocomplete="off" auto-complete="new-password" >
		                        <template #prefix>
		                            
									<i class="el-icon-user"></i>
		                        </template>
		                    </el-input>
		                </el-form-item>
		                <el-form-item prop="password">
		                    <el-input type="password" v-model.trim="form.password" placeholder="请输入密码"  autocomplete="off" auto-complete="new-password" >
		                        <template #prefix>
		                           
									<i class="el-icon-lock"></i>
		                        </template>
		                    </el-input>
		                </el-form-item>
						<el-form-item>
						    <!-- `checked`truefalse -->
							<div >
								<el-checkbox v-model="checked" style="color: #fff;">记住账号</el-checkbox>
								<el-checkbox v-model="checked" style="color: #fff;">记住密码</el-checkbox>
							</div>
						    
						</el-form-item>
		                <el-form-item>
		                    <el-button round color="#626aef" style="width: 250px;" type="primary" @click="onSubmit('formRef')" :loading="loading">登 录</el-button>
		                </el-form-item>
		            </el-form>
		        </el-col>
		    </el-row>
	
	
</template>

<script>
	const Base64 = require('js-base64').Base64

	export default {
	    data() {
	      return {
			  loading:false,
			  checked:false,
	        form: {
	          password: '',
	          username:'',
			},
	        rules: {
	          username: [
	            { required: true, message: '请输入工号', trigger: 'blur' },
	           
	          ],
	         password: [
	           { required: true, message: '请输入密码', trigger: 'blur' },
	    
	         ],
	        },
		
	      };
	    },
		mounted () {
	          let username = localStorage.getItem('username')
				if (username) {
				   this.form.username = localStorage.getItem('username')
				   this.form.password = Base64.decode(localStorage.getItem('password'))// base64解密
				   this.checked = true
				}
		  },
	
	    methods: {
		
	      onSubmit(formName) {
			  
	        this.$refs[formName].validate((valid) => {
				if(!valid) return
				
				/* ------ 账号密码的存储 ------ */
			if (this.checked) {
					 let password = Base64.encode(this.form.password) // base64加密
					 localStorage.setItem('username', this.form.username)
					 localStorage.setItem('password', password)
				  } else {
					 localStorage.removeItem('username')
					 localStorage.removeItem('password')
				  }
				this.loading=true
				 //调用vuex里的方法
				       this.$store.dispatch('login',this.form).then(res=>{
				          //提示成功
				          //this.$message.success('登录成功')
				          //跳转到后台首页
				          this.$router.push('/')
						  setTimeout(()=>{
							  location.reload()
						  },100)
						  
				        }).finally(()=>{
				               this.loading=false
							   
				         }) 
				
	
	        });
	      },

	    }
	  }
</script>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

时光浅止

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

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

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

打赏作者

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

抵扣说明:

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

余额充值