index.js
import axios from "axios";
let token = localStorage.getItem("token");
class Request {
instance;
constructor(config) {
this.instance = axios.create(config);
this.instance.interceptors.request.use(
(config) => {
config.headers.Authorization = token;
console.log(config, 123)
return config;
},
(error) => {
return error;
}
);
this.instance.interceptors.response.use(
(res) => {
return res.data;
},
(error) => {
console.log(error, 2)
return error;
}
);
}
request(config) {
return new Promise((resolve, reject) => {
this.instance.request(config).then((res) => {
return resolve(res);
}).catch((error) => {
return reject(error);
});
});
}
get(config) {
return this.request({
...config,
method: "GET",
});
}
post(config) {
return this.request({
...config,
method: "POST",
});
}
delete(config) {
return this.request({
...config,
method: "DELETE",
});
}
}
export default Request;
config.js
const baseurl = "http://localhost:8080/api";
import Request from './index.js'
export const request = new Request({
baseURL: baseurl,
timeout: 1000
})
Login / login.js
import {
request } from '../config.js'
export const getLoginCode = () => {
return request.get({
url: '/code'
})
}
export const login = (data) => {
return request.post({
url: '/auth/login',
data,
showLoading: true
})
}