/*
特点:
1.本地模拟的数据,实际上不会走任何网络请求。所以本地调试起来很蛋疼,只能通过console.log来调试。
*/
/*
Mock.mock( rurl?, rtype?, template|function( options ) ),mock初始化函数
1.rurl-拦截的ajax传来的url
2.rtype-拦截ajax类型如GET、POST、PUT、DELETE
3.必须参数
3.1template-数据模板
3.1.1数据模板定义规范(Data Template Definition,DTD) 由 3 部分构成:属性名、生成规则、属性值
属性名与生成规则---------------属性名 和 生成规则 之间用 | 分隔。
他们在哪?
'name|+step': value
他们是谁?
顺序
'name|+step': value
范围
'name|min-max': value
'name|min-max.dcount': value
'name|min-max.dmin-dmax': value
个数
'name|count': value
'name|count.dmin-dmax': value
'name|count.dcount': value
属性值---------------还指定了最终值的初始值和类型,属性值 中可以含有 @占位符。
Object
Number
String
Boolean
3.1.2函数规范定义规范-Mock.Random.xxx(…)
a.Mock.Random.extend拓展 定义新的规范
Random.extend({
constellation: function (date) {
var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座',
'双鱼座']
return this.pick(constellations)
}
})
Random.constellation() // => "水瓶座" Mock.mock('@CONSTELLATION') // => "天蝎座" Mock.mock({ constellation: '@CONSTELLATION' }) // => { constellation: "射手座" }
b.Basic
boolean
natural输出范围数字
Random.natural( min?, max? )
integer
float
Random.float( min?, max?, dmin?, dmax? )
character
Random.character( pool? )
Random.character('lower')
Random.character('upper')
Random.character('number')
Random.character('symbol')
string
Random.string( pool?, min?, max? )
Random.string('lower', 5)
Random.string('upper', 5)
Random.string('number', 5)
Random.string('symbol', 5)
Random.string('aeiou', 5)
range
Random.range(start?, stop, step?)
c.Date类型
date
Random.date( format? )
time类型
Random.time( format? )
datetime类型
Random.datetime( format? )
now类型
Random.now( unit?, format? )
d.Image类型
image
Random.image( size?, background?, foreground?, format?, text? )
dataImage
Random.dataImage( size?, text? )
e.Color类型
color
Random.color()
hex
Random.hex()
rgb
Random.rgb()
rgba
Random.rgba()
hsl
Random.hsl()
f.Text类型
paragraph
Random.paragraph( min?, max? )多段
sentence
Random.sentence( min?, max? )多句
word
Random.word( min?, max? )多词
title
cparagraph
Random.cparagraph( min?, max? )中文多段
csentence
cword
ctitle
g.Name类型
first
Random.first()姓
last
Random.last()名
name
Random.name( middle? )
cfirst
clast
cname
h.Web类型类型
ur
domain
protocol
Random.protocol()协议
tld
Random.tld()*域名
email
ip
i.Address
region
Random.region()区域
province
city
Random.city( prefix? )
// Random.city() "金华市" "海外" "大连市" // Random.city( prefix ) "吉林省 *市" "河南省 洛阳市"
county
zip
j.Helper
capitalize
Random.capitalize( word )大驼峰
upper
lower
pick
Random.pick( arr )
shuffle
Random.shuffle( arr )洗牌
k.Miscellaneous
guid
Random.guid()全局唯一标识符
id
Random.id()
increment
Random.increment( step? )增量
3.2 function( options )--匹配的话立马执行
略
*/
/*
除了Mock.mock还有三个主要函数
Mock.toJSONSchema( template )-把 Mock.js数据模板 template 转换成 JSON Schema.
Mock.valid( template, data )-校验真实数据 data 是否与数据模板 template 匹配.
Mock.setup( settings )延时响应
*/