第一步:

首先引入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. SD卡被格式化了还能恢复吗

    SD卡轻便小巧,它的主要功能是拓展便携式设备.包括:数据相机.手机及其他的多媒体播放器等的存储空间,缓解设备本身的存储压力. 很多用户反应,SD卡使用了一定的时间后,会出现SD卡受损的提示,再次打开的 ...

  2. web自动化 模拟鼠标、键盘操作

    一.鼠标操作 1.1鼠标的悬停操作,move_to_element from selenium import webdriver from selenium.webdriver.common.acti ...

  3. 你还在 if...else?代码这样写才好看!

    前言 if...else 是所有高级编程语言都有的必备功能.但现实中的代码往往存在着过多的 if...else.虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性.可维护 ...

  4. 二分查找 leetcode704

    class Solution {    public int search(int[] nums, int target) {        int l=0;        int r=nums.le ...

  5. Java基础教程——继承

    继承 一个类 可以 继承自 另一个类: 派生的类(子类)继承父类的方法和数据成员: 关键字:子类 extends 父类. public class 继承 { public static void ma ...

  6. modelviewset与apiview

    modelviewset(认证,权限,限流,序列化,分页,过滤,排序) 1.DRF初始化 1.认证(让用户登录) 2.权限(根据不同用户角色,可以操作不同的表) 3.限流(限制接口访问速度) 4.序列 ...

  7. Django 在test.py 中测试文件的配置

    import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTING ...

  8. Eclipse的新建工作空间如何用以前工作空间的配置

    1.找到以前工作空间的配置目录:\.metadata\.plugins\org.eclipse.core.runtime 2.替换掉新的工作空间的配置目录:\.metadata\.plugins\or ...

  9. 基于gRPC的注册发现与负载均衡的原理和实战

    gRPC是一个现代的.高性能.开源的和语言无关的通用RPC框架,基于HTTP2协议设计,序列化使用PB(Protocol Buffer),PB是一种语言无关的高性能序列化框架,基于HTTP2+PB保证 ...

  10. 第8.4节 Python类中不是构造方法却胜似构造方法的__new方法__深入剖析:语法释义

    一.    引言 在本博前面的内容都对构造方法__init__进行了介绍,也在前面章节引入了__new__方法,但老猿认为__new__方法比构造方法__init__更应该属于构造方法.这是因为在Py ...