You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

68 lines
1.5 KiB

import axios from "axios";
import NProgress from "nprogress";
import "nprogress/nprogress.css";
export const serverUrl = "http://localhost:1337";
const instance = axios.create({
baseURL: serverUrl, // 请求的基础地址
timeout: 5000, // 超时时间
});
/**
* get 请求
* @param {*} url 请求地址
* @param {*} params 传递的数据
* @returns
*/
export const get = (url, params) =>
instance.get(url, {
params: params, // url传递的参数
});
/**
* post 请求
* @param {*} url 请求地址
* @param {*} data 数据
* @returns
*/
export const post = (url, data) => instance.post(url, data);
/**
* put 请求
* @param {*} url 请求地址
* @param {*} data 数据
* @returns
*/
export const put = (url, data) => instance.put(url, data);
/**
* delete 请求
* @param {*} url 请求地址
* @returns
*/
export const del = (url) => instance.delete(url);
// Add a request interceptor (全局请求拦截)
instance.interceptors.request.use(
function (config) {
NProgress.start(); // 启动进度条
// 这里还可以设置token
return config;
},
function (error) {
return Promise.reject(error);
}
);
// Add a response interceptor (全局响应拦截)
instance.interceptors.response.use(
function (response) {
NProgress.done(); // 关闭进度条
return response.data;
},
function (error) {
NProgress.done(); // 关闭进度条
return Promise.reject(error);
}
);