http.js 2.01 KB
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}`,
			// Authorization: `Bearer sdfsdfsfsdf`,
			// '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"
				vm1.$store.dispatch("RESET_STORE", {
					token: null,
					data: null,
					isUserLoggedIn: false,
					isSchoolLoggedIn: false,
					id: null,
					role: null,
					// schoolId: null,
					schoolToken: null,
					schoolRole: null,
					studentsData: [],
				});
				window.getApp.$emit("APP_LOGOUT");
				console.log("store is - ", vm1.$store.state)
				vm1.$router.push({ name: "Login" });
				// vm1.$store.dispatch("Id", null);

				break;
		}

		return Promise.reject(error);
	})
	// response parse

	return instance;
}