http.js
2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import axios from 'axios'
import store from '@/store/store'
import Vue from 'vue'
import { vm1 } from "@/main.js"
const baseDomain = "https://api-dashboard.intrack.in/v1";
const baseURL = `${baseDomain}`;
// var token = ""
// if (store.state.role === "ADMIN") {
// token = `${store.state.token}`
// } else if (store.state.schoolRole === "SUPERADMIN") {
// token = `${store.state.schoolToken}`
// }
// console.log("role",`${store.state.schoolRole}`);
// console.log("token",`${store.state.schoolToken}`);
export default () => {
// return axios.create({
// // baseURL: 'http://192.168.2.221:3002/v1',
// baseURL,
// headers: {
// Authorization: `Bearer ${store.state.token}`
// }
// })
let instance = axios.create({
// LIVE
//baseURL: 'https://annadata.patanjaliayurved.org/api',
// DEVELOPMENT
baseURL: baseURL,
headers: {
Authorization: `Bearer ${store.state.token}`,
// 'Access-Control-Allow-Origin': '*'
}
})
instance.interceptors.request.use((config) => {
// Do something before request is sent
return config
}, error => {
return Promise.reject(error)
})
instance.interceptors.response.use((response) => {
// do something with the response data
return response;
}, error => {
// handle the response error
console.log("error in interceptor - ", error.response.status)
var customError
const errorNo = error.response.status
switch (errorNo) {
case 401:
customError = "Session expired"
console.log("what is this - ", vm1)
vm1.$store.dispatch("setToken", null);
vm1.$router.replace({ path: "/" });
vm1.$store.dispatch("Id", null);
break;
}
return Promise.reject(error);
})
// response parse
return instance;
}