//生成随机URL
Random.url() // “news://wrmt.na/rbcgbws”
//生成随机IP
Random.ip() // “74.97.41.159”
//生成随机省份:
Random.province() //“海南省”
//生成随机城市:
Random.city() // “澳门半岛”
//生成在某个省份的某个城市:
Random.city(true) // “广东省 广州市”
//随机生成颜色,格式为 ‘#RRGGBB’
Random.color()
Random.hex()
//随机生成颜色,格式为’rgb(r, g, b)’
Random.rgb()
//随机生成颜色,格式为 ‘rgba(r, g, b, a)’
Random.rgba()
//随机生成颜色,格式为 ‘hsl(h, s, l)’
Random.hsl()
//生成一条随机的中文句子:
Random.csentence() // “会候句子解包党心要按总场火义字个片精。”
Random.csentence(5) // “文斗领拉米。”
Random.csentence(3, 5) // “住验住”
注意:
1、默认一条句子里的汉字个数在12和18之间
2、通过Random.csentence( length )指定句子的汉字个数:
3.通过Random.csentence( min, max)指定句子汉字个数的范围:
//模拟姓氏:
Random.cfirst() // “龙”
//模拟名字
Random.clast() // “秀英”
//模拟全名:
Random.cname() // “黄秀英”
//随机生成一段文本
Random.paragraph()
Random.paragraph( len )
Random.paragraph( min, max )
说明:
cparagraph可以看作是多条csentence以句号连接后的字符串,默认条数为 3 到 7条
len(可选),文本中句子的个数。默认值为 3 到 7 之间的随机数。
min(可选),文本中句子的最小个数。默认值为 3。
max(可选),文本中句子的最大个数。默认值为 7。
Random.image( size?, background?, foreground?, format?, text? )
说明:
- size(可选),图片的宽高,格式为 ‘宽x高’。默认从下面的数组中随机读取一个:
[
‘300x250’, ‘250x250’, ‘240x400’, ‘336x280’,
‘180x150’, ‘720x300’, ‘468x60’, ‘234x60’,
‘88x31’, ‘120x90’, ‘120x60’, ‘120x240’,
‘125x125’, ‘728x90’, ‘160x600’, ‘120x600’,
‘300x600’
]
-
background(可选),图片的背景色。默认值为 ‘#000000’。
-
foreground(可选),图片的前景色(文字)。默认值为 ‘#FFFFFF’。
-
format(可选),图片的格式。默认值为 ‘png’,可选值包括:‘png’、‘gif’、‘jpg’。
-
text(可选),图片上的文字。默认值为参数 size。
一段随机Base64图片编码的返回
Random.dataImage( size?, text? )
说明:
- size(可选),图片的宽高,格式为 ‘宽x高’。默认从下面的数组中随机读取一个:
[
‘300x250’, ‘250x250’, ‘240x400’, ‘336x280’,
‘180x150’, ‘720x300’, ‘468x60’, ‘234x60’,
‘88x31’, ‘120x90’, ‘120x60’, ‘120x240’,
‘125x125’, ‘728x90’, ‘160x600’, ‘120x600’,
‘300x600’
]
- text(可选),图片上的文字。默认值为参数 size。
校验真实数据 data 与数据模板 template 是否匹配。
-
template 必选。 表示数据模板,可以是对象或字符串。例如
{ 'list|1-10':[{}] }、'@EMAIL'
。 -
data 必选。 表示真实数据。
示例:
var template = {
name: ‘value1’
}
var data = {
name: ‘value2’
}
Mock.valid(template, data)
// =>
[
{
“path”: [
“data”,
“name”
],
“type”: “value”,
“actual”: “value2”,
“expected”: “value1”,
“action”: “equal to”,
“message”: “[VALUE] Expect ROOT.name’value is equal to value1, but is value2”
}
]
数据模板中的每个属性由 属性名、规则、属性值三部分组成。格式:'name|rule':value
说明:
-
name:属性名
-
rule:生成规则:(可选)
-
value:属性值
其中:
-
属性名和规则之间用 “|” 进行分割
-
规则是可选的,一共有七种规则
规则的含义具体要根据属性值来进行确定,不同的属性值对应的规则含义是不同的;
示例:
-
‘name|min-max’: value
-
‘name|count’: value
-
‘name|min-max.dmin-dmax’: value
-
‘name|min-max.dcount’: value
-
‘name|count.dmin-dmax’: value
-
‘name|count.dcount’: value 7. ‘name|+step’: value
属性值的类型其实就是s 中数据的类型:string、number、boolean、object、array、function以及正则reg:
- string
’ name| min-max’ : string ; //通过重复string生成一个字符串,string的重复次数 大于等于min,小于等于max ;
’ name| count’ : string; //通过重复string生成一个字符串,重复次数为 count ;
- number
’ name| min-max’ : number ; //生成一个大于等于min 小于等于 max 的整数;
’ name| +1’ : number ; //属性值自动加1,初始值为 number ;
‘ name| min-max.dmin-dmax’ : number ; //生成一个浮点数,整数部分大于等于min,小于等于max; 小数部分保留 dmin 到 dmax 位;
- boolean
’ name| 1’ : boolean ; //随机生成一个布尔值,值为 true 和 false 的概率均为 50%;
’ name| min-max’ : boolean ; //随机生成一个布尔值,值为 true 的概率为 min/( min + max) ; 值为 false 的概率为 max/( min + max);
- object
’ name| count’ : object ; //从object中随机抽取count 个属性;
’ name| min-max’ : object; //从object中随机抽取 min 到 max 个属性;
- array
’ name| 1’: array ; //从array中随机选取一个值最为最终值;
’ name| +1’ : array; //从array 中顺序选择一个元素,最为最终值;
’ name| min-max’ : array ; //通过重复array 生成一个新数组,重复的次数大于等于min, 小于等于max ;
’ name| count’ : array; //通过重复array 生成一个新数组,重复的次数为 count ;
- function
’ name’ : function ; // 执行function,使其最终的返回值最为 最终的属性值;函数的上下文为 name 所在的对象;
- RegExp
’ name’ : reg ; //根据正则去生成一个符合这个正则表达式规则的属性值;
属性值中可以包含 @占位符,并且属性值可指定最终值的初始值以及类型;
数据占位符只是在属性值字符串中占据一个位置,最终并不出现在属性值中,占位符的格式为 @占位符 || @占位符(参数 [,参数])
;
使用数据占位符的时候需要注意的是:
-
用@来标识的其后的是占位符;
-
占位符应用的是Mock.random的方法;
-
通过Mock.random.extend()来扩展自定义占位符;
-
占位符也可以引用数据模板中的数据而且会优先引用;
-
占位符支持相对路径也支持绝对的路径;
示例
//生成指定次数字符串
const data = Mock.mock({
“string|4”: “yx!”
})
console.log(data)
//生成指定范围长度字符串
const data = Mock.mock({
“string|1-8”: “yx”
})
console.log(data)
//生成一个随机字符串
const data = Mock.mock({
“string”: “@cword”
})
console.log(data)
//生成指定长度和范围
const data = Mock.mock({
string: “@cword(1)”,
str: ‘@cword(10,15)’
})
console.log(data)
//生成标题和句子
const data = Mock.mock({
title: “@ctitle”,
sentence: ‘@csentence’
})
console.log(data)
//生成指定长度的标题和句子
const data = Mock.mock({
title: “@ctitle(8)”,
sentence: ‘@csentence(50)’
})
//生成指定范围的
const data = Mock.mock({
title: “@ctitle(5,8)”,
sentence: ‘@csentence(50,100)’
})
console.log(data)
//随机生成段落
const data = Mock.mock({
content: ‘@cparagraph()’
})
console.log(data)
//生成指定数字
const data = Mock.mock({
“number|80”: 1
})
console.log(data)
//生成范围数字
const data = Mock.mock({
“number|1-999”: 1
})
console.log(data)
//随机生成标识
const data = Mock.mock({
id: ‘@increment()’
})
console.log(data)
//随机生成姓名-地址-身份证号
const data = Mock.mock({
name: ‘@cname()’,
idCard: ‘@id()’,
address: ‘@city(true)’ // 如果@city(),只会生成市,如果@city(true)会生成省和市
})
console.log(data)
const data = Mock.mock({
‘list|50-99’:[
{
name: ‘@cname()’,
address: ‘@city(true)’,
id: ‘@increment(1)’ // 每次都增加1
}
]
})
综合示例
假设已经安装了axios、mockjs
- api接口
export const findPage = (data: any) => {
return postJson(‘user/list’, data)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。
《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里免费领取
白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
[外链图片转存中…(img-jilDbULR-1712194662249)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。
《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》PDF完整版点击这里免费领取
[外链图片转存中…(img-Js37sHFA-1712194662249)]
[外链图片转存中…(img-JvxKatu4-1712194662249)]
[外链图片转存中…(img-oxT2y3eT-1712194662250)]