mock.js学习之Mock.mock()&Mock.setup()使用_篇3

Mock.mock()

Mock.mock(rurl?, rtype?, template|function(options))

根据数据模板生成模拟数据
rurl: 可选
表示需要拦截的 URL,可以是 URL 字符串 或 URL 正则,如

/\domain\/list\.json/
'/domain/list.json'

rtype: 可选
表示需要拦截的 AJAx 请求类型,如 get/post/put/delete
template: 可选
表示数据模板,可以是对象或字符串,例如 { data|1-10': [{}] }@EMAIL
function(options): 可选
表示用于生成响应数据的函数
options
指向本次请求的 Ajax 选项集,含有 url、type、body 三个属性。

Mock.mock(template)

根据数据模板生成模拟数据

var data = Mock.mock({
    'title': 'haha',
    'author|1-4': /[a-z][A-Z][0-9]/
})
console.log(JSON.stringify(data))
=>
{"title":"haha","author":"wF5aO1cW1"}

Mock.mock(rurl, template)

记录数据模板,当拦截到匹配 rurl 的 ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回

Mock.mock('/user/test', {
    code: 200,
    data: {
        name: {
            first: '@FIRST',
        }
    }
})

this.$axios.get('/user/test').then(res => {
        console.log(res.data)
      })
=>
{code: 200, data: {name: {first: "Frank"}}}

Mock.mock(rurl, function(options))

记录用于生成响应数据的函数。当拦截到匹配 rurl 的Ajax 请求时,函数 `function(options) 将被执行,并把执行结果作为响应数据返回。

Mock.mock('/user/test', options => {
    return {code:200, options}
})

this.$axios({url:'/user/test', data:{'name|1-4': 'ha'}}).then(res => {
  console.log(res.data)
 })

=>
{
	code: 200
	options: {
		body: "{"name|1-4":"ha"}"
		type: "GET"
		url: "/user/test"
	}
}

Mock.mock(rurl, rtype, template)

记录数据末班,当拦截到匹配 rurlrtype 的 ajax 请求时,将根据数据末班 template 生成模拟数据,并作为响应数据返回

Mock.mock('/user/test', 'get', {
    code: 200,
    data: {
        name: 'xixi'
    }
})

this.$axios.get('/user/test').then(res => {
   console.log(res.data)
 })
=>
{
	code: 200
	data: {
		name: "xixi"
	}
}

Mock.mock(rurl, rtype, function(options))

记录用于生成响应数据的函数,当拦截到匹配 rurlrtype 的 ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回

Mock.mock('/user/test', 'get', option => {
    return option
})

this.$axios({url:'/user/test', data: {'name':'haha'}}).then(res => {
   console.log(res.data)
 })
 =>
{
	body: "{"name":"haha"}"
	type: "GET"
	url: "/user/test"
}

Mock.setup()

Mock.setup(settings)
配置拦截 ajax 请求时的行为,支持的配置项有 : tiimeout

settings

必选,配置项集合

timeout

可选,指定被拦截的 ajax 请求的响应时间,单位是毫秒。值可以是正整数,如 400,表示 400 毫秒后才会返回响应内容,也可以是横杠- 风格的字符串,如 200-600,表示响应时间介于 200和600毫秒之间。默认值是 10-100

Mock.setup({
	timeout: 400
})

Mock.setup({
	timeout: '200-600'
})
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值