axios的封装

axios的封装

在src目录下新建文件夹utils工具类,文件夹里面新建http.js文件,如果项目涉及到多个基地址可以新建http2.js文件。

c 复制代码
import axios from 'axios';

/**
 * 后端
 */
 
// 创建axios实例
const http = axios.create({
  // 1.接口基地址
  baseURL: 'http://192.168.2.200:8080',
  // 2.接口超时时间
  timeout: 5000,
});

// 3.axios请求拦截器
http.interceptors.request.use(
  (config) => {
    return config;
  },
  (e) => Promise.reject(e)
);

// 4.axios响应式拦截器
http.interceptors.response.use(
  // 响应数据已经去掉了外层的 data 包装
  (res) => res.data,
  (e) => {
    return Promise.reject(e);
  }
);

export default http;

然后我们对应的接口就可以写在src目录下的apis文件夹里面,例如我们新建一个layout.js文件

c 复制代码
import http from '@/utils/http';

/**
 * 页面获取接口
 */

// 获取数据
export function getDataAPI(params) {
  return http({
    url: 'getData',
    params,
  });
}

// 更改数据
export function setDataAPI(data) {
  return http({
    method: 'post',
    url: 'setData',
    data,
  });
}

然后我们在使用的时候就只用进行导入,就可以简单的使用封装过后的接口了。

c 复制代码
import { getDataAPI } from '@/apis/layout';

// ......

// 使用
 const res = await getDataAPI({
          type: '铺缆',
        });
 console.log('数据:', res );
相关推荐
likuolei1 天前
XSL-FO 软件
java·开发语言·前端·数据库
正一品程序员1 天前
vue项目引入GoogleMap API进行网格区域圈选
前端·javascript·vue.js
j***89461 天前
spring-boot-starter和spring-boot-starter-web的关联
前端
star_11121 天前
Jenkins+nginx部署前端vue项目
前端·vue.js·jenkins
im_AMBER1 天前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
JIngJaneIL1 天前
农产品电商|基于SprinBoot+vue的农产品电商系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·农产品电商系统
Tongfront1 天前
前端通用submit方法
开发语言·前端·javascript·react
可爱又迷人的反派角色“yang”1 天前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs
han_1 天前
前端高频面试题之CSS篇(二)
前端·css·面试
JIngJaneIL1 天前
书店销售|书屋|基于SprinBoot+vue书店销售管理设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·书店销售管理设计与实现