第一步:

首先引入axios

然后创建两个文件夹api和http

http.js 里面的

 1 import axios from 'axios';//引入axios
2
3 //环境的切换 开发环境(development)使用的是测试接口 和 生产环境(production)使用的是上线接口
4 if(process.env.NODE_ENV=='development'){
5 //设置默认路径
6 axios.defaults.baseURL='http://120.53.31.103:84/'
7 }
8 if(process.env.NODE_ENV=='production'){
9 axios.defaults.baseURL='https://wap.365msmk.com/'
10 }
11 axios.defaults.timeout=5000;//加载不出来5秒之后就是加载失败
12 axios.interceptors.request.use(
13 config=>{
14 config.headers={DeviceType:'H5'}//可每次发送请求之前的逻辑处理 比如判断token
15 return config;
16 }
17 )
18 // axios.interceptors.response.use(
19 // response=>{
20 // return response;
21 // },
22 // error=>{
23 // if(error.response.status){
24
25 // }
26 // }
27 // )
28
29 // 使用promise返回axios请求的结果
30 export function get(url, params) {
31     return new Promise((resolve, reject) => {
32         axios.get(url, {
33             params:params
34         }).then(res => {
35             resolve(res)
36         }).catch(err => {
37             reject(err)
38         })
39     })
40 };
41
42 export function post(url,params){
43     return new Promise((resolve,reject)=>{
44         axios.post(url,params).then(res=>{
45             resolve(res.data)
46         }).catch(err=>{
47             reject(err.data)
48         })
49
50     })
51 }

api.js里面的

import { get, post } from "../http/http" //引入封装好的get和post方法
// 封装请求的方式
export function getBanners() {//轮播
    return get('api/app/banner')
} export function getIndex(){//首页数据
    return get('api/app/recommend/appIndex')
}

然后在vue里面的文件应用


import { getBanners, getIndex } from "../api/api";//引入api里面定义的方法


async mounted() {
var swiperr = await getBanners();
console.log(swiperr.data.data);
this.swipers = swiperr.data.data; //轮播图渲染 var strr = await getIndex();
console.log(strr); //明星讲师渲染
this.strs = strr.data.data;
console.log(this.strs);
},

然后就没有然后了

vue封装API接口的更多相关文章

  1. Vue实例中封装api接口的思路 在页面中用async,await调用方法请求

    一般我们写小型的项目是用不到封装axios实例 但是当我们写大型项目时  接口有时候多到有上百个接口,那我们在请求一次调用一次接口,接口上好多都是重复的,这个时候我们就可以封装axios实例,既节省了 ...

  2. python3封装Api接口

    注:本篇的代码和语法基于Python3.5环境,下面将用到Python 的Flask框架 封装接口主要讲静态接口(无参数传入).动态接口(有参数传入,不同参数返回的信息不同).针对动态接口有三种传参方 ...

  3. 回调函数 和 promise对象,及封装API接口

    1.回调函数:https://blog.csdn.net/baidu_32262373/article/details/54969696 注意:回调函数不一定需要用到 return.如果浏览器支持Pr ...

  4. Vue中axios的封装和api接口的统一管理

    更新的是我csdn上的文章,需要的话可以看下,互相学习点击去我的csdn vue中axios的封装 在vue项目和后端交互获取数据时,通常使用axios库,官方文档:https://www.npmjs ...

  5. vue中Axios的封装和API接口的管理

    前端小白的声明: 这篇文章为转载:主要是为了方便自己查阅学习.如果对原博主造成侵犯,我会立即删除. 转载地址:点击查看 如图,面对一团糟代码的你~~~真的想说,What F~U~C~K!!! 回归正题 ...

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

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

  7. 循序渐进VUE+Element 前端应用开发(13)--- 前端API接口的封装处理

    在前面随笔<循序渐进VUE+Element 前端应用开发(12)--- 整合ABP框架的前端登录处理>介绍了一个系统最初接触到的前端登录处理的实现,但往往对整个系统来说,一般会有很多业务对 ...

  8. vue项目实践-添加axios封装api请求

    安装 axios npm install axios --save 创建实例 (utils/fetch.js) axios 默认提交格式为:application/json 可使用 qs 模块(需要安 ...

  9. 【uni-app】uni.request二次封装,更好的管理api接口和使用

    前言 之前写了一个Vue.js的axios二次封装(点击跳转),这次是uni-app,uni-app是基于vue.js框架的,我觉得是很好用的一个框架,而且一套代码编译那么多平台,非常节省成本,当然, ...

随机推荐

  1. H5系列之新input

    虽说H5 新填了几个很方便的input 类型,但是吧,想法是美好的,但是现实很残酷,兼容性不太好.基本只有google浏览器能用.但是既然出了,那么就要了解他,知道有这么一个东西就好. input类型 ...

  2. Netty源码分析之ByteBuf(二)—内存分配器ByteBufAllocator

    Netty中的内存分配是基于ByteBufAllocator这个接口实现的,通过对它的具体实现,可以用来分配我们之前描述过的任意类型的BytebBuf实例:我们先看一下ByteBufAllocator ...

  3. oracle整表数据被误删除之寻踪

    问题描述 开发同事在在14点左右发现任务表task_info数据不正确,3个小时之前的数据消失了,数据截至时间11:38:27 问题分析 查询过dba_source,只找到一个删除该表的存储过程,而且 ...

  4. Thrift接口简介

    参考地址:http://roclinux.cn/?p=3316 [thrift是什么] 计算机技术里一款著名的通信框架 – thrift框架 thrift的全名叫做Apache thrift,是一款软 ...

  5. Java基础教程——垃圾回收机制

    垃圾回收机制 Garbage Collection,GC 垃圾回收是Java的重要功能之一. |--堆内存:垃圾回收机制只回收堆内存中对象,不回收数据库连接.IO等物理资源. |--失去使用价值,即为 ...

  6. 分享:经常说你精通C语言,看看这十道题你会不会解!

    今天给大家分享我们在日常工作中可能遇到的疑问,不看答案,你是否有把握都能答对?让我们来试试吧~ 一.会输出"hello-std-out"?   参考答案: stdout和stder ...

  7. 机场&代理商-关系图

    机场&代理商-关系图 思路 ①首先统计机场活跃度Top10的机场名称,以下是我的表结构,以及查询语句 表结构: 查询语句:SELECT * from 2020csale ORDER BY cn ...

  8. LaTeX中的参考文献BibTex

    设置: BibTex代码及注释: 显示效果:

  9. select标签

    select标签 select 可以创建单选或多选菜单. <!DOCTYPE html> <html> <head> <meta charset=" ...

  10. 【GDKOI2014】JZOJ2020年8月13日提高组T1 阶乘

    [GDKOI2014]JZOJ2020年8月13日提高组T1 阶乘 题目 Description Input 第一行有一个正整数T,表示测试数据的组数. 接下来的T行,每行输入两个十进制整数n和bas ...