Mock.mock()

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

参数:定义的接口(可选),请求方式(可选),模板数据

  • rurl: 表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。例 如 /\/domain\/list\.json/'/domian/list.json'
  • rtype: 表示需要拦截的 Ajax 请求类型。例如 GETPOSTPUTDELETE 等
  • function(options): 表示用于生成响应数据的函数。
  • options: 指向本次请求的 Ajax 选项集,含有 urltype 和 body 三个属性

Mock.setup()

配置mock,目前配置的就是timeout, 指定被拦截的 Ajax 请求的响应时间

Mock.setup({
    timeout: 400
})
Mock.setup({
    timeout: '200-600'
})

Mock.random

Mock.Random 是一个工具类,用于生成各种随机数据。
Mock.Random 的方法在数据模板中称为『占位符』,书写格式为 @占位符(参数 [, 参数]) 。

      const Random = Mock.Random
      Random.email()
      const email = Mock.mock('@email')
        console.log(email)//随机生成邮箱

      const data = Mock.mock({
        birth: '@date',
        age: '@integer',
        name: '@string',
        'id|+1': 1
      })
TypeMethod
Basicboolean, natural, integer, float, character, string, range, date, time, datetime, now
Imageimage, dataImage
Colorcolor
Textparagraph, sentence, word, title, cparagraph, csentence, cword, ctitle
Namefirst, last, name, cfirst, clast, cname
Weburl, domain, email, ip, tld
Addressarea, region
Helpercapitalize, upper, lower, pick, shuffle
Miscellaneousguid, id
const Random = Mock.Random
Random.email()
const email = Mock.mock('@email')
  console.log(email)
Random.sentence()
const email = Mock.mock('@sentence')
console.log(email)

Mock.Random扩展

Mock.Random 中的方法与数据模板的 @占位符 一一对应,在需要时还可以为 Mock.Random 扩展方法,然后在数据模板中通过 @扩展方法 引用。

//官网例子
 const Random = Mock.Random
      Random.extend({
        constellation() {
          const constellations = [
            '白羊座',
            '金牛座',
            '双子座',
            '巨蟹座',
            '狮子座',
            '处女座',
            '天秤座',
            '天蝎座',
            '射手座',
            '摩羯座',
            '水瓶座',
            '双鱼座'
          ]
          return this.pick(constellations)
        }
      })
      Random.constellation()
      const stars = Mock.mock('@constellation')
      console.log(stars)

爬。