'use strict'
import axios from 'axios'
import qs from 'qs' var host = "https://www.easy-mock.com/mock/5bb02bc0a0afc503f502a292/example"; axios.interceptors.request.use(config => {
// loading
//请求拦截
return config
}, error => {
return Promise.reject(error)
}) axios.interceptors.response.use(response => {
//响应拦截
return response
}, error => {
return Promise.reject(error.response)
}) function checkStatus(response) {
// loading
// 如果http状态码正常,则直接返回数据
if(response && (response.status === 200 || response.status === 304 || response.status === 400)) {
var res = response.data || {};
try{
if(typeof res == "string"){
res = JSON.parse(res);
}
//还可以判断数据是否正确
}catch(e){
console.warn("不是一个json数据:",res);
} //用于判断数据是否正确
if(res.success){
return res;
}else{
console.error("数据请求错误");
return Promise.reject(res);
} }else{
// 异常状态下,把错误信息返回去
//处理错误情况 return Promise.reject(response)
}
} export default {
post(url, data) {
data = data || {};
return axios({
method: 'post',
url: host + url,
data: qs.stringify(data),
timeout: 10000,
}).then(checkStatus).catch((e)=>{
console.error("统一处理的错误",e);
return Promise.reject(e);
});
},
get(url, params) {
params = params || {};
return axios({
method: 'get',
url: host + url ,
params, // get 请求时带的参数
timeout: 10000,
}).then(checkStatus).catch((e)=>{
console.error("统一处理的错误",e);
return Promise.reject(e);
});
}
}

 

import $http from "./http";
$http.get("/demo/secret",param).then((ret)=>{
console.info(ret);
return ret;
});

  

 

axios的二次封装的更多相关文章

  1. vue中axios的二次封装

    我们做项目时,虽然axios也可以直接拿来用,但是对接口比较零散,不太好进行维护,也会产生大量的重复代码,所以我在这对axios进行了统一接口处理 第一步,先在src中的公共文件夹中如utils里新建 ...

  2. vue项目中对axios的二次封装

    近来在使用vue重构公司m站时,使用了axios来进行数据的请求,由于项目的需要,对axios进行了二次封装,点击进入axios //引入axios import axios from 'axios' ...

  3. axios 请求二次封装

    /** * 封装get方法 * @param url * @param data * @returns {Promise} */ export function get(url, params) { ...

  4. axios 简单二次封装

    import axios from 'axios' import { Message } from 'element-ui'; // 设置baseURL //axios.defaults.baseUR ...

  5. Vue:对axios进行简单的二次封装

    主要做3点: 1.配置一个请求地址前缀 2.请求拦截(在请求发出去之前拦截),给所有的请求都带上 token 3.拦截响应,遇到 token 不合法则报错 // 对 axios 的二次封装 impor ...

  6. 原生 Ajax 封装 和 Axios 二次 封装

    AJAX 异步的JavaScript与XML技术( Asynchronous JavaScript and XML ) Ajax 不需要任何浏览器插件,能在不更新整个页面的前提下维护数据,但需要用户允 ...

  7. axios 二次封装

    一般项目往往要对 axios 库进行二次封装,添加一些自定义配置和拦截器等 案例 ./service/axios.js 1234567891011121314151617181920212223242 ...

  8. 【vue】axios二次封装,更好的管理api接口和使用

    在现在的前端开发中,前后端分离开发比较主流,所以在封装方法和模块化上也是非常需要掌握的一门技巧.而axios的封装也是非常的多,下面的封装其实跟百度上搜出来的axios封装或者axios二次封装区别不 ...

  9. 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm

    前言:之前在网上找的好多都是基于vue-cli 2.x的,而使用vue-cli 3的文章比较少,Vue CLI 3 中文文档,所以我在自己尝试的时候把几篇文章结合了一下,调出来了我想要的模式,也就是V ...

随机推荐

  1. Python 学习随笔 - 2 - list 、tuple 、dict、set 特殊数据类型 及 实际应用

    1.list list是一种有序的集合,可以随时添加和删除其中的元素;  和C语言不同的地方是list里的元素甚至可以是不同类型的,甚至是另个list 例如:['A', 'B', 'C']   ['A ...

  2. IdentityServer4入门四:应用Implicit模式保护网站(下)

    为认证服务端增加数据库支持 我计划使用一个名为Admin的表,放在一个已有的数据库里.所以我需要定义Admin类和在配置里预先加上数据库连接 新增类:Admin.cs public class Adm ...

  3. Java网站视频资源加密

    ----------------------------------------------------------分享此文章,只为让版权能够得到更多的保护---------------------- ...

  4. Oracle虚拟机 与 windows配置

    目录 相关资料 安装虚拟机及相关配置 安装PLSQL Developer Navicat Premium登录数据库 踩坑之路 相关资料 oracle虚拟机配置 提取码:s3sg 安装虚拟机及相关配置 ...

  5. Xgboost建模

    xgboost参数 选择较高的学习速率(learning rate).一般情况下,学习速率的值为0.1.但是,对于不同的问题,理想的学习速率有时候会在0.05到0.3之间波动.选择对应于此学习速率的理 ...

  6. 原创 linux 爬虫拨号服务器完整设置

    [root@cloud ~]# cat /home/bh.sh #!/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/sbin/ifconfig /usr/s ...

  7. python笔记9 线程进程 threading多线程模块 GIL锁 multiprocessing多进程模块 同步锁Lock 队列queue IO模型

    线程与进程 进程 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需要 ...

  8. List三个子类的特点

    List的三个子类的特点 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高. Vector: 底层数据结构是数组,查询快,增删慢. 线程安全,效率低. Vector相对A ...

  9. R-CNN论文学习

    Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5) pr ...

  10. Elasticsearch .net 记录-1

    简介 ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例.像Solr4一样,是基于Lucene构建的.支持时间时间索引和全文检索.官网:http://www ...