mock-record
 
 
使用
npm install mock-record
import { mock } from 'mock-record'
mock("@name")
=> 'Ruihuag'
说明
mock({
  'name|rule|key1,key2,key3...|[DictionaryKey]':'@name'
})
- name: 表示当前属性真正name
- rule: 指定生成数量规则, 只表示数量
- key1,key2,key3...: 表示当前属性为对象, 并且指定多个key, 且值为- @name
- @name: 数据规则
规则使用
mock("@name")
=> 'Ruihuag'
name|number
 mock({ 'name': '@name' })
 mock({ 'name|1': 1 })
 mock({ 'name|1': '@name' })
 mock({ 'name|3': '@name' })
 mock({ 'name|3': 1 })
 =>
  { name: 'Ruihuag' }
  { name: 1 }
  { name: 'Jose' }
  { name: 'FrankGaryDavid' }
  { name: 4 }
范围 name|2-222
mock({"name|3-5":"@name"})
=> { name: [ 'Jeffrey', 'Jose', 'Gary', 'William' ] }
指定数量 name|12
mock({"name|3":"@name"})
=>  { name: [ 'Christopher', 'Daniel', 'Richard' ] }
多用一
基础使用 {'name||key1,key2,key3':'@name'}
{name: { key1: 'Mark', key2: 'Jason', key3: 'Thomas' }}
指定数量 {'name|2|key1,key2,key3': "@name"}
{
  name: [
    { key1: 'Mark', key2: 'Donald', key3: 'Michael' },
    { key1: 'George', key2: 'Jose', key3: 'Edward' },
  ]
}
数量范围组 {'name|2-5|key1,key2,key3': "@name"}
{
  name: [
    { key1: 'Jason', key2: 'Kenneth', key3: 'Scott' },
    { key1: 'Mark', key2: 'Donald', key3: 'Michael' },
    { key1: 'George', key2: 'Jose', key3: 'Edward' },
  ]
}
多用一 并转子串
基础 {'name||key1,key2,key3|JsonString':'@name'}
{
  name: '{"key1":"Joseph","key2":"Michael","key3":"Jose"}'
}
指定数量 {'name|2|key1,key2,key3|JsonString': "@name"}
{
  name: '[{"key1":"Anthony","key2":"Eric","key3":"Edward"},{"key1":"Thomas","key2":"Eric","key3":"Edward"}]'
}
数量范围 {'name|2-5|key1,key2,key3|JsonString': "@name"}
{ name: '{"key1":"James","key2":"Jeffrey","key3":"William"}' }
自定义规则
import { mock, initDictionary, dictionary } from '../src'
// 可以查看已经设置的规则字典
dictionary
initDictionary({
  'aaa': 'ababab',
  'bbb': function (a = '1', b = '2') {
    return a + '---' + b
  }
})
mock('@bbb(123,456)') // 123---456
mock('@aaa') // ababab
操作符
基础数据类型
| 操作符 | 描述 | 结果 | 
|---|
| @char | 字符 | A | 
| @boolean | 布尔值 | true | 
| @string | 字符串 | wg0DGEE1s[ | 
| @string(3,5) | 指定范围长度字符串 | wg0D | 
| @num | 数字 | 520 | 
| @num(5,10) | 指定范围数字 | 5 | 
| @num(5-10.1-2) | 指定范围数字, 和小数点位数 | 5.1 | 
| @float | 浮点型 | 13.14 | 
名称
| 操作符 | 描述 | 结果 | 
|---|
| @name | 英文名 | Ruihuag | 
| @cname | 中文名 | 关瑞毕 | 
| @first | 英文名称的名 | Sandra | 
| @last | 英文名称的姓 | Jose | 
| @cfirst | 中文姓 | 关 | 
| @clast | 中文名 | 瑞毕 | 
文本
| 操作符 | 描述 | 结果 | 
|---|
| @title | 标题 | 土好保观 | 
| @title(3,30) | 标题 | 传年圆美石所技道只式器知老引明说外海专性油复队运构科文重 | 
| @cword | 中文字 | 厂 | 
| @sentence(2) | 句子 | Enim ad aute eiusmod enim occaecat. Aliqua anim dolore eiusmod officia commodo amet nostrud. | 
| @sent(2) | 句 | Enim ad aute eiusmod enim occaecat. Aliqua anim dolore eiusmod officia commodo amet nostrud. | 
| @paragraph(2) | 自然段 | Laboris ex ad duis  ... eiusmod ipsum exercitation.    Eiusmod minim aliqua dolor nostrud et. ... cupidatat dolore consequat dolor. | 
| @para(2) | 自然段 | Laboris ex ad duis reprehenderit deserunt enim. In laboris ... dolor. | 
居住地址
| 操作 | 描述 | 结果 | 
|---|
| region | 地区 | 西北 | 
| province | 省 | 广东省 | 
| city | 城市 | 韶关市 | 
| district | 区域 | 洮北区 | 
| address | 地址 | 安徽省宣城市宣州区1d8街道6e路69号99栋36单元78号 | 
| address(RR PP CC DD) | 地址(指定格式) | 东北 山西省 吕梁市 汾阳市 | 
 补充:
其他地址
| 操作 | 描述 | 结果 | 
|---|
| @ip | ip | 242.86.47.174 | 
| @ip6() | ipv6 | e60b:3d50:be5c:ea37:3005:8a35:846e:1aeb | 
| @domain | web地址 | opubztw.xxq | 
| @email | 邮箱 | cxydhhsfxqzki@nipik.ftnyl | 
颜色
- 待开发
- color, hex, rgb, rgba, hsl
图片
@image([text[,size[,background[,foreground[,format]]]]])
- 图片链接
- text = '': 文字
- size = '200x200':图片大小
- background = '000': 背景图片
- foreground = 'fff': 文字颜色
- format: '' | 'png' | 'gif' | 'jpg' = '': 图片格式
时间
| 操作符 | 描述 | 结果 | 
|---|
| @now | 现在 | 2022-06-08 16:58:16 | 
| @now(YYYY-MM-DD HH:mm:ss) | 现在 | 2022-06-08 16:58:16 | 
| @date | 日期 | 2021-09-27 | 
| @date(YYYY-MM-DD) | 日期 | 2022-03-28 | 
| @date(YYYY-MM-DD HH:mm:ss) | 日期 | 2020-03-24 22:58:16 | 
| @time | 时间 | 22:58:16 | 
| @time(HH:mm:ss) | 时间 | 04:58:16 | 
| @time(YYYY-MM-DD HH:mm:ss) | 时间 | 2020-06-27 22:58:16 | 
| @timeStamp | 时间戳 | 1604703768135 | 
| @nowTimeStamp | 当前时间时间戳 | 1604703768135 | 
特殊
| 操作符 | 描述 | 结果 | 
|---|
| @id | id | 3191230364936506 | 
| @uuid | uuid | 326be748-57bd-c2d0-84f4-99bb488a4292 | 
| @uuid(xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx) | uuid | 326be748-57bd-c2d0-84f4-99bb488a4292 |