Mock.mock()
rurl: 表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。例如 //domain/list.json/、‘/domian/list.json’
rtype: 表示需要拦截的 Ajax 请求类型。例如 GET、POST、PUT、DELETE 等
template: 表示数据模板,可以是对象或字符串。例如 { ‘data|1-10’:[{}] }、‘@EMAIL’。
function: 表示用于生成响应数据的函数。
- Mock.mock( template )
- 根据数据模板生成模拟数据。
- Mock.mock( rurl, template )
- 记录数据模板。当拦截到匹配 rurl 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。
- Mock.mock( rurl, function( options ) )
- 记录用于生成响应数据的函数。当拦截到匹配 rurl 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
- Mock.mock( rurl, rtype, template )
- 记录数据模板。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回。
- Mock.mock( rurl, rtype, function( options ) )
- 记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。
Mock.setup()
配置拦截 Ajax 请求时的行为。支持的配置项有:timeout。
Mock.setup({
timeout: 400
})
Mock.setup({
timeout: '200-600'
})
Mock.Random
Mock.Random 是一个工具类,用于生成各种随机数据。
var Random = Mock.Random
Random.email()
// => "n.clark@miller.io"
Mock.mock('@email')
// => "y.lee@lewis.org"
Mock.mock( { email: '@email' } )
// => { email: "v.lewis@hall.gov" }
Mock.Random 中的方法与数据模板的 @占位符 一一对应,在需要时还可以为 Mock.Random 扩展方法,然后在数据模板中通过 @扩展方法 引用。例如:
Random.extend({
constellation: function(date) {
var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座']
return this.pick(constellations)
}
})
Random.constellation()
// => "水瓶座"
Mock.mock('@CONSTELLATION')
// => "天蝎座"
Mock.mock({
constellation: '@CONSTELLATION'
})
// => { constellation: "射手座" }
Basic 栗子
// 随机boolean
let Mock = require('mockjs')
let Random = Mock.Random;
console.log(Random.boolean()) // true | false 默认出现的概率各占50%
// 随机数 返回一个随机的自然数(大于等于 0 的整数)
console.log(Random.natural()) // 2306469825936490
// 返回一个随机整数
console.log(Random.integer()) // -647150315600000
// 返回一个随机浮点数
console.log(Random.float()) // 87518913236696.7
// 随机返回一个字符
console.log(Random.character()) // g
//随机返回一个整型数组
console.log(Random.range(1)) // [0]
console.log(Random.range(1,6)) // [1,2,3,4,5]
console.log(Random.range(1,6,3)) // [1,4]