MockJS的使用

创建项目

vue cli 创建一个vue2项目
npm install安装axios、mockjs
在这里插入图片描述
在项目中创建mock目录,新建index.js文件
在这里插入图片描述

//引入mockjs
import Mock from "mockjs";

//设置延迟时间
Mock.setup({
timeout: 4000
})

//使用mockjs模拟数据
Mock.mock('/product/search', {
"ret": 0,
"data":
{
    "mtime": "@datetime",//随机生成日期时间
    "score|1-800": 1,//随机生成1-800的数字
    "rank|1-100": 1,//随机生成1-100的数字
    "stars|1-5": 1,//随机生成1-5的数字
    "nickname": "@cname",//随机生成中文名字
    //生成图片  像素、背景颜色、文字颜色、图片格式、图片里面的文字
    "img": "@image('200x100','#ffcc33','#FFF','png','Fast Mock')"

}
})

引入

在main.js中导入mock
在这里插入图片描述
在根组件App.vue中导入axios
并在组件被挂载完成时【mounted】用axios发送get请求
在这里插入图片描述
可以看见mock返回的数据
在这里插入图片描述

渲染mock生成的图片

首先在data中定义一个空的img属性,把它的值绑定给img标签的src属性
最后在请求成功时,把响应里data中的data.img属性赋值给this.img
在这里插入图片描述
在这里插入图片描述

数据占位符的使用

建议参考文档: link

使用
两种方法

  1. Random.xxx() //使用Random函数
  2. Mock.mock(‘@xxx’) // 使用占位符
    注意:其中xxx为random对应方法,也对应@xxx的占位符
3. Random.boolean()   随机布尔值
4. Random.natural( min?, max? )  随机自然数 min-max之间
5. Random.integer( min?, max? )  随机整数min-max之间
6. Random.float()   随机浮点数
7. Random.character( pool? )   随机字母  pool对应有(lower[小写]/upper[大写]/number[数字]/symbol[符号])
8. Random.string( pool?, min?, max? )   随机字符串
9. Random.range(start?, stop, step?)   随机范围数字组成的数组
10.  Random.date( format? )  随机日期
11.  Random.time( format? )  随机时间
12.  Random.datetime( format? )  随机日期+时间
13.  Random.now( unit?, format? )  当前时间
14.  Random.image( size?, background?, foreground?, format?, text? )  图片占位
15.  Random.dataImage( size?, text? )  生成base64格式图片
16.  Random.color()  随机颜色
17.  Random.rgb()  随机rgb颜色
18.  Random.rgba()   rgba颜色值
19.  Random.paragraph( min?, max? )   段落
20.  Random.sentence()
21.  Random.word( min?, max? )
22.  Random.title( min?, max? )
23.  Random.cparagraph( min?, max? )   中文段落
24.  Random.csentence( min?, max? )   中文句子
25.  Random.cword( pool?, min?, max? )  汉字
26.  Random.ctitle( min?, max? ) 标题
27.  Random.first() 姓
28.  Random.last()  名
29.  Random.name( middle? )  姓名
30.  Random.cfirst()  中文姓
31.  Random.clast()  中文名
32.  Random.cname()  中文姓名
33.  Random.url()  随机URL
34.  Random.domain()  随机域名
35.  Random.protocol()
36.  Random.email()  邮箱
37.   Random.region()
38.   Random.province()  省
39.   Random.city( prefix? )  市   (prefix是否带前缀省,值为boolean)
40.   Random.county( prefix? )  区县  (prefix是否带缀省,市)
41.   Random.increment( step? )  递增

直接@快捷使用
在这里插入图片描述

请求带参数的url匹配问题

在这里插入图片描述
在这里插入图片描述
解决很简单
将mock拦截的url用RegExp()包裹,并在url的末尾加上 .* 的正则匹配在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值