Mock.js常用占位符——Basic、Date、Color
1. Basic
在通过占位符引用方法时, Mock.mock('@boolean') ; Mock.mock('@boolean()') 都可以调用方法
方法 | 含义 | 使用举例 |
Random.boolean(num1?,num2?,current?) |
返回一个随机生成的boolean值 为current的概率为num1/(num1+num2) |
Mock.mock('@boolean()') Mock.mock('@boolean(1,9,true)') |
Random.natural(num1?,num2?) |
返回一个介于num1和num2的自然数 包含num1和num2 只有一个参数时为最小值 |
Mock.mock('@natural()') Mock.mock('@natural(100,99)') Mock.mock('@natural(10)') |
Random.integer(num1?,num2?) |
同Random.natural(num1?,num2?) 区别:产生的整数可能是负数 |
Mock.mock('@integer()') ... |
Random.float(num1?,num2?,dnum1?,dnum2?) |
返回一个浮点数,整数部分介于num1和num2,小数部分的长度介于dnum1和dnum2 包含num1、num2、dnum1、dnum2 当浮点数存在的时候,num1和num2都必须存在 可以只存在num1或只存在num1、num2、dnum1 |
Mock.mock('@float()') Mock.mock('@float(1,100)') Mock.mock('@float(1,100,3,5)') Mock.mock('@float(1,100,3)') |
Random.character(pool?/type?) |
产生一个字符 type可以为:lower(小写)、upper(大写)、number(数字)、symbol(符号),随机产生满足类型的一个字符 pool:是一个字符串,返回的值是字符串的任一字符 |
Mock.mock('@character()') Mock.mock('@character("lower")') Mock.mock('@character("Hello@1")') |
Random.string(pool?/type?, num1?,num2?) |
产生一个字符串,长度在num1和num2之间 type的规则同上,产生的是一个字符串。 pool:会从pool这个字符串中随机选取规定个字符作为一个新的字符串 当只有一个num1时,是按照规则生成num1个字符的字符串; 当num1和num2都不存在时,生成的字符串为空 "" |
Mock.mock('@string()') Mock.mock('@string("lower",3,5)') Mock.mock('@string("qazwsxedc",3,5)') Mock.mock('@string("lower",3)') Mock.mock('@string("qazwsxedc")') |
Random.range(start,stop?,step?) |
生成一个数组,数组包含满足条件的数字,start必须存在 当只有start和stop时,从start开始,到stop结束,但是不包括stop;长度为 stop-start 当存在step时,从start开始,每次叠加时跳的步数不是1而是step,到stop结束,但不包括stop;长度为(stop-start)/step |
Mock.mock('@range(10)') Mock.mock('@range(10,50)') Mock.mock('@range(10,50,5)') |
2. Date
方法 | 含义 | 使用举例 |
Random.date(format?) |
生成一个满足format格式的日期字符串 默认格式: 'yyyy-MM-dd' format格式:'yyyy-MM-dd' ; 'yy-MM-dd' ; 'y-MM-dd' ; 'y-M-d' PS: M 要大写;对于'y-M-d' 时,如果是个位数就省略0,如果是两位数,就照旧 |
Mock.mock('@date()') Mock.mock('@date(yy-MM-dd)') |
Random.time(format?) |
生成一个满足format格式的事件字符串 默认格式: 'HH:mm:ss' format格式: 'A HH:mm:ss' ; 'a HH:mm:ss' ; 'HH:mm:ss' ; 'H:m:s' ; 'HH:mm:ss:SS' SS表示毫秒 H表示24位计数,h表示12位计数;A表示 PM ;a表示 am;'H:m:s'表示当有十位上有0时省略;H、m、s的顺序可以颠倒和生成的数据的顺序对应;可以省略一个或多个时间格式 |
Mock.mock('@time()') Mock.mock('@time("A HH:mm:ss")') Mock.mock('@time("H:m:s")') Mock.mock('@time("h")') |
Random.datetime(format?) |
生成一个满足format格式的日期和时间的字符串 这里的format相当于Random.date()与Random.tiem()的结合体。 |
Mock.mock('@datetime()') Mock.mock('@datetime("yyyy-MM-dd A HH:mm:ss")') |
Random.now(unit?,format?) |
生成一个满足满足format的当前日期和时间的字符串 默认格式:'yyyy-MM-dd HH:mm:ss' unit是用来规定格式化到哪一阶段的,unit后面的阶段都初始化为0或1 可取值:'year' ; 'month' ; 'week' ; 'day' ; 'hour' ; 'minute' ; 'second' 当unit和format同时存在时,是多输出的日期的格式的双重编辑 |
Mock.mock('@now()') Mock.mock('@now("yyyy-MM-dd A HH:mm:ss")') Mock.mock('@now("year")') "2018-01-01 00:00:00" Mock.mock('@now("day","yyyy-MM-dd A HH:mm:ss")') |
3. Color
方法 | 含义 | 使用举例 |
Random.color() | 随机生成一个十六进制的颜色 | Mock.mock('@color()') |
Random.hex() | 同上;不清楚区别 | Mock.mock('@hex()') |
Random.rgb() | 随机生成一个rbg的格式的颜色 | Mock.mock('@rgb()') |
Random.rgba() | 随机生成一个rgba的格式的颜色,会有透明度 | Mock.mock('@rgba()') |
Random.hsl() | 随机生成HSL的格式的颜色,H-S-L是工业颜色标准,按色相(H)-饱和度(S)-亮度(L) | Mock.mock('@hsl()') |