11<template lang="pug">
22 .login-section
33 .login__content
4- form.login-form
4+ form( @submit.prevent = "submit" ) .login-form
55 .login-form__title Авторизация
66 .login__row
7- label.input
8- .input__title
9- input( v-model ="user.name" placeholder ="login" type ="text" ) .input__elem.field__elem
10- //- .error-box {{ validation.firstError('user.name') }}
7+ app-input(
8+ title ="Логин"
9+ icon ="user"
10+ v-model ="user.name"
11+ )
12+ //- .input__title
13+ //- input(v-model="user.name" placeholder="login" type="text").input__elem.field__elem
1114 .login__row
12- label.input
13- .input__title
14- input( v-model ="user.password" placeholder ="password" type ="password" ) .input__elem.field__elem
15- //- .error-box {{ validation.firstError('user.password') }}
15+ app-input(
16+ title ="Пароль"
17+ icon ="key"
18+ type ="password"
19+ v-model ="user.password"
20+ )
21+ //- .input__title
22+ //- input(v-model="user.password" placeholder="password" type="password").input__elem.field__elem
1623 .login__btn
1724 button(
1825 type ="submit"
2330import axios from ' ../../requests' ;
2431import SimpleVueValidator from " simple-vue-validator" ;
2532const Validator = SimpleVueValidator .Validator ;
33+
2634export default {
27- mixins: [SimpleVueValidator .mixin ],
28- validators: {
29- " user.name " : function (value ) {
30- return Validator .custom (function () {
31- if (value .length < 3 ) {
32- return " Не менее 3 символов" ;
33- }
34- });
35- },
36- " user.password " : function (value ) {
37- return Validator .custom (function () {
38- if (value .length < 3 ) {
39- return " Не менее 3 символов" ;
40- }
41- });
42- }
35+ components: {
36+ appInput : () => import (" ../input.vue" )
4337 },
4438 data () {
4539 return {
@@ -49,12 +43,31 @@ export default {
4943 }
5044 }
5145 },
46+ // methods: {
47+ // async loginUser() {
48+ // try {
49+ // const response = await $axios.post("/login", this.user);
50+ // const token = response.data.token;
51+ // localStorage.setItem('token', token);
52+ // console.log(response);
53+ // $axios.defaults.headers["Authorization"] = `Bearer ${token}`;
54+
55+ // this.$router.replace("/");
56+ // } catch (error) {
57+ // console.log(error);
58+ // }
59+ // }
60+ // }
5261 methods: {
5362 submit () {
5463 this .$validate ()
55- .then (function (success ) {
64+ .then ((success )=> {
5665 if (success) {
57- alert (" Успешно!" );
66+ axios .post (' /login' , this .user ).then (({data}) => {
67+ localStorage .setItem (' token' , data .token );
68+ axios .defaults .headers [" Authorization" ] = ` Bearer ${ data .token } ` ;
69+ this .$router .replace (' /' );
70+ })
5871 } else {
5972 alert (" Ошибка!" );
6073 }
@@ -63,25 +76,13 @@ export default {
6376 console .log (err);
6477 })
6578 },
66- login () {
67- axios .post (' /login' , this .user ).then (({data}) => {
68- localStorage .setItem (' token' , data .token );
69- axios .defaults .headers [" Authorization" ] = ` Bearer ${ data .token } ` ;
70- this .$router .replace (' /' );
71- })
72- // async login() {
73- // try {
74- // const response = await $axios.post("/login", this.user);
75- // const token = response.data.token;
76- // localStorage.setItem("token", token);
77- // $axios.defaults.headers["Authorization"] = `Bearer ${token}`;
78- // this.$router.replace("/");
79-
80- // } catch (error) {
81-
82- // }
79+ // login() {
80+ // axios.post('/login', this.user).then(({data}) =>{
81+ // localStorage.setItem('token', data.token);
82+ // axios.defaults.headers["Authorization"] = `Bearer ${data.token}`;
83+ // this.$router.replace('/');
84+ // })
8385 // }
84- }
8586 }
8687}
8788 </script >
0 commit comments