<script>
import { SlideYDownTransition } from "vue2-transitions";
import { LoginCard } from "@/components";
export default {
components: {
LoginCard,
SlideYDownTransition
},
data() {
return {
username: "",
password: ""
};
},
created: function() {
this.checkCurrentLogin()
},
updated () {
if (!localStorage.token && this.$route.path !== '/login') {
this.$router.replace(this.$route.path)
}
},
method: {
checkCurrentLogin () {
if (localStorage.token) {
this.$router.replace(this.$route.query || '/login')
}
},
login: function() {
this.axios
.post("", { user: this.username, password: this.password })
.then(request => this.loginSuccessful(request))
.catch(() => this.loginFailed());
},
loginSuccessful(req) {
if (!req.data.token) {
this.loginFailed();
return;
}
localStorage.token = req.data.token;
this.error = false;
this.$router.replace(this.$route.query.redirect || "/dashboard");
},
loginFailed() {
this.error = "Login failed!";
delete localStorage.token;
},
login: function() {
this.$router.push("dashboard");
},
}
};
</script>
<style lang="scss" scoped>
.md-card .md-card-actions {
border: none;
width: 350px;
}
</style>
<template>
<form class="login" @submit.prevent="login">
<md-card>
<md-card-header class="md-card-header-icon md-card-header-green" align-center>
<div class="card-icon">
<md-icon>contacts</md-icon>
</div>
<h4 class="title">Login</h4>
</md-card-header>
<md-card-content>
<label>User name :</label>
<md-field>
<md-input required v-model="username" type="text" placeholder="Snoopy" />
</md-field>
<br />
<label>Password :</label>
<md-field>
<md-input required v-model="password" type="password" placeholder="Password" />
</md-field>
</md-card-content>
<md-card-actions>
<md-button type="submit" to="/dashboard" @click="login()">Login</md-button>
</md-card-actions>
</md-card>
</form>
</template>
Привет, я все еще учусь использовать vue js. Я действительно не знаю, как сделать проверку и перенаправление. Он должен подтвердить пользователя, а также перенаправить на страницу входа, если пользователь не входит в систему. Я ценю, если кто-нибудь может помочь мне решить мою проблему. Мне бы очень хотелось узнать решение этой проблемы. Заранее спасибо.