vue3+vite 封装axios请求

安装axios

npm install axios

创建axios实例

/utils/request

import axios from "axios";
const service = axios.create({
  baseURL: import.meta.env.VITE_BASE_API as string,//接口统一域名
  timeout: 6000, //设置超时
  headers: {
    'Content-Type': 'application/json;charset=UTF-8;',
  }
});

// request拦截器
service.interceptors.request.use(
  (config) => {
    return config;
  },
  (error) => {
    Promise.reject(error);
  }
);
// 响应拦截器
service.interceptors.response.use(
  (response) => {
    const res = response.data;

    return response.data;
  },
  (error) => {
    /* Message({
      message: '服务器调用错误',
      type: 'error',
      duration: 5 * 1000
    }) */
    console.log("服务器调用错误");

    return Promise.reject(error);
  }
);
export default service;

封装请求接口

utils/home.ts

import request from '@/utils/request'
export class Home {
  /*搜索*/
  async getCurriculumsList(data:any) {
    let requestData: any = await request({
      url: "/api/xxxxxx",
      method: 'POST',
      data: data
    })
    return requestData
  }

}

 

vue中调用

home.vue

<script lang="ts">
import { toRefs, reactive, defineComponent, onMounted, ref, watch, nextTick, onActivated } from 'vue';
import { Home } from "@/utils/home";
export default defineComponent({
  name: 'home',
  components: {},
  setup() {
    const home = new Home();
    const state = reactive({
      data: {}
    });
    // 页面加载时
    onMounted(() => {
      home.homeList().then(res => {
        console.log(res)
      });
    });
    return {
      ...toRefs(state),
    };
  }
})
</script>

参考文章:vue3+vite 封装axios请求 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值