首页 > 其他分享 >axios 二次封装

axios 二次封装

时间:2022-11-09 00:14:22浏览次数:48  
标签:axios 封装 二次 url request token const data

import axios from "axios";
import NProgress from "nprogress";
import 'nprogress/nprogress.css'

const server = axios.create({
    baseURL: '/api',//此处  /api 可以写 后端已经处理跨域问题的地址,也可以写 代理跨域
    timeout: 5000
})
const request = (url, method='get', data={} ) => {
    return server({
        url, method,
        data : method === 'post' ? data : null,
        query : method === 'get' || 'delete' || 'put' ? data : null,
    })
}
server.interceptors.request.use(config => {
    /**
     * 在请求体中添加 token
     */
    /* 
    const token = sessionStorage.getItem('token')
    if(token){
        config.headers.token = token
    } 
   */
    NProgress.start();
    return config;
},  error => {
    NProgress.done();
    return Promise.reject(error);
});

server.interceptors.response.use(response => {
    NProgress.done();
    return response.data;
}, error => {
    NProgress.done();
    return Promise.reject(error);
});

export default{
    const get = (url, data) => request(url, 'get', data)
    const post = (url, data) => request(url, 'post', data)
    const delete = (url, data) => request(url, 'delete', data)
    const put = (url, data) => request(url, 'put', data)
}

 

标签:axios,封装,二次,url,request,token,const,data
From: https://www.cnblogs.com/ccad/p/16871753.html

相关文章

  • vue2 二次封装 element --- el-form 表单自定义组件
    一、form组件<template><divref="searchHeader"class="div_searchsearch_title"style="padding-right:10px"><el-formref="dataForm":model="formObj......
  • 30_音视频播放器_解封装
    目录一、简介二、读出文件三、初始化3.1读取文件3.2初始化音频信息和视频信息3.3初始化解码器四、实现视频时长一、简介我们使用QT+ffmpeg实现一个播放器,这里我们主要......
  • 使用axios请求,前端数字long类型精度问题解决方法
    今天开发遇到个问题,服务器后端的Long类型数据,传到前端会出现精度丢失,如:164379764419858435,前端会变成164379764419858430。在浏览器中做测试可知,这就是一个精度丢失的问题。......
  • laravel 验证规则封装
    1.先编写基类baseRequest.php<?phpnamespaceApp\validate;useIlluminate\Contracts\Validation\Validator;useIlluminate\Foundation\Http\FormRequest;useIl......
  • ffmpeg window二次开发环境搭建
    1.下载vs2017。网上有精简版的可下载。2.下载ffmpeg的windows库文件。包括开发版和共享版(需要用共享版中的dll文件).​​https://ffmpeg.zeranoe.com/builds/​​3.导入头......
  • 封装大屏组件 screenfull
    错误场景:使用大屏插件screenFull报错:in./node_modules/screenfull/index.js Moduleparsefailed:Unexpectedtoken(59:42)Youmayneedanappropriateloaderto......
  • 小程序封装请求接口数据方法
    第一步:先在util文件里新建index.js,写入以下代码。constbaseUrl='http://192.168.0.117:8080/SC_ncm'/***数据请求模块*接口地址http://daxun.kuboy.top/apido......
  • vue中使用axios获取到的Promise {<pending>}数据,无法使用的问题
    使用axios拿到后端数据后返回的是Promise {}我们可以看到数据是在[[PromiseResult]]这个Object对象中此时我们是无法获取对象的解决方法:使用async和await可以获取......
  • 【luffy】后台配置、数据库配置、User表配置、前台配置、安装axios
    目录1.关于环境变量的问题2.路飞后台配置之封装logger3.路飞后台配置之封装全局异常4.路飞后台配置之二次封装response5.路飞数据库配置1.关于环境变量的问题1.相......
  • Day29 派生, 封装 , 多态, 反射
    Day29派生,封装,多态,反射内容概要派生方法的实践面向对象之封装面向对象之多态面向对象之反射反射的实践案例内容详细1.派生方法的实践#需求展示impor......