Advertisement
Guest User

Untitled

a guest
Aug 16th, 2018
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <template>
  2.   <div class="mt-5">
  3.     <div class="row justify-content-md-center">
  4.       <div class="col-lg-4">
  5.         <form @submit.prevent="SignInSubmit">
  6.           <div :class="{'form-group':true,'has-danger':errors.has('username')}">
  7.             <label for="username">Username</label>
  8.             <input type="text" v-validate="'required|alpha_dash'" name="username" value="" v-model="username" class="form-control">
  9.             <span class="text-danger"v-show="errors.has('username')">{{ errors.first('username') }}</span>
  10.  
  11.           </div>
  12.           <div :class="{'form-group':true,'has-danger':errors.has('password')}">
  13.             <label for="password">Password</label>
  14.             <input type="password" name="password" v-validate="'required'" id="password"value="" v-model="password" class="form-control">
  15.             <span class="text-danger"v-show="errors.has('password')">{{ errors.first('password') }}</span>
  16.           </div>
  17.  
  18.           <div class="form-group text-center">
  19.             <button type="submit" class="btn btn-round btn-block btn-success" :disabled="errors.any() || loading || username == ''"> <i  v-show="loading" class="fa fa-circle-o-notch fa-spin"></i> Sign In</button>
  20.           </div>
  21.         </form>
  22.       </div>
  23.     </div>
  24.   </div>
  25. </template>
  26.  
  27. <script>
  28.  
  29. import config from '../config'
  30. import auth from '../auth'
  31. export default {
  32.   name: 'login',
  33.   data () {
  34.     return {
  35.       username: "",
  36.       password: "",
  37.       loading: false,
  38.     }
  39.   },
  40.   computed:{
  41.     user(){
  42.       return this.$store.getters.User
  43.     }
  44.   },
  45.   methods:{
  46.     SignInSubmit(){
  47.         this.loading = true;
  48.         axios.post(config.backend+'/auth/signin',{
  49.           username: this.username,
  50.           password: this.password
  51.         }).then((response) => {
  52.           this.loading = false
  53.           if (response.data.success == false) {
  54.             this.$swal('Oops...',response.data.message,'error');
  55.             this.username = '',
  56.             this.password = ''
  57.           } else {
  58.             //console.log(getUser(response.data.token))
  59.             this.$swal('Good job!',response.data.message,'success');
  60.             auth.Authenticate(response.data.token).then(()=>{
  61.                 auth.getUser().then((user)=>{
  62.                   this.$store.dispatch('SignUserIn',user);
  63.                 }).catch((err)=>{
  64.  
  65.                 });
  66.             });
  67.           }
  68.         }).catch((err)=>{this.loading=false})
  69.     },
  70.   },
  71.   watch:{
  72.     user(value){
  73.       if (value !== null && value !== undefined) {
  74.           this.$router.push('/')
  75.         }
  76.     },
  77.   },
  78. }
  79. </script>
  80.  
  81. <!-- Add "scoped" attribute to limit CSS to this component only -->
  82. <style>
  83.  
  84. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement