Vue学习手记09-mock与axios拦截的使用

01、安装

安装mock
npm install mockjs

安装axios
npm install axios

02、新建一个config.js文件做axios拦截

import axios from ‘axios‘
// 创建一个实例
const service = axios.create({
  //设置请求延迟时间
  timeout: 3000
})

//请求的拦截
service.interceptors.request.use(
  config => {
    return config
  },
  err => {
    console.log(err)
  }
)

//响应的拦截
service.interceptors.response.use(
  response => {
    let res = {}
    res.status = response.status
    res.data = response.data
    return res
  },
  err => console.log(err)
)

// 输出
export default service

03、在入口文件main.js引入

import http from ‘./api/config‘
import ‘./mock‘
Vue.prototype.$http = http

04、建立mock文件夹,并新建index.js文件,用于设置mock和引用其他组件分出来的mock请求数据,便于数据分模块获取

index.js

home.js

import Mock from ‘mockjs‘

export default {
  getHomeData: () => {
    return {
      code: 20000,
      data: {
        videoData: [
          {
            name: ‘SpringBoot‘,        //获取随机float
            value: Mock.Random.float(1000, 10000, 0, 3)
          },
          {
            name: ‘iOS‘,
            value: Mock.Random.float(1000, 10000, 0, 3)
          },
          {
            name: ‘php‘,
            value: Mock.Random.float(1000, 10000, 0, 3)
          },
          {
            name: ‘h5‘,
            value: Mock.Random.float(1000, 10000, 0, 3)
          },
          {
            name: ‘小程序‘,
            value: Mock.Random.float(1000, 10000, 0, 3)
          }
        ]
      }
    }
  }
}

04、使用(在需要请求数据的界面使用)

 this.$http.get(‘/home/gatData‘).then(res => {
      console.log(res)
    })

原文地址:https://www.cnblogs.com/somethingWithiOS/p/12010182.html

时间: 2024-08-30 13:08:19

Vue学习手记09-mock与axios拦截的使用的相关文章

Vue学习手记01-安装和项目创建

1.安装Vue  注:node版本必须大于等于8.9  vue-cli3.x:npm install -g @vue/cli  vue-cli2.x:npm install -g @vue/cli-init 2.创建项目  vue init webpack my-project  注:安装依赖的时候,选择最后一个,就是自己安装,检验和路由初学者一般不安装,后面学习的时候再安装到项目  cd my-project  npm start/npm run dev 3.工程目录说明 . ├── buil

Vue学习手记02-路由创建

1.创建项目  注意:项目在初始化的时候不要安装vue-router 2.安装路由:  cnpm install vue-router --save 3.如果在一个模块化工程中使用它,在main.js中必须要通过 Vue.use() 明确地安装路由功能:  import Vue from 'vue'  import VueRouter from 'vue-router'  Vue.use(VueRouter) 4.main.js创建路由  const router = new VueRouter

Vue学习手记03-路由跳转与路由嵌套

1.路由跳转 添加一个LearnVue.vue文件, 在router->index.js中 引入import Learn from '@/components/LearnVue' 在touter中添加路由说明 export default new VR({ routes:[ { path:"/hello", name:"HelloWorld", component:HelloWorld }, { path:"/learn", name:&q

Vue学习手记08-vue-cli的启动过程

分两种情况---无路由和有路由 无路由 看到启动页面 在文件main.js( vue项目的入口文件)中 这里可以看到,生成了一个全局的vue实例,绑定在了#app上面,也就是在文件index.html中的那个div. 然后这个vue实例,使用的是 ./App这个组件,然后模板是:'<App/>',这就是说明是用App组件进行渲染的. 再看index.html文件 然后接着看App.vue App.vue 这个组件中,模板中就是一个img,下面是一个的组件,在'./components/Hell

Vue2学习小记-给Vue2路由导航钩子和axios拦截器做个封装

1.写在前面 最近在学习Vue2,遇到有些页面请求数据需要用户登录权限.服务器响应不符预期的问题,但是总不能每个页面都做单独处理吧,于是想到axios提供了拦截器这个好东西,再于是就出现了本文. 2.具体需求 用户鉴权与重定向:使用Vue提供的路由导航钩子 请求数据序列化:使用axios提供的请求拦截器 接口报错信息处理:使用axios提供的响应拦截器 3.简单实现 3.1 路由导航钩子层面鉴权与重定向的封装 路由导航钩子所有配置均在router/index.js,这里是部分代码 import

vue导航守卫和axios拦截器的区别

在Vue项目中,有两种用户登录状态判断并处理的情况,分别为:导航守卫和axios拦截器. 一.什么是导航守卫? vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.(在路由跳转时触发) 我们主要介绍的是可以验证用户登录状态的全局前置守卫,当一个导航触发时,全局前置守卫按照创建顺序调用.守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于等待中. const router = new VueRouter({ ... }) router.beforeEach(

uni-app官方教程学习手记

本人微信公众号:前端修炼之路,欢迎关注 背景介绍 大概在今年的十月份左右,我了解到Dcloud推出了uni-app.当时下载了一个Hbuilder X,下载了官方提供的hello示例教程.经过一番努力,在云端打包成功了.当时这个软件还不够完善,用iphone真机模拟运行时,还会存在中文乱码问题.我还特意提交了一个bug. 当时觉得这个框架真的好用.早先开发过混合app,也就是在webview下内嵌html5页面,经常会出现卡顿的和性能问题.这个解决方案DCloud本身也提供了,就是mui.但是u

Vue学习小结(一)安装依赖与数据来源

不多说啥了,生活中都是各种阵痛与惊喜.最近在学习vue框架,刚写完一个小型的后台管理系统(https://github.com/michaelzhengzm/info-manager-systerm_ol),在这里做一个阶段性的小结: 一.构建项目与安装依赖 构建项目采用vue-cli脚手架搭建,npm.cnpm.vue-cli这些知识的基础,网上一大片一大片的,就不过多的描述了.难理解的是里面的配置文件,初学的时候确实费了很多劲,先不用去管太多的配置文件,这些主要是以后上线打包的一些配置问题.

Vue学习总结

1.vue是什么 vue: 渐进式的js框架(先看到做核心的东西,然后再根据需求进行增加,比较灵活) 自底向下(先关注最基础的部分,接着逐渐扩大) 只关注视图层 组件化 响应式设计(响应式:一个网页,根据分辨率的不同,改变网页大小,例如bootstrap就是响应式的,适应式:多个不同的网页,根据分辨率的不同自动选择不同的页面) 2.优缺点 优点:简单              轻量              组件解耦                 超快虚拟dom 缺点: 出现晚(2014)不支