1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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;
|