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 );
相关推荐
梨子同志8 分钟前
React 状态管理
前端
Dxy123931021630 分钟前
MySQL索引完整教程:创建、查看、修改、删除与日常管理
前端·javascript·mysql
剪刀石头布啊1 小时前
js能被遍历的集合有哪些特征,为何能被遍历
前端
剪刀石头布啊1 小时前
js解构
前端
剪刀石头布啊1 小时前
防抖功能的逐步递进
前端
剪刀石头布啊1 小时前
对象的大小比较与面向对象思考
前端
最爱老式锅包肉3 小时前
《HarmonyOS技术精讲-ArkWeb》桥接两岸:JSBridge原生与Web互调
前端·华为·harmonyos
IT_陈寒4 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
踩着两条虫4 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
kyriewen4 小时前
Godot 全面封杀 Vibe Coding,作为每天用 AI 写代码的人,我反而觉得这是件好事
前端·ai编程·claude