2023-02-25 06:48:20 +00:00
|
|
|
import axios, {AxiosInstance, AxiosRequestConfig} from "axios";
|
2023-02-14 04:40:06 +00:00
|
|
|
import {useUserStore} from '@/stores/user';
|
|
|
|
import {mapState} from 'pinia';
|
2023-02-11 19:25:59 +00:00
|
|
|
export default defineNuxtPlugin((nuxtApp) => {
|
2023-02-27 20:32:41 +00:00
|
|
|
const defaultUrl = "https://admin.mindboost.craveteck.com";
|
|
|
|
// const defaultUrl = "http://localhost:8000";
|
2023-02-25 06:48:20 +00:00
|
|
|
|
2023-02-11 19:25:59 +00:00
|
|
|
|
2023-02-14 04:40:06 +00:00
|
|
|
// Access Pinia state
|
2023-02-11 19:25:59 +00:00
|
|
|
// @ts-ignore
|
|
|
|
let api: AxiosInstance;
|
|
|
|
api = axios.create({
|
|
|
|
// @ts-ignore
|
2023-02-14 04:40:06 +00:00
|
|
|
baseURL: defaultUrl,
|
2023-02-11 19:25:59 +00:00
|
|
|
headers: {
|
|
|
|
common: {},
|
|
|
|
},
|
|
|
|
});
|
2023-02-25 06:48:20 +00:00
|
|
|
// @ts-ignore
|
|
|
|
api.interceptors.request.use((config: AxiosRequestConfig) => {
|
|
|
|
console.log(config);
|
|
|
|
console.log('On request');
|
|
|
|
// @ts-ignore
|
|
|
|
config.baseURL=defaultUrl;
|
|
|
|
var token=mapState(useUserStore,['token']).token();
|
|
|
|
// @ts-ignore
|
|
|
|
config.headers.Authorization='Bearer '+token;
|
|
|
|
return config;
|
|
|
|
});
|
2023-02-11 19:25:59 +00:00
|
|
|
return {
|
|
|
|
provide: {
|
|
|
|
axios: api,
|
|
|
|
},
|
|
|
|
};
|
|
|
|
});
|