vue封装的reques.js请求工具

//导入axios
import axios from 'axios';
const instance = axios.create();
import {useTokenStore} from "@/stores/token.js";
//添加请求拦截器
instance.interceptors.request.use(

    (config)=>{
        //请求前回调
        //添加token
        const tokenStore = useTokenStore();
        config.headers.Authorization=tokenStore.token;
        return config;

    },
    //请求错误回调
    (err)=>{
        Promise.reject(err);
    }

);
//添加响应拦截器
instance.interceptors.response.use(
    //成功回调
    result=>{
        console.log('请求响应result.data',result.data);
        //判断成功状态码
        if(result.data.code===0){
            console.log('进入返回数据')
            return result.data;
        }
        try {
            //操作失败
            alert(result.data.message?result.data.message:'操作失败')
            console.log("请求失败>>>>>>>>>>>>")
            //异步操作的状态转化为失败
            return Promise.reject(result.data);
        }catch (error){
            console.log('error===',error)
        }

    },
    //失败
    err=>{
        console.log("调用失败err==",err);
        alert('服务异常');
        //ElMessage.error('服务异常');
        //异步的状态转化成失败状态
        return Promise.reject(err);
    }
);
//暴露出去
export default instance;

 

posted @ 2025-08-28 22:21  红尘沙漏  阅读(6)  评论(0)    收藏  举报