utils->plugin->mock

/*
特点:
  1.本地模拟的数据,实际上不会走任何网络请求。所以本地调试起来很蛋疼,只能通过console.log来调试。
*/ 
/* 
    Mock.mock( rurl?, rtype?, template|function( options ) ),mock初始化函数
    1.rurl-拦截的ajax传来的url
    2.rtype-拦截ajax类型如GET、POST、PUT、DELETE
    3.必须参数
      3.1template-数据模板
        3.1.1数据模板定义规范(Data Template Definition,DTD) 由 3 部分构成:属性名、生成规则、属性值
          属性名与生成规则---------------属性名 和 生成规则 之间用 | 分隔。
            他们在哪?
              'name|+step': value
            他们是谁?
              顺序
                'name|+step': value
              范围
                'name|min-max': value
                'name|min-max.dcount': value
                'name|min-max.dmin-dmax': value
              个数
                'name|count': value
                'name|count.dmin-dmax': value
                'name|count.dcount': value
          属性值---------------还指定了最终值的初始值和类型,属性值 中可以含有 @占位符。
            Object
            Number
            String
            Boolean
        3.1.2函数规范定义规范-Mock.Random.xxx(…)
          a.Mock.Random.extend拓展 定义新的规范
            Random.extend({
                constellation: function (date) {
                    var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座',
                        '双鱼座']
                    return this.pick(constellations)
                }
            })
            Random.constellation() // => "水瓶座" Mock.mock('@CONSTELLATION') // => "天蝎座" Mock.mock({ constellation: '@CONSTELLATION' }) // => { constellation: "射手座" }
          b.Basic
            boolean
            natural输出范围数字
              Random.natural( min?, max? )
            integer
            float
              Random.float( min?, max?, dmin?, dmax? )
            character
              Random.character( pool? )
                Random.character('lower')
                Random.character('upper')
                Random.character('number')
                Random.character('symbol')
            string
              Random.string( pool?, min?, max? )
                Random.string('lower', 5)
                Random.string('upper', 5)
                Random.string('number', 5)
                Random.string('symbol', 5)
                Random.string('aeiou', 5)
            range
              Random.range(start?, stop, step?)
          c.Date类型
            date
              Random.date( format? )
            time类型
              Random.time( format? )
            datetime类型
              Random.datetime( format? )
            now类型
              Random.now( unit?, format? )
          d.Image类型
            image
              Random.image( size?, background?, foreground?, format?, text? )
            dataImage
              Random.dataImage( size?, text? )
          e.Color类型
            color
              Random.color()
            hex
              Random.hex()
            rgb
              Random.rgb()
            rgba
              Random.rgba()
            hsl
              Random.hsl()
          f.Text类型
            paragraph
              Random.paragraph( min?, max? )多段
            sentence
              Random.sentence( min?, max? )多句
            word
              Random.word( min?, max? )多词
            title
            cparagraph
              Random.cparagraph( min?, max? )中文多段
            csentence
            cword
            ctitle
          g.Name类型
            first
              Random.first()姓
            last
              Random.last()名
            name
              Random.name( middle? )
            cfirst
            clast
            cname
          h.Web类型类型
            ur
            domain
            protocol
              Random.protocol()协议
            tld
              Random.tld()*域名
            email
            ip
          i.Address
            region
              Random.region()区域
            province
            city
              Random.city( prefix? )
              // Random.city() "金华市" "海外" "大连市" // Random.city( prefix ) "吉林省 *市" "河南省 洛阳市"
            county
            zip
          j.Helper
            capitalize
              Random.capitalize( word )大驼峰
            upper
            lower
            pick
              Random.pick( arr )
            shuffle
              Random.shuffle( arr )洗牌
          k.Miscellaneous
            guid
              Random.guid()全局唯一标识符
            id
              Random.id()
            increment
              Random.increment( step? )增量
      3.2 function( options )--匹配的话立马执行
        略
  */ 

  /*
  除了Mock.mock还有三个主要函数
  Mock.toJSONSchema( template )-把 Mock.js数据模板 template 转换成 JSON Schema.
  Mock.valid( template, data )-校验真实数据 data 是否与数据模板 template 匹配.
  Mock.setup( settings )延时响应
  */ 

上一篇:[zebra源码]分库分表数据源ShardDataSource初始化过程


下一篇:SAP 电商云 Spartacus UI SSR 单元测试里的 callFake