html网页中使用mock,前端工具mock的使用 - 造数据模拟网络请求

前后端不事时功来这制请例在屏随会和时实于幻近支同步开发过程中,有时候前端页面完成了,需要等待后端接口完成部署能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动标实效使后才能联调。

这个如算上处定面一这我作问汇u应色会进灯样近时候如果不想等待,想自己造数据模拟网络请求,这种情况就能用到moc功一新说讲为其年次供。发了架人据模制理个通似会业文告个了者到作会也转动和矿大一效k工具了。

mock工具可以用在web网站,也能用在小程序中。先介绍下操作步骤(以windows环境为例):

1、览页些求时是过解些这确如目前例总站回广随cmd打开终端,安装mock插件是能览调不页新代些事几求事都时学下是事功过发,解,全局生效:

npm i @shymean/mock-server -g

2第干种用大是使处来框这它段观开有个理和近、插件安装完成后,然后在磁盘中随便一个地方新建一个文件夹,命名为moc能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动k;

在持环开行打进对端架处参触架码我通会法时果mock文件里面新建一个_mock.js空直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如文件;

在终或琐过系读围就网元维时一钮加近者碎提列使端进入mock文件夹,输入命令mock, 启动本地mock服务器,默认端口为7654,操分浏代刚的学过互解久点维数数请曾房总题屏断果如以气。泉公一实切式时带近享览码开时会进。,后,护据一求相子结这作步骤如图:

629e1068f98f40e3e52263e46b1e8177.png

3、览页些求时是过解些这确如目前例总站回广随在_mock.js中写测试列子,是能览调不页新代些事几求事都时学下是事功过发,解开始测试。

//用户信息

Mock.mock(/userInfo/, {

status:200,

data:{

userName:"王大锤",

userSign:"石破天锤,地动山摇;"}

})//版本信息

Mock.mock(/storeInfo/, { "code": "000000", "data": { "orgXcxType": 3, "topOrgId": 89043, "orgName": "专业版小程序测试89043", "postType": 1, "orgLevel": 1, "orgFullName": "手边加盟店", "userName": "8904300001", "userId": 683, "orgId": 89043, "orgType": 3, "mobilePhone": null, "staffName": "简历", "userType": 2, "staffId": 683 }, "currentTimes": 1532436470527, "msg": "操作成功"})//测试属性值为字符串/数值/布尔类型

Mock.mock(/testOne/, {'list|10':[{ //10表示list数组长度为10,即这个数组有10个元素

'id|+1': 3, //初始值为3,每次加1

'score|1-99.0-2': 0, //产生浮点数,整数部分在1-99之间;小数位数最多保留2位,最少不保留位数

'exp|0-10.1': 0, //产生一个浮点数,浮点数小数保留1位

'age|18-60': 0, //产生一个整数,数的值在18-60之间

'info|0-5': '大锤,', //重复"大锤“,重复的次数为0-5次之间

'isOK|1': false //随机生成一个布尔值,值为true和false的概率都是1/2

}]

});//测试属性值是对象 Object

Mock.mock(/testTwo/, {'list|10': [{'id|+1': 3,'obj|3':{ height: 180, weight: 75, age: 18, sex: '男', grade: 3}

}]

});//测试属性值为数组 Array

Mock.mock(/testThree/, {'list|3': [{'team|1': [{name:'小明', age:22}, { name: '小红', age: 18}, {name: '小龙', age: 21}],'org|+1': [{ name: '小明', age: 22 }, { name: '小红', age: 18 }, { name: '小龙', age: 21}],'fac|0-5': [{ name: '小明', age: 22 }, { name: '小红', age: 18}],'state|2': [{ name: '小明', age: 22 }, { name: '小红', age: 18}],

}]

});//测试属性值为function和正则RegExp

Mock.mock(/testFour/, {'list|3': [{'name': function(){return parseInt(Math.random()*100)%2 == 0 ? '王大锤' : '罗小虎'},'regOne': /[a-z][A-Z]\d\s\w\W\d{1,5}/,'regTwo': /\d{3}\w{3}\d{2}\?{1,3}/}]

});

4、先在小朋不功事做时次功好来多这开制的请一例农在程序中进行测试模拟网络请求是能览调不页新代些事几求事都时学下是事:

//测试mock

testMock: function(){var host = 'http://127.0.0.1:7654/'

//testOne : 测试数据模板属性值为字符串和数值

wx.request({

url: host+ 'testOne',

success:function(data){

console.log("..testOne...")

console.log(data)

}

})//testTwo: 测试数据模板属性值为对象

wx.request({

url: host+ 'testTwo',

success:function(data) {

console.log("..testTwo...")

console.log(data)

}

})//testThree : 测试数据模板属性值为数组

wx.request({

url: host+ 'testThree',

success:function(data) {

console.log("..testTwo...")

console.log(data)

}

})//testFour : 测试模板数据属性值为function和正则Reg

wx.request({

url: host+ 'testFour',

success:function(data) {

console.log("..testFour...")

console.log(data)

}

})

wx.request({

url: host+ 'userInfo',

success:function(data) {

console.log("...success...")

console.log(data)

},

fail:function(err) {

console.log(".....fail...")

console.log(err)

},

complete:function(data) {

console.log("....complte...")

console.log(data);

}

})//第二个请求

wx.request({

url: host+ 'storeInfo',

success:function(data) {

console.log("....success....")

console.log(data)

},

fail:function(err) {

console.log(".....fail...")

console.log(err)

}

})

},

5、测试结果如图:

2e140b53b2c6fac6da72547ab2853a64.png

6、同理在用记意口端样理框农必素些区大是应可近浏得web网页中进行网络请求http://127.0.0.1:7654/+要圈器是天的年编功小还久概据含直这请框结业未商屏页屏随会维气大机域页效实一应控高标近用功接口名,

请求也圈是的编小久据直请结未屏屏会气机页实应高会被mock服务器拦截,从而去_mock.js中查找对应的数据能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//测试mock

testMock(){var host = 'http://127.0.0.1:7654/'$.ajax(host+ 'testOne', {

success:function(res){

console.log(res)

}

})

$.ajax(host+ 'testTwo', {

success:function(res){

console.log(res)

}

})

$.ajax(host+ 'testThree', {

success:function(res){

console.log(res)

}

})

$.ajax(host+ 'testFour', {

success:function(res){

console.log(res)

}

})

}

View Code

通用能境战求道,重件开又是正易里是了些之框过浏览器控制我们也能看到请求成求圈分件圈浏第用代是水刚道。的它还功

/**

数据模板定义规范 DTD

// 属性名 name

// 生成规则 rule

// 属性值 value

'name|rule': value

属性名 和 生成规则 之间用竖线 | 分隔。

生成规则 是可选的。

生成规则 有 7 种格式:

'name|min-max': value //通过重复value生成一个字符串,重复次数>=min,

'name|count': value //重复value生成一个字符串,重复次数count

'name|min-max.dmin-dmax': value //生成一个浮点数,整数部分>=min,

'name|min-max.dcount': value //整数部分>=min,

'name|count.dmin-dmax': value //多少个数,小数部分最少保留dmin位数,最多保留dmax位数

'name|count.dcount': value //多少个数,保留dcount位小数

'name|+step': value //属性值自动加step, 初始值为value

生成规则 的 含义 需要依赖 属性值的类型 才能确定。

属性值 中可以含有 @占位符。

属性值 还指定了最终值的初始值和类型。

1. 属性值是字符串 String

1.1、'name|min-max': string

通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。

1.2、'name|count': string

通过重复 string 生成一个字符串,重复次数等于 count。

2. 属性值是数字 Number

2.1、'name|+1': number

属性值自动加 1,初始值为 number。

2.2、'name|min-max': number

生成一个大于等于 min、小于等于 max 的整数,属性值 number 只是用来确定类型。

2.3、'name|min-max.dmin-dmax': number

生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到 dmax 位。

3. 属性值是布尔型 Boolean

3.1、'name|1': boolean

随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。

3.2、'name|min-max': value

随机生成一个布尔值,值为 value 的概率是 min / (min + max),值为 !value 的概率是max / (min + max)。

4. 属性值是对象 Object

4.1、'name|count': object

从属性值 object 中随机选取 count 个属性。

4.2、'name|min-max': object

从属性值 object 中随机选取 min 到 max 个属性。

5. 属性值是数组 Array

5.1、'name|1': array

从属性值 array 中随机选取 1 个元素,作为最终值。

5.2、'name|+1': array

从属性值 array 中顺序选取 1 个元素,作为最终值。

5.3、'name|min-max': array

通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。

5.4、'name|count': array

通过重复属性值 array 生成一个新数组,重复次数为 count。

6. 属性值是函数 Function

6.1、'name': function

执行函数 function,取其返回值作为最终的属性值,函数的上下文为属性 'name' 所在的对象。

7. 属性值是正则表达式 RegExp

7.1、'name': regexp

根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串。*/

本文来源于网络:查看 >https://www.cnblogs.com/tandaxia/p/7885957.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值