作用: 生成随机数据,拦截Ajax请求
// mock数据模板的书写规则:
// "属性名|规则": 属性值
// 规则共有七种
/**
* 1. "name|min-max": value //针对value的不同类型会有不同意义
* 2. "name|count": value
* 3. "name|min-max.dmin-dmax": value
* 4. "name|min-max.dcount": value
* 5. "name|count.dmin-dmax": value
* 6. "name|count.dcount": value
* 7. "name|+step": value
*/
//value为字符串类型
Mock.mock({
"str|1-5": "菜", //返回为1-5个"菜"字组成的字符串 如 "菜菜菜" 每次刷新会随机
"str|3": "强" //返回3个"强"字组成的字符串 "强强强"
})
//value为数字类型
Mock.mock({
"num|+1": 100, //以100为基数,循环返回时每次+1 100,101,102...
"num|1-100": 111, //在区间1-100中随机生成整数数字, 其中111只用来确定类型,无意义,以下111都是无意义
"num|1-100.5": 111, //在区间1-100中随机生成数字并且有5位随机小数
"num|1-100.1-5": 111, //在区间1-100中随机生成数字并且随机有1-5位随机小数
"num|10.1-5": 111, //整数10并且随机有1-5位随机小数 如 10.123
"num|10.5": 111, //整数10并且有5位随机小数 如 10.12345
})
//value为布尔类型
Mock.mock({
"bool|1": true, //1代表 返回的值是true的概率为50%,false的概率为50%, 其中true仅用于确定类型
"bool|1-5": true, //返回一个布尔值 概率计算公式min/(min+max) 此行true的概率为1/1+5 = 1/6 false的概率为5/6
"bool|1-5": false, //返回一个布尔值 概率计算公式min/(min+max) 此行false的概率为1/1+5 = 1/6 true的概率为5/6
})
//value为对象 Object
Mock.mock({
"obj|2": {a:1,b:2,c:3,d:4,e:5}, //表示从该对象中随机返回2个键值对 如 {b:2,d:4}
"obj|2-3": {a:1,b:2,c:3,d:4,e:5}, //表示从该对象中随机返回2-3个键值对
})
//value为数组 Array
Mock.mock({
"arr|1": ["a", "b", "c"], //从数组中随机取出1个元素返回
"arr|2": ["a", "b", "c"], //数组重复2次返回
"arr|1-3": ["a", "b", "c"], //数组随机重复1-3次返回
})
//value为函数
Mock.mock({
"func": function () {return 1+1}, //取返回值作为最终值返回
})
//value为正则表达式
Mock.mock({
//总体返回规则就是 返回内容刚好满足正则表达式
"reg": /[a-z][A-Z][0-9]/, //返回长度为3的字符串 第一位为a-z 第二位为A-Z 第三位为0-9
})
代码内reg arr obj 等属性名均为乱写,各位读者请自行定义
mockjs下载,日期2021-12-07
链接:https://pan.baidu.com/s/1jlwMfmzQEVm6kegKO1DFzw
提取码:wskh