新手入门05-MockJS方法使用大全 · VirAPI官网 - 在线虚拟数据云接口平台

2020/08/19 11:03
阅读数 76

新手入门05-MockJS方法使用大全

于 2020-08-06发布在 VirAPI官网

本篇文章将列举MockJS在VirAP经常会使用到的方法,及如何通过MockJS来定义响应的虚拟数据类型与结构。

基本数据类型

1. 布尔值 @boolean(min?, max?, current?)

  • 描述:随机生成一个布尔值。
  • 参数
    • min:可选,
    • max:可选,
    • current:可选,
  • 在VirAPI中使用
    {
      "int1": "@integer",     // 随机生成一个整数
      "int2": "@integer()",     // 同上,随机生成一个整数,若不使用配置参数,可省略括号
      "int3": "@integer(10)",     // 随机生成一个大于10的整数
      "int4": "@integer(10, 100)",     // 随机生成一个取值在10到100之间的整数
    }

2. 整数 @integer(min?, max?)

  • 描述:随机生成一个整数值,若定义了最小值最大值,则该生成的的整数将会是该范围内任意可能的一个整数。
  • 参数
    • min:可选,最小值
    • max:可选,最大值
  • 在VirAPI中使用
    {
      "int1": "@integer",     // 随机生成一个整数
      "int2": "@integer()",     // 同上,随机生成一个整数,若不使用配置参数,可省略括号
      "int3": "@integer(10)",     // 随机生成一个大于10的整数
      "int4": "@integer(10, 100)",     // 随机生成一个取值在10到100之间的整数
    }

3. 浮点数 @float(min?, max?, dmin?, dmax?)

  • 描述:随机生成一个浮点数,若定义了最小值最大值,则该生成的的浮点数将会是该范围内任意可能的一个浮点数值。
  • 参数
    • min:可选,最小值
    • max:可选,最大值
    • dmin:可选,小数位最小长度
    • dmax:可选,小数位最长长度
  • 在VirAPI中使用
    {
      "float1": "@float",     // 随机生成一个浮点数
      "float2": "@float()",     // 同上,随机生成一个浮点数,若不使用配置参数,可省略括号
      "float3": "@float(10)",     // 随机生成一个大于10的浮点数
      "float4": "@float(10, 100)",     // 随机生成一个取值在10到100之间的浮点数
      "float5": "@float(10, 100, 2)",     // 随机生成一个取值在10到100之间,且小数位最短为2位的的浮点数
      "float6": "@float(10, 100, 2, 5)",     // 随机生成一个取值在10到100之间,且小数位数在2至5长度之间的浮点数
    }

4. 字符串 @string(length?) @string(pool?, length?) @string(min?, max?) @string(pool?, min?, max?)

  • 描述:随机生成一个字符串。
  • 参数
    • pool:可选,组成字符串的字符类型,当前支持lower(小写字母)、upper(大写字母)、number(数字)、symbol(特殊符号)、aeiou(元音字母)
    • length:可选,字符串长度
    • min:可选,最小长度
    • max:可选,最大长度
  • 在VirAPI中使用
    {
      "str1": "@string",     // 随机生成一个字符串
      "str2": "@string()",     // 同上,随机生成一个字符串,若不使用配置参数,可省略括号
      "str3": "@string(10)",     // 随机生成一个长度为10的字符串
      "str3": "@string('lower', 10)",     // 随机生成一个由小写字母组成,且长度为10的字符串
      "str4": "@string(10, 100)",     // 随机生成一个长度在10到100之间的字符串
      "str5": "@string('lower', 10, 100)",     // 随机生成一个长度在10到100之间,且有小写字母组成的字符串
    }

5. 日期 @date(format?)

  • 描述:随机生成一个日期值(年月日),还支持定义日期的格式类型。
  • 参数
    • format:可选,日期格式类型,如yyyy-MM-ddyy-MM-ddyyyy年MM月dd日
  • 在VirAPI中使用
    {
      "date1": "@date",     // 随机生成一个日期值,默认日期格式为:yyyy-MM-dd
      "date2": "@date()",     // 同上,随机生成一个日期值,若不使用配置参数,可省略括号
      "date3": "@date('yy-MM-dd')",     // 随机生成一个格式为yy-MM-dd的日期
    }

6. 时间 @time(format?)

  • 描述:随机生成一个时间值(时分秒),还支持定义时间的格式类型。
  • 参数
    • format:可选,时间格式类型,如HH:mm:ssH:m:sA HH:mm:ssHH点mm分ss秒
  • 在VirAPI中使用
    {
      "time1": "@time",     // 随机生成一个时间值,默认时间格式为:HH:mm:ss
      "time2": "@time()",     // 同上,随机生成一个时间值,若不使用配置参数,可省略括号
      "time3": "@time('HH:mm:ss')",     // 随机生成一个格式为HH:mm:ss的时间
    }

7. 日期时间 @datetime(format?)

  • 描述:随机生成一个日期时间值(年月日时分秒),还支持定义日期时间的格式类型。
  • 参数
    • format:可选,日期时间格式类型,如yyyy-MM-ddyy-MM-ddyyyy年MM月dd日
  • 在VirAPI中使用
    {
      "datetime1": "@datetime",     // 随机生成一个日期时间值,默认日期时间格式为:yyyy-MM-dd HH:mm:ss
      "datetime2": "@datetime()",     // 同上,随机生成一个日期时间值,若不使用配置参数,可省略括号
      "datetime3": "@datetime('yy-MM-dd A HH:mm:ss')",     // 随机生成一个格式为yy-MM-dd A HH:mm:ss的日期时间
    }

8. 图片 @image( size?, background?, foreground?, format?, text? )

  • 描述:随机生成一个图片资源URL。
  • 参数
    • size:可选,图片尺寸,格式为:宽x高,如200x100,即定义返回一个长200px,高100px的图片
    • background:可选,图片背景颜色值,色彩值必须为HEX格式,如#FF6600
    • foreground:可选,图片字体文字颜色值,色彩值必须为HEX格式,如#ffffff
    • format:可选,图片类型,如pngjpggif
    • text:可选,图片上的文字内容
  • 在VirAPI中使用
    {
      "image1": "@image",     // 随机生成一个图片资源URL
      "image2": "@image()",     // 同上,随机生成一个图片资源URL,若不使用配置参数,可省略括号
      "image3": "@image('200x100')",     // 随机生成一个长度为200px,高度为100px的图片资源URL
      "image4": "@image('200x100', '#FF6600')",     // 随机生成一个长度为200px,高度为100px,且背景色彩值为#FF6600的图片资源URL
      "image5": "@image('200x100', '#FF6600', 'VirAPI')",     // 随机生成一个长度为200px,高度为100px,背景色彩值为#FF6600,且图片中的文字为VirAPI的图片资源URL
      "image6": "@image('200x100', '#FF6600', 'png', 'VirAPI')",     // 随机生成一个长度为200px,高度为100px,背景色彩值为#FF6600,且图片中的文字为VirAPI的PNG图片资源URL
    }

9. 段落 @paragraph( min?, max? ) @paragraph( len? ) @cparagraph( min?, max? ) @cparagraph( len? )

  • 描述:随机生成段落文本。
  • 方法
    • paragraph:返回英文段落
    • cparagraph:返回中文段落
  • 参数
    • min:可选,文本最短段落数
    • max:可选,文本最长段落数
    • len:可选,文本段落数
  • 在VirAPI中使用
    {
      "paragraph1": "@paragraph",     // 随机生成一个文本英文段落
      "paragraph2": "@paragraph()",     // 同上,随机生成一个文本英文段落,若不使用配置参数,可省略括号
      "paragraph3": "@cparagraph(2)",     // 随机生成一个有两个段落的中文文本
      "paragraph4": "@paragraph(1, 3)",     // 随机生成一个有1至3个段落的英文文本
    }

10. 句子 @sentence( min?, max? ) @sentence( len? ) @csentence( min?, max? ) @csentence( len? )

  • 描述:随机生成一条句子文本。
  • 方法
    • sentence:返回英文句子文本
    • csentence:返回中文句子文本
  • 参数
    • min:可选,句子最少词汇数
    • max:可选,句子最多词汇数
    • len:可选,组成句子的词汇数
  • 在VirAPI中使用
    {
      "sentence1": "@sentence",     // 随机生成一条英文句子
      "sentence2": "@sentence()",     // 同上,随机生成一条英文句子,若不使用配置参数,可省略括号
      "sentence3": "@csentence(2)",     // 随机生成一条由2个词汇组成的中文句子
      "sentence4": "@sentence(3, 5)",     // 随机生成一条由3至5个词汇组成的英文句子
    }

11. 单词词汇 @word( min?, max? ) @word( len? ) @cword( min?, max? ) @cword( len? )

  • 描述:随机生成一个单词词汇。
  • 方法
    • word:返回英文单词词汇
    • cword:返回中文单词词汇
  • 参数
    • min:可选,单词词汇最少字符数
    • max:可选,单词词汇最多字符数
    • len:可选,组成单词词汇的字符数
  • 在VirAPI中使用
    {
      "word1": "@word",     // 随机生成一个英文单词词汇
      "word2": "@word()",     // 同上,随机生成一个英文单词词汇,若不使用配置参数,可省略括号
      "word3": "@cword(2)",     // 随机生成一条由2个字符组成中文单词词汇
      "word4": "@word(3, 5)",     // 随机生成一条由3至5个字符组成英文单词词汇
    }

高级数据方法

1. 标题文本 @title( min?, max? ) @title( len? ) @ctitle( min?, max? ) @ctitle( len? )

  • 描述:随机生成一个标题文本。
  • 方法
    • title:返回英文标题文本
    • ctitle:返回中文标题文本
  • 参数
    • min:可选,标题文本最少词汇数
    • max:可选,标题文本最多词汇数
    • len:可选,组成标题文本的词汇数
  • 在VirAPI中使用
    {
      "title1": "@title",     // 随机生成一个英文标题文本
      "title2": "@title()",     // 同上,随机生成一个英文标题文本,若不使用配置参数,可省略括号
      "title3": "@ctitle(2)",     // 随机生成一条由2个中文词汇组成标题文本
      "title4": "@title(3, 5)",     // 随机生成一条由3至5个英文词汇组成标题文本
    }

2. 姓名 @name( middle? ) @cname()

  • 描述:随机生成一个姓名。
  • 方法
    • name:返回英文姓名
    • cname:返回中文姓名
  • 参数
    • middle:可选,是否有中间名(仅英文姓名使用)
  • 在VirAPI中使用
    {
      "name1": "@name",     // 随机生成一个英文姓名
      "name2": "@name()",     // 同上,随机生成一个英文姓名,若不使用配置参数,可省略括号
      "name3": "@name(true)",     // 随机生成一个有中间名的英文姓名
      "name4": "@cname",     // 随机生成一个中文姓名
    }

3. URL @url( protocol? )

  • 描述:随机生成一个URL。
  • 参数
    • protocol:可选,对于URL网络协议,如httphttpsftp
  • 在VirAPI中使用
    {
      "url1": "@url",     // 随机生成一个网络协议URL
      "url2": "@url()",     // 同上,随机生成一个网络协议URL,若不使用配置参数,可省略括号
      "url3": "@url('http')",     // 随机生成一个http网络协议的URL
    }

4. 电子邮箱 @email( )

  • 描述:随机生成一个电子邮箱。
  • 在VirAPI中使用
    {
      "email1": "@email",     // 随机生成一个电子邮箱
      "email2": "@email()",     // 同上,随机生成一个电子邮箱,若不使用配置参数,可省略括号
    }

5. IP @ip( )

  • 描述:随机生成一个IP。
  • 在VirAPI中使用
    {
      "ip1": "@ip",     // 随机生成一个IP
      "ip2": "@ip()",     // 同上,随机生成一个IP,若不使用配置参数,可省略括号
    }

6. 省份 @province( )

  • 描述:随机生成一个省份名。
  • 在VirAPI中使用
    {
      "province1": "@province",     // 随机生成一个省份名
      "province2": "@province()",     // 同上,随机生成一个省份名,若不使用配置参数,可省略括号
    }

7. 城市 @city( prefix? )

  • 描述:随机生成一个城市名。
  • 参数
    • prefix:可选,是否加上对于所属省份名
  • 在VirAPI中使用
    {
      "city1": "@city",     // 随机生成一个城市名
      "city2": "@city()",     // 同上,随机生成一个城市名,若不使用配置参数,可省略括号
      "city2": "@city(ture)",     // 随机生成一个包含省份名的城市
    }

8. 全局唯一标识符 @guid( )

  • 描述:随机生成一个全局唯一标识符。
  • 在VirAPI中使用
    {
      "guid1": "@guid",     // 随机生成一个全局唯一标识符
      "guid2": "@guid()",     // 同上,随机生成一个全局唯一标识符,若不使用配置参数,可省略括号
    }

9. 唯一ID @id( )

  • 描述:随机生成一个唯一ID。
  • 在VirAPI中使用
    {
      "id1": "@id",     // 随机生成一个唯一ID
      "id2": "@id()",     // 同上,随机生成一个唯一ID,若不使用配置参数,可省略括号
    }

10. 当前时间 @now(unit?, format?)

  • 描述:返回当前时间。
  • 参数
    • unit:可选,起始单位,以此时为“2020-08-06 23:43:17”为例,如year(今年的起始时间,如2020-01-01 00:00:00)、month(当月的起始时间,如2020-08-01 00:00:00)、week(本周的起始时间,如2020-08-02 00:00:00)、day(今天的起始时间,如2020-08-06 00:00:00)、hour(当前小时的起始时间,如2020-08-06 23:00:00)
    • format:可选,日期格式类型,如yyyy-MM-dd HH:mm:ss SSyyyy年MM月dd日 HH:mm:ss
  • 在VirAPI中使用
    {
      "now1": "@now",     // 返回当前时间,默认格式为:yyyy-MM-dd HH:mm:ss
      "now2": "@now()",     // 同上,返回当前时间,若不使用配置参数,可省略括号
      "now3": "@now('year')",     // 返回今年的起始时间,如2020-01-01 00:00:00
      "now4": "@now('yyyy-MM-dd HH:mm:ss SS')",     // 以yyyy-MM-dd HH:mm:ss SS格式返回当前时间
      "now5": "@now('day', 'yyyy-MM-dd HH:mm:ss SS')",     // 以yyyy-MM-dd HH:mm:ss SS格式返回今天起始时间
    }

11. 随机取一个 @pick( arr )

  • 描述:随机取数组中的一个值返回。
  • 参数
    • arr:目标数据集数组
  • 在VirAPI中使用
    {
      "value": "@pick(['a', 'b', 'c'])",     // 在数组['a', 'b', 'c']中随机取一个数据值
    }

以上即为在VirAPI中可能经常会用到的MockJS语法方法,如需了解更多,可前往MockJS官方文档案例进行查阅。

如在使用过程中有遇到什么问题也欢迎大家通过Gitter与我们沟通和联系。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部