vue axios二次封装

vue axios二次封装,第1张

/src/utils/request.js

import axios from 'axios'
const requests = axios.create({
    // 配置基础路径
    baseURL:'https://xxx/',
    timeout:3000,
    // 请求头
    /* headers:{} */
})

// 配置拦截器
requests.interceptors.request.use(config => {
    // 请求带token
    /* config.headers.Authorization = window.sessionStorage.getItem('token') */
    return config
})

// 对应拦截器
requests.interceptors.response.use((res) => {
    // 请求成功的回调函数
    return  res.data;
},() => {
    // 请求失败的回调函数
    return Promise.reject('fail')
})
// 对外暴露
export default requests;

/src/utils/api.js

import requests from "./request";

export const productDetail = (id) => {
    return  requests({
        url: 'api/product/detail/'+id, 
        method: 'GET',
       // params:{ id }
    })
}

页面使用:

import { productDetail } from "../utils/api";

async getlist() {
      try {
        let res = await productDetail(this.id);
        console.log(res)
      } catch (error) {
        Toast(error.msg)
   }
},

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/945620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-18
下一篇2022-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存