| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import axios from "axios";
- export default class {
- constructor(vuex) {
- this.vuex = vuex
- if(process.env.NODE_ENV !== 'production') {
- this.api = 'http://localhost:8081'
- } else {
- this.api = 'https://live.ecconia.de'
- }
- }
- commit(method, data)
- {
- this.vuex.commit(method, data)
- }
- post(path, data)
- {
- return axios
- .post(this.api + path, data)
- .catch((error) => {
- console.error('Error: ', error)
- })
- }
- get(path)
- {
- return axios
- .get(this.api + path)
- .catch((error) => {
- console.error('Error: ', error)
- })
- }
- logout() {
- localStorage.removeItem('user');
- this.commit('setUser', null)
- }
- login(username, password) {
- //TODO: return promise somehow
- this.post('/login', {
- username: username,
- password: password,
- }).then((response) => {
- localStorage.setItem('user', JSON.stringify(response.data));
- this.commit('setUser', response.data)
- })
- }
- }
|