1
0
Fork 0

Merge branch 'master' of code.ghostdub.de:nebukadneza/Vee-Shopping

master
Dario Ernst 9 years ago
commit bad0368548

@ -0,0 +1,51 @@
import axios from 'axios'
import { Toast } from 'quasar'
import router from './router'
const API_URL = 'http://localhost:8081'
export default {
user: {
authed: false
},
login (context, user, pass, redirect) {
axios.post(API_URL + '/login',
{
user: user,
pass: pass
}
)
.then(response => {
localStorage.setItem('token', response.data)
this.user.authed = true
if (redirect) {
router.push(redirect)
}
else {
router.push('/lists')
}
})
.catch(e => {
var msg
if (e.response.data) {
msg = 'Login failed:' + e.response.data
}
else {
msg = 'network error'
}
Toast.create.negative(msg)
})
},
logout () {
localStorage.removeItem('token')
this.user.authed = false
router.push('/')
}
}

@ -23,9 +23,11 @@
</div> </div>
<div class="list no-border platform-delimiter"> <div class="list no-border platform-delimiter">
<q-drawer-link to="/"> <div class="item item-link" @click="logout">
<div class="item-content">
Logout Logout
</q-drawer-link> </div>
</div>
</div> </div>
</q-drawer> </q-drawer>
@ -37,6 +39,15 @@
</template> </template>
<script> <script>
import api from '../api'
export default {
methods: {
logout () {
api.logout()
}
}
}
</script> </script>
<style lang="stylus"> <style lang="stylus">

@ -9,19 +9,19 @@
<i class="item-primary">account_circle</i> <i class="item-primary">account_circle</i>
<div class="item-content"> <div class="item-content">
<div class="floating-label"> <div class="floating-label">
<input required class="full-width"> <input required class="full-width" v-model="user">
<label>Username</label> <label>Username</label>
</div> </div>
</div> </div>
<div class="item-content"> <div class="item-content">
<div class="floating-label"> <div class="floating-label">
<input required class="full-width" type="password"> <input required class="full-width" type="password" v-model="pass">
<label>Password</label> <label>Password</label>
</div> </div>
</div> </div>
<div class="item-content"> <div class="item-content">
<div class="floating-label"> <div class="floating-label">
<button class="primary"> <button class="primary" @click="doLogin()">
<i class="on-left">check_circle</i> Login <i class="on-left">check_circle</i> Login
</button> </button>
</div> </div>
@ -29,12 +29,27 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script> <script>
import api from '../../api'
export default {
data () {
return {
user: '',
pass: '',
error: null
}
},
methods: {
doLogin: function () {
api.login(this, this.user, this.pass)
}
}
}
</script> </script>
<style lang="stylus"> <style lang="stylus">

Loading…
Cancel
Save