关于在vue中进行axios封装

(1)对于基本的axios,咱们一般都是script下面写请求,这一写就是写一大串,写多了就感觉很烦

(2)那就要进行一个封装

-------- 先在vue的项目中咱们新建一个utils文件,在这个文件中书写 request.js

import axios from "axios";

// 创建axios实例
const instance = axios.create({
  baseURL: "http://localhost:3000/",
  // 设置相应的时间
  timeout: 1000,
});

// 请求拦截器
instance.interceptors.request.use(
  function (config) {
    return config;
  },
  function (error) {
    return Promise.reject(error);
  }
);

// 响应式拦截器
instance.interceptors.response.use(
  function (response) {
    return response.data;
  },
  function (error) {
    return Promise.reject(error);
  }
);

export default instance;

        --------再新建一个文件为api在这里面新建一个Home.js

// 请求API
import request from "@/utils/request.js";

// icon
export const recommendMusic = params =>
  request({
    url: "/homepage/dragon/ball",
    params
  });

// 推荐歌单
export const recommednsong = params =>
  request({
    url: "/personalized/newsong",
    params
  });

        --------在api中再创建一个文件为index.js文件将api接口导出

import {recommendMusic,recommednsong } from './Home'


export const recommendMusicAPI =recommendMusic
export const recommednsongAPI=recommednsong

-----------最后一步来了,就是来渲染咱们的页面-----创建一个vue的文件

// 先进行导入index.js
import  { recommendMusicAPI,recommendsonAPI }  form  '@/api/index.js'



export default {
  data() {
    return {
      iconList: [],
      songList: [],
    };
  },
// 在钩子函数中created进行接收函数
  async created() {
    const res = await recommendMusicAPI();
    const res2 = await recommednsongAPI({
      limit: 3,
    });
    this.iconList = res.data.data;
    this.songList = res2.data.result;
  },
};

总结一下

(1)先创建一个utils文件夹,在其文件夹中创建request.js文件---->来配置一下axios

(2)在创建一个api文件夹,在其文件夹中创建index.js 和 home.js文件

(3)在home.js文件中,来发送url的请求

(4)在index.js文件中,来导出home.js的url中的数据

(5)在vue中的文件中来进行渲染api中的index.js数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值