
<el-checkbox v-model="checked" class="remember">记住我</el-checkbox>
<el-button :loading="loading" plain @click.native.prevent="handleLogin">登 录</el-button>
mounted() {
let username = localStorage.getItem("username");
if (username) {
this.loginForm.username = localStorage.getItem("username");
this.loginForm.password = window.atob(localStorage.getItem("password"));
this.checked = true;
}
},
methods: {
handleLogin() {
this.$refs.loginForm.validate((valid) => {
if (valid) {
this.loading = true;
if (this.checked) {
let password = window.btoa(this.loginForm.password);
localStorage.setItem("username", this.loginForm.username);
localStorage.setItem("password", password);
} else {
localStorage.removeItem("username");
localStorage.removeItem("password");
}
this.$store
.dispatch("user/login", this.loginForm)
.then(() => {
this.$router.push({ path: this.redirect || "/" });
this.loading = false;
})
.catch(() => {
this.loading = false;
});
} else {
return false;
}
});
}
}