一、 数据模板定义规范
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值
{
code: '0000',
"data":function({_req,Mock}){
return Mock.mock({
"list|3":[{
id:1,
name:"咸虾米"
}]
})
}
}
list 是属性名 中间使用|分隔,数字3是生成规则(表示生成3条数据),后面是json数据。
生成规则有几种常用格式:
1.通过重复 string 生成一个字符串,重复次数等于 count
‘name|count’: value
2.属性值自动加 1,初始值为 number
‘name|+step’: value
3.生成一个大于等于 min、小于等于 max 的整数,属性值 number 只是用来确定类型
‘name|min-max’: value
4.生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分为dcount位
‘name|min-max.dcount’: value
5.生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到dmax 位
‘name|min-max.dmin-dmax’: value
通过实例展示使用方法:
{
code:0,
'list|2-6': [{
//属性值自动加1,后面1是初始值
'id|+1': 1,
//1这个字符串会出现11次
'phone|11': '1',
//‘咸虾米’这个词语,重复随机次数:最大9次,最小重复2次
'name|2-9': '咸虾米',
//生成200到1000以内随机的整数
'point|200-1000':0,
//生成整数部分大于等于3000,小于等于8000,max小数部分保留2位的数据
'money|3000-8000.2':0,
//整数部分大于等于3000小于等于8000,max小数部分随机保留2到4位的小数
'money2|1000-2000.2-4':0,
//随机生成布尔值,默认为ture,为true概率:1/2
'status|1':true,
//随机生成一个布尔值,值为true的概率是 min / (min + max)
'default|1‐3':true,
//2的意思是从后面对象中随机选取2到3个属性进行展示
'detail|2-3':{'id':1,'date':'2005‐01‐01','content':'记录'}
}],
msg:"查询成功"
}
注意:一定要将注释去掉,不然将会无法保存,会报错,以下是演示效果。
{
"code": "0000",
"list": [
{
"id": 1,
"phone": "11111111111",
"name": "咸虾米咸虾米咸虾米咸虾米",
"point": 755,
"money": 4393.57,
"money2": 1330.332,
"status": true,
"default‐3": true,
"detail": {
"date": "2005‐01‐01",
"content": "记录",
"id": 1
}
},
{
"id": 2,
"phone": "11111111111",
"name": "咸虾米咸虾米咸虾米咸虾米",
"point": 579,
"money": 3712.86,
"money2": 1477.62,
"status": false,
"default‐3": true,
"detail": {
"date": "2005‐01‐01",
"content": "记录"
}
}
]
}
二、数据占位符定义规范
书写格式为: @占位符(参数 [参数])
内置方法列表:
Type | Method |
---|---|
基本类型 | boolean(布尔), natural(自然数), integer(整数有负数), float(小数), character(单英文字符), string(字符串), range(数组顺序范围), date(‘yyyy-MM-dd HH:mm:ss’), time(时间), datetime(T时间戳), now(当前时间) |
图片 | image(随机图片) |
颜色 | color(随机色) , rbga(200,200,200,0.5) |
文本 | paragraph(英文句子 len,min,max), sentence(句子多少单词 len,min,max), word(英文字符), title(英文标题), cparagraph(中文句子), csentence(句子多少字), cword(中文字符), ctitle |
姓名 | first, last, name, cfirst, clast, cname |
网站 | url, domain(网址), email, ip, tld(国际区域简称) |
地址 | province(省), city(城市 true带省),county(县 true省市县) |
编号 | guid, id |
案例用法
'list|3': [{
//名
'name':'@cname',
'ename':'@last',
'cfirst':'@cfirst',
'point':'@integer',
'birthday':'@date',
'img':"@image('200x200', '#f98', '#fff', 'jpg', '图片文字')",
//随机标题
'title':'@title',
//随机标题内容,字数为20
'content':'@cword(20)',
'content2':'@cword(10,30)',
'content3|5-15':'@cword',
//生成地址
'url':"@url",
//生成ip
'ip':"@ip",
//生成邮箱
'email':"@email",
//生成区域
'erea':'@region',
//生成省,市
'city':'@city(true)',
//县
'contry':'@county(true)',
'id':'@ID',
'zip':'@zip',
'guid':'@guid'
}]
展示效果
{
"code": "0",
"msg": "查询成功",
"data": {
"list": [
{
"name": "郑杰",
"ename": "Young",
"cfirst": "魏",
"point": -4125784733467244,
"birthday": "1995-11-22",
"img": "http://dummyimage.com/200x200/f98/fff.jpg&text=填充字",
"title": "Nqo Xnnokoak Ipync Qulxoyrtci Fnhmneioa Seiqx Nqpnj",
"content": "技流很真族统报身族极价他法京年取走委等角",
"content2": "次深从后线社区力连连元江",
"content3": "但例十传在几里们科飞查圆米这",
"url": "tn3270://rdss.pg/tqxteh",
"ip": "162.47.165.18",
"email": "j.dyqnmcdf@ymtyo.fj",
"erea": "华北",
"city": "山西省 太原市",
"contry": "黑龙江省 七台河市 茄子河区",
"id": "220000197104018321",
"zip": "704285",
"guid": "FE4E44F6-9DE2-5bf3-2D68-353299Fcc3BE"
}
]
}
}