|
|
|
|
@ -7,6 +7,7 @@
|
|
|
|
|
<va-button type="submit" class="form-item">Login</va-button>
|
|
|
|
|
</va-form>
|
|
|
|
|
</va-modal>
|
|
|
|
|
<va-modal v-model="errorModal" hide-default-actions message="Неверный логин или пароль" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -20,13 +21,40 @@ export default {
|
|
|
|
|
showModal: true,
|
|
|
|
|
username: 'demo',
|
|
|
|
|
password: 'demo',
|
|
|
|
|
errorModal: false,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
handleSubmit() {
|
|
|
|
|
this.$router.push('/admin')
|
|
|
|
|
if (!localStorage.getItem("user")) {
|
|
|
|
|
const formData = new FormData();
|
|
|
|
|
formData.append('username', this.username);
|
|
|
|
|
formData.append('password', this.password);
|
|
|
|
|
|
|
|
|
|
fetch("/api/v1/token/", { method: 'POST', body: formData })
|
|
|
|
|
.then(res => {
|
|
|
|
|
if (!res.ok) {
|
|
|
|
|
this.errorModal = true;
|
|
|
|
|
}
|
|
|
|
|
return res.json()
|
|
|
|
|
})
|
|
|
|
|
.then(data => {
|
|
|
|
|
if (data.access_token) {
|
|
|
|
|
localStorage.setItem('user', JSON.stringify(data));
|
|
|
|
|
this.$router.push('/admin')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch((e) => { console.log(e) })
|
|
|
|
|
} else {
|
|
|
|
|
this.$router.push('/admin')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
loggedIn() {
|
|
|
|
|
return Boolean(localStorage.getItem("user"))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|