Mock 造假数据

mock简单说就是:造假数据

第一部分:直接使用

如果直接看GitHub或看一些文章,直接就是ajax拦截之类的。
但我们的需求就是,造一些假数据,满足使用即可
如果基本需求都没满足,别的都没用,第二部分,来整没用的东西

1.1 提前条件

1. 安装nodejs, 【没装的,找卖药的问下】。
2. npm install mockjs

1.2 罗列基本法,尽量开箱即用

基本涵盖了常用的所有字段类型

// mock.js
const Mock = require('mockjs')
const Random = Mock.Random;
const data = Mock.mock({
    // 中文名字 | 姓 | 名
    china_name: Random.cname(),
    china_first: Random.cfirst(),
    china_last: Random.clast(),
    // 英文名 | firatname | lastname | 带中间字的
    eng_name: Random.name(),
    eng_first: Random.first(),
    eng_last: Random.last(),
    eng_last: Random.name(true),
    // 长度为4的字符串
    string: Random.string(4),
    // 数字 最小1 最大100
    age: Random.integer(1, 100),
    // 数字 浮点数
    num: Random.float(1, 10, 1, 4),
    // 数字 字符串
    numString: Random.character('number'),
    // 日期 YYYY-MM-DD
    date: Random.date(),
    // 时间 HH:mm:ss
    time: Random.time(),
    // 日期 时间 YYYY-MM-DD HH:mm:ss
    dateTime: Random.datetime(),
    // 当前日期
    now: Random.now(),

    // 图片
    image: Random.image('200x100', '#ffcc33', '#FFF', 'png', '文字'),
    // 颜色 hex  rgb
    color: Random.color(),
    // 标题
    title: Random.ctitle(),
    cword: Random.cword(),
    // 一段文本 1段-100段
    cparagraph: Random.cparagraph(1, 2),
    // 英文 句子
    sentence: Random.sentence(),
    // 区域
    region: Random.region(),
    // 省 city zip couty 等
    province: Random.province(),

    // ip 域名 网址
    ip: Random.ip(),
    url: Random.url(),

    // 身份证
    identify: Random.id(),
    // 全局自增ID
    id1: Random.increment(),
    id2: Random.increment(),
    id3: Random.increment(),
})

console.log(data);

{ china_name: '韩桂英',
  china_first: '陈',
  china_last: '磊',
  eng_name: 'Thomas Johnson',
  eng_first: 'Karen',
  eng_last: 'Kenneth Donald Miller',
  string: 'm&gP',
  age: 84,
  num: 10.3,
  numString: '1',
  date: '2005-07-07',
  time: '14:45:30',
  dateTime: '1977-06-17 03:30:19',
  now: '2019-03-15 22:39:51',
  image: 'http://dummyimage.com/200x100/ffcc33/FFF.png&text=文字',
  color: '#8279f2',
  title: '南被复接装',
  cword: '还',
  cparagraph: '门油头做得飞作政什影美产术已我半。',
  sentence: 'Svowsinxy xbqtap fkh yblqteul orfenvlx iynptosx aggjg memsgtpknd xxdh futhhwbye mtnkfyolin vtht zcglztvjk iispwbshwj wnkdxfzg euetgctbn.',
  region: '西南',
  province: '贵州省',
  ip: '15.33.17.63',
  url: 'news://birulyvmr.bm/kmeqktu',
  identify: '340000197902270270',
  id1: 1,
  id2: 2,
  id3: 3 
}

1.3 结合对象、数组的使用


Random.extend({
    constellation: function() {
        const constellations = [
            '白羊座',
            '金牛座',
            '双子座',
        ];
        return this.pick(constellations);
    },
});

const objList = Mock.mock({
    id: Random.integer(),
    titile: Random.ctitle(),
    email: Random.email(),
    // 数组随机生成 2-4
    'list|2-4': [
        {

            'id|+1': 10,
            incrNum: () => Random.increment(),
            title: () => Random.ctitle(),
            date: () => Random.date('yyyy-MM-dd'),
            enum: () => Random.constellation(),
        },
    ],
});
console.log(objList);

返回值

{ id: 6615749548973956,
  titile: '约布权',
  email: 'p.hbjd@wwoprnolz.ci',
  list: 
   [ { id: 10,
       incrNum: 1,
       title: '色需列流走只',
       date: '1981-09-06',
       enum: '巨蟹座' },
     { id: 11,
       incrNum: 2,
       title: '型关立',
       date: '1997-11-18',
       enum: '射手座' },
     { id: 12,
       incrNum: 3,
       title: '半我消空单高',
       date: '1997-02-12',
       enum: '摩羯座' },
     { id: 13,
       incrNum: 4,
       title: '才节片化',
       date: '1993-06-30',
       enum: '白羊座' } 
    ] 
}

第二部分 没用的东西【暂无】

不知道啥时候可以整

更多详细内容
参考链接如下:
github
关于mockjs的使用
github完整实例

推荐阅读更多精彩内容