数据模板定义规范
数据模板中的每个属性由3部分构成:属性名、生成规则、属性值,即:
// 属性名 name
// 生成规则 rule
// 属性值 value
'name|rule':value
string
通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max
'name|min-max':string
举例:
会随机产生 min-max 个 ★
Mock.mock({
"string|1-10": "★"
})
通过重复 string 生成一个字符串,重复次数等于 count
'name|count':string
举例:
会产生 count 个 ★
Mock.mock({
"string|3": "★"
})
Number
属性值自动加 1,初始值为 number
'name|+1':number
属性值为min-max范围内的随机整数
'name|min-max':number
属性值为min-max之间的随机小数,保留小数点的长度大于等于min,小于等于max
'name|min-max.dmin-dmax': number
例:
属性值为1-100之间的随机小数,保留小数点的长度大于等于1,小于等于10
Mock.mock({
"number|1-100.1-10": 1
})
属性值整数部分固定为123,保留小数点的长度大于等于1,小于等于10
Mock.mock({
"number|123.1-10": 1
})
属性值整数部分固定为123,保留3位小数点
Mock.mock({
"number|123.3": 1
})
属性值的固定部分为123.123,剩余七位小数随机变化,小数点部分的长度固定为10位不变
Mock.mock({
"number|123.10": 1.123
})
Boolean
随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。
'name|1':boolean
随机生成一个布尔值,值为 value 的概率是 min / (min + max),值为 !value 的概率是 max / (min + max)。
'name|min-max': value
Object
从属性值 object 中随机选取 count 个属性
'name|count':object
举例:
从 json 对象中随机选取 2 个属性
Mock.mock({
"object|2": {
"310000": "上海市",
"320000": "江苏省",
"330000": "浙江省",
"340000": "安徽省"
}
})
从属性值 object 中随机选取 min 到 max 个属性
'name|min-max': object
Array
从属性值 array 中随机选取 1 个元素,作为最终值
'name|1': array
从属性值 array 中顺序选取 1 个元素,作为最终值
'name|+1': array
通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max
'name|min-max': array
通过重复属性值 array 生成一个新数组,重复次数为 count
'name|count': array
Function
执行函数 function,取其返回值作为最终的属性值,函数的上下文为属性 'name' 所在的对象
'name': function
举例:
Mock.mock({
'foo': 'Syntax Demo',
'name': function() {
return this.foo
}
})
生成的数据:
{
"foo": "Syntax Demo",
"name": "Syntax Demo"
}
根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串
'name': regexp
数据占位符定义
详细内容参照:
Mock.js