vue 3.0 axios 封装过程

1、搭建好vue框架,引入axios

2、until文件下创建request.js

baseURL 配置有时候会产生跨域问题,直接在根目录下的vue.config.js中配置代理可以解决

import axios from 'axios'

// 创建axios
const service = axios.create({
  baseURL: '你的请求前缀/api'
});

// 添加请求拦截器
service.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
service.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  console.log('res',response);
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default service;

3、新建api.js文件 笔者这里在until文件下创建这个文件

import service from "../until/request"

// 获取seller
export function getSeller(){
  return service.request({
    method:'get',
    url:'/seller',
  })
}

4、调用

笔者没有将api挂载到vue全局文件上 因为每个都是单独导出,在单个组件中直接按需导入组件

...
import {getSeller} from '../until/api'
...

async getData(){
      const {data:res} = await getSeller()
      this.allData = res
      // 数据从小到大排序
      this.allData.sort((a,b)=>{
        return a.value - b.value
      })
    },