1)安装mockjs,这一步跳过

2)在项目中建立mock模块,笔者的目录结构如下

mock模块与接口模块一一对应,有一个接口,就有一个mock

3)编写登陆模块mock接口,代码如下:

import * as appUtils from '../../utils/appUtils'
/**
* 系统接口MOCK模块
* @param opt
*/
export const login = {
type: 'get',
url: '/login',
cb: opt => {
const params = appUtils.getParams(opt.url)
console.log('%cmock拦截, 响应: ', 'color:blue', params)
return params
}
}

其中cb,为一个function对象,入参为接口参数

该方法内,可以根据入参定制返回结果

4)编辑mock模块索引文件index.js,代码如下:

import Mock from 'mockjs'
import * as login from './module/login' const modules = [login] // MOCK 初始化配置
Mock.setup({
timeout: '200-600'
}) for (const module of modules) {
for (const key in module) {
const {url, type, cb} = module[key]
Mock.mock(new RegExp(url), type, (opt) => {
console.log('%cmock拦截, 请求: ', 'color:blue', opt)
return cb(opt)
})
}
}

若果新增其他mock模块,如user,menu等等,只要在该文件中引入即可,参考login的引入

5)启用mock

修改main文件,增加如下配置

const openMock = true
if (process.env.NODE_ENV === 'development' && openMock) {
console.log('mock model')
require('./mock')
}

改变openMock,来控制开发环境的mock启用

(一)将mockjs集成到VUE中后,怎样根据接口入参返回mock结果的更多相关文章

  1. springboot项目中接口入参的简单校验

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  2. vue中为computed计算属性传参遇到的问题,已解决

    首先介绍下项目背景, 需要将 dataList 中的 item.stars 属性传入 computed 返回要展示的值 部分代码如下(请不要纠结为什么这么做,数据格式确认如此): <li cla ...

  3. RobotFramework:发现一个大坑,当post接口入参为json时,千万不能用sojson转化后的json串(ride解析会有异常,非sojson工具问题),直接用浏览器粘过来的就行

    问题背景: 和以往一样愉快的进行着自动化测试,突然就不停的提示我,“程序异常”,查看log发现data中的json变为了数组?????? 那算了,我不先组装入参数据直接data=json入参吧,wha ...

  4. 对接网易云信音视频2.0呼叫组件集成到vue中,实现web端呼叫app,视频语音通话。

    项目中需要实现视频通话功能,经过公司的赛选,采用网易云信的视频通话服务,app小伙伴集成很顺利.web端需要实现呼叫app端用户.网易云信文档介绍不全,vue的demo满足不了需求,和客服人员沟通,只 ...

  5. 如何修改Vue打包后文件的接口地址配置

    1.背景 常规的vue项目分为本地环境和生产环境,我们只要对 config 文件夹下的 dev.env.js 和 prod.env.js 做相应的配置即可.但是最近在做的项目中,涉及到私有化部署,就是 ...

  6. vue中使用axios(异步请求)和mock.js 模拟虚假数据

    一.使用axios 1.安装 npm install --save axios 2.引用 import Axios from 'axios' Vue.prototype.Axios = Axios 二 ...

  7. vue 中使用 axios 请求接口,请求会发送两次问题

    在开发项目过程中,发现在使用axios调用接口都会有两个请求,第一个请求时,看不到请求参数,也看不到请求的结果:只有第二次请求时才会有相应的请求参数以及请求结果: 那为甚么会有这么一次额外的请求呢,后 ...

  8. 转换:使用vue-axios和vue-resource解决vue中调用网易云接口跨域的问题

    本人配置成功https://segmentfault.com/a/1190000011072725

  9. java语言方法中定义final类型的入参有什么用意?

    无论参数是基本数据类型,还是引用数据类型,只要加了final,不好意思,该参数不可以再赋值(实参传进来给形参,就相当于初始化完成).可以防止在方法里面不小心重新赋值,造成一些不必要的麻烦!!!参考:h ...

随机推荐

  1. APS助众生药业突破运营管理瓶颈

    众生药业一直致力于为了世界提供世界级的产品及服务,成立以来公司先后实施了ERP系统,CRM系统,WMS系统,OA系统,精益生产,朝着行业信息化水平领先的目标迈进. 但近年随着业务量的不断扩大,仅仅拥有 ...

  2. Markdown随笔

    Markdown随笔 这两天兴致来了,想尝试一下使用 Markdown. 写这篇博客时我用的是: MarkdownPad 2 关于 MarkdownPad 2 的安装破解网上有很多教程了,这里我就不赘 ...

  3. MySQL修炼之路一

    1. MySQL概述 1. 什么是数据库 存储数据的仓库 2. 都有哪些公司在用数据库 金融机构.游戏网站.购物网站.论坛网站 ... ... 3. 提供数据库服务的软件 1. 软件分类 MySQL. ...

  4. Centos系统 tomcat 中的应用与北京时间相差8小时

    解决方法: 在 catalina.sh中的 JAVA_OPTS 加上 -Duser.timezone=GMT+08  启动时 startup.sh 会调用 catalina.sh.

  5. 部署ceph存储集群及块设备测试

    集群环境 配置基础环境 添加ceph.repo wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishang ...

  6. Python 和 R 中的一数多图

    R # 一数多图 x <- 2:6 y <- 7:3 y1 <- y +2 opar <- par(no.readonly = TRUE) par(mfrow=c(2, 3)) ...

  7. 如何使用Activator.CreateInstance创建一个列表<T>,其中T在运行时是未知的?

    参考网址:https://cloud.tencent.com/developer/ask/185965 using System; using System.Collections.Generic; ...

  8. django 基础进阶ORM 2

    1.多表操作 添加记录: 针对一对多 book_obj=Book.objects.create(title="python葵花宝典",price=100,publishDate=& ...

  9. mybatis 模糊查询 mapper.xml的写法

    1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%'); 2. 使用 ${...} ...

  10. l获取list 的长度,EL表达式获取list的长度,EL表达式获取list大小

    在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...