Mock 是生成随机数据,拦截 Ajax 请求的 JavaScript 库。
本文来介绍下 Mock 的常用语法。
Mock.Random.boolean()
生成一个随机的布尔值。例如:
返回值为 true
或 false
。
Mock.Random.integer(min, max)
生成一个随机的整数,可以指定范围。例如:
返回值为 0
到 10
之间的整数。
Mock.Random.float(min, max, dmin, dmax)
生成一个随机的浮点数,可以指定范围和精度。例如:
返回值为 0.00
到 100.00000
之间的浮点数,精度为 2
到 5
位小数。
Mock.Random.string(length)
生成一个随机的字符串,可以指定长度。例如:
返回值为长度为 10
的随机字符串。
Mock.Random.date()
生成一个随机的日期。例如:
返回值为随机日期的字符串表示,例如 "1977-07-03"
。
Mock.Random.time()
生成一个随机的时间。例如:
返回值为随机时间的字符串表示,例如 "05:38:02"
。
Mock.Random.datetime()
生成一个随机的日期时间。例如:
返回值为随机日期时间的字符串表示,例如 "2007-06-29T22:03:06.140Z"
。
Mock.Random.image(size, background, foreground, format, text)
生成一个随机的图片,可以指定大小、背景色、前景色、格式和文字。例如:
返回值为图片的 Base64 编码字符串。
Mock.mock(template)
根据数据模板生成模拟数据。数据模版可以生成复杂的数据结构。
数据模版的语法如下:
:
分隔。,
分隔。@
来表示占位符。name|rule
来表示生成规则。示例:
const Mock = require('mockjs')
const data = Mock.mock({
'list|1-10': [{
'id|+1': 1, // 从 1 开始,每次加 1
'name': '@cname', // 随机中文名字
'age|18-60': 1, // 18 到 60 岁之间的整数
'gender|1': ['男', '女'], // 男或女
'email': '@email' // 随机电子邮件地址
}]
})
console.log(data)
输出:
{
"list": [
{
"id": 1,
"name": "林志玲",
"age": 32,
"gender": "女",
"email": "kbsc@pmpuaaq.pk"
},
{
"id": 2,
"name": "周杰伦",
"age": 55,
"gender": "男",
"email": "whq@zjfwq.uz"
},
...
]
}
Mock.mock(url, template)
根据接口地址和数据模板模拟接口请求。Mock.mock(method, url, template)
根据请求方法、接口地址和数据模板模拟接口请求。以上是 Mock 中常用的语法,更多语法请查阅官方文档。
更多 Mock 相关知识可点击下方链接查看。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.