axios封装api接口3

283 阅读1分钟

##创建myaxios.js文件

    import axios from "axios"
    import {Toast} from "vant"
    //开发模式和生产模式下的 baseUrl地址切换
    if (process.env.NODE_ENV == 'development'){   //development开发(没打包)
        axios.defaults.baseURL = 'http://120.53.31.103:84'
        } else if (process.env.NODE_ENV == 'debug') { 
        axios.defaults.baseURL = 'https://www.ceshi.com';
        }else if (process.env.NODE_ENV == 'production') {   //production生产(打包)
        axios.defaults.baseURL = 'https://www.365msmk.com';
    }
    //设置超时时间
    axios.defaults.timeout = 6000;   
    //请求拦截
    axios.interceptors.request.use(
        config=> {
            const token = localStorage.adminToken;
            token && (config.headers.authorization = 'Bearer ' +token)
            Toast.loading({
                className:'toast-loading'
            })
            return config
        }
    )
    //响应拦截
    axios.interceptors.response.use(
        response=>{
            Toast.clear()
            if(response.data.code !=200){
                Toast(response.data.msg);
            }
            return response
        }
    )
    //get封装
    export function get(url,params){
        return new Promise((resolve,reject)=>{
            axios.get(url,{
                params:params
            }).then(response=>{
                resolve(response.data)
            }).catch(error=>{
                reject(error)
            })
        })
    }
    //post封装
    export function post(url,data = {}){
        return new Promise((resolve,reject)=>{
            axios.post(url,data).then(response=>{
                resolve(response.data);
            },err=>{
                reject(err)
            })
        })
    }

使用

1.引入import *as myaxios from "../../myaxios"
2. 
    myaxios.post("/api/app/collect",{
        course_basis_id: this.course_id,
        type:1
      }).then(res=>{
        cosnole.log(res)
      })