mockjs语法及常用数据结构

243 阅读2分钟

案例一:返回数组对象(实际开发中最常用的)

  const data = Mock.mock({
      'data|1-5': [{//data 是数组,随机生成数组,length为1-5(含),前面的为min,后面的为max(下面所有规则都符合)
        //1. 属性值是字符串 String
        'string|1-10': 'a',//通过重复 a 生成一个字符串,重复次数大于等于 min,小于等于 max。
        //2. 数据占位符定义规范 DPD
        'cname': '@cname',//随机中文名称
        "guid": "@guid",//全局唯一标识符 
        'name': '@name',//随机英文名称
        "datetime": "@datetime",//随机生成日期时间
        "num": "@natural(1, 100)",//随机生成1-100的数字
      }],
      status: 200,
      message: "获取数据成功",
      total: 50
    })

    console.log('mock模拟数据', data);

打印结果:

image.png

案例二:返回一个对象

 var obj = Mock.mock({
      id: "@id()",//随机id
      username: "@cname()",//随机中文名字
      date: "@date()",//随机生成日期
      avatar: "@image('')",//图像
      description: "@paragraph()",//描述
      ip: "@ip()",//ip
      email: "@email()"//email
    })

    console.log('mock模拟数据', obj);

打印结果:

image.png

案例三:返回一些简单数据结构

  const data1 = Mock.mock({
       'number1|1-100.1-10': 1,  //生成一个浮点数,整数部分大于等于1、小于等于100,小数部分保留 1 到10位。
       'number2|123.1-10': 1, //生成一个浮点数,整数部分等于123,小数部分保留 1到10 位。
       'number3|123.3': 1, //生成一个浮点数,整数部分大于等于123、小于等于123,小数部分保留 3 位。
       'number4|123.10': 1.123 //生成一个浮点数,整数部分等于123,小数部分保留 10 位。
     })

打印结果:

image.png

通过重复 1 生成一个字符串,重复次数等于 3

const data3 = Mock.mock({
  "string|3": "1"
})

打印结果:

image.png

通过重复 5 生成一个字符串,重复次数大于等于 min,小于等于 max

const data4 = Mock.mock({
  "string|1-10": "5"
})

打印结果:

image.png

从属性值 object 中随机选取 count 个属性

Mock.mock({
'obj1|2': {name:'@cname','age':1,id: '@guid'}
})

打印结果:

{obj1:{ id: "Deffc335-d85e-8176-F3e5-FaBffB99df42" name: "杨霞" }}

从属性值 object 中随机选取 min 到 max 个属性

Mock.mock({
'obj2|1-3': {name:'@cname','age':1,id: '@guid'}
})

打印结果:

{obj2:{ age: 1 id: "4d2DcdbE-50d4-fE46-39AB-FE4bdBc3DabB" }}

随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。

Mock.mock({
'bool1|1': true
})

打印结果: {bool1: false}