import axios from "axios"; import { Toast } from "vant"; import { showMessage } from "./errorStatusCode"; // 引入状态码文件 import useMessageTip from "../hooks/useMessageTip"; import useShowToast from "../hooks/useToast"; const { showDangerMessage } = useMessageTip(); const { toastFail } = useShowToast(); const baseURL = "/api"; // 请求前缀 // 创建axios 实例 const instance = axios.create({ baseURL, // 设置API的基础URL timeout: 3000, }); //请求拦截器 instance.interceptors.request.use( (config) => { const token = sessionStorage.getItem("token") || '8453269023523102720'; if (token) { config.headers = { ...config.headers, Token: token, }; } return config; }, (error) => { return Promise.reject(error); } ); // 响应response 拦截器 instance.interceptors.response.use( (res) => { const result = res.data; if (res.status !== 200 || res.data.code === "error") { toastFail( res.status !== 200 ? showMessage(err.status) : res.data.msg ); return Promise.reject(result); } return Promise.resolve(result); }, (err) => { showDangerMessage(showMessage(err.status)); return Promise.reject({ msg: "请求失败" }); } ); const requests = { post(url, data = {}, config = { headers: { "Content-type": " application/x-www-form-urlencoded; charset=UTF-8", } }) { return instance.post(url, data, config); }, get(url, params = {}) { return instance.get(url, { params: params }); }, delete(url, data = {}) { return instance.delete(url, { data: data }); }, put(url, data = {}) { return instance.put(url, data); }, }; export default requests;