"use strict"; import axios from "axios"; import { Toast } from "vant"; // Full config: https://github.com/axios/axios#request-config // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || ''; // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; // 请求数 let LOADINGCOUNT = 0; let LOADING; let config = { baseURL: import.meta.env.VITE_APP_SSBG_BASEAPIURL, timeout: 60 * 1000, // Timeout // withCredentials: true, // Check cross-site Access-Control }; const _axios = axios.create(config); _axios.interceptors.request.use( function (config) { // Do something before request is sent // 设置loading if (LOADINGCOUNT === 0) { LOADING = Toast.loading({ message: "loading...", duration: 0, forbidClick: true, }); } LOADINGCOUNT++; config.headers.Authorization = localStorage.getItem('ssbg-token') || ''; return config; }, function (error) { // Do something with request error return Promise.reject(error); } ); // Add a response interceptor _axios.interceptors.response.use( function (response) { // Do something with response data //关闭loading LOADINGCOUNT--; if (LOADINGCOUNT === 0) { LOADING.clear(); } return response.data; }, function (error) { LOADING.clear(); // Do something with response error return Promise.reject(error); } ); /** * 导出get请求方法 * @url 请求地址 * @params get请求参数 */ export const get = (url, params) => { return _axios.get(url, { params }); }; /** * 导出post请求方法 * @url 请求地址 * @params post请求参数 */ export const post = (url, params) => { return _axios.post(url, params); };