在前端开发时,经常会遇到等后台数据的情况,所以将mock基本语法和常用的记录一下,也督促下自己!!!
mock常用语法
mock的每一条数据的规则由三部分组成:属性名|生成规则:属性值
'name|min-max':value
'name|count':value
'name|min-max'.dmin-dmax:value
'name|count'.dmin-dmax:value
'name|count'.dcount:value
'name|+step':value
属性值可以是占位符,生成规则需要依赖属性值确认,属性值还指定了初始值和类型
String
'test1|1-3':'123'
123字符串重复次数为1-3次,也可将1-3改为指定次数,比如5
Number
'test2|1-10.2-5':20
1-10指的最大值与最小值,2-5指最少保留两位,最多保留5位,,20指的是Number类型
'test3|5.3':30
5指整数部分是5,3指小数部分保留3位
'test4|+5':10
每次+5,初始值为10(不知为何本地测试一直是10,没有叠加)
Boolean
'test5|1-4':true
为true的概率为1/(1+4),为false的概率为4/(1+4),即为value的概率是min/(min+smax),!value是max/(min+max)
'test6|3':true
为true的概率为3/(1+3),为false的概率为1/(1+3),即为value的概率为count/(1+count)
Object
'name|min-max':value
最少取min,最多去max
'name|count':value
从Object中取count个
Array
'name|1':value
从数组中取一个
'name|count':value
在count!=1的情况下,数组重复count遍
'name|+1':value
取下标依次往后+1的数字(本地测试无作用)
'name|min-max':value
重复value最少次数是min,最多是max
Function
'name':function()
取function的返回值
'test10': function () {
return 1 + 2
}
正则
'name':regexp
取正则的返回值
'test11': /[a-z]/
mock占位符
1.随机字符串
(类型,位数)
@string(lower,10)
类型:
lower:小写字母
upper:大写字母
number:数字
2.随机int
(下限,上限)
@integer(60,100)
3.随机boolean
@boolean
4.随机float/double
(上限,下限)
@float(60,100)
5.随机日期(yyyy-mm-dd)
@date
6.随机时间(hh:mm:ss)
@time
7.随机日期+时间(yyyy-mm-dd hh:mm:ss)
@date
8.当前日期+时间(yyyy-mm-dd hh:mm:ss)
@now
9.随机图片占位符,生成一个图片链接
@image(200*100)
10.随机颜色(#79f2ac)
@color
11.长文本(英文)
@paragraph
12.长文本(中文)
@cparagraph
13.常用特殊格式
@url
链接
@domain
域名
@email
邮箱
@ip
IP
@region
地区(华东,华南....)
@province
省
@city
市
@county
县
@zip
邮编
@guid
随机GUID
@id
随机ID(Long)