Recv/public/src/shared.js

48 lines
792 B
JavaScript

import Vue from 'vue';
import Cookies from 'js-cookie';
import axios from 'axios';
export default new Vue({
data() {
return {
token: null,
user: []
}
},
created()
{
var self = this;
var cookie = Cookies.get('token');
if (typeof cookie !== 'undefined')
self.token = cookie;
},
watch: {
token(newValue)
{
var self = this;
if (newValue !== null)
{
Cookies.set('token', newValue);
axios.get('/admin/whoami', {
headers: {
Authorization: 'Bearer ' + self.token
}})
.then((response) =>
{
self.user = response.data;
});
}
else
{
Cookies.remove('token');
self.user = null;
}
}
}
});