mock.js实例,构建相应的模拟假数据
2017-06-07 16:32
483 查看
在做微信小程序的时候,后台接口一直出不出来,导致没有数据进行下一步操作,所以去学了Mock.js来实现模拟假数据,一开始也是觉得不会,但是参照着http://mockjs.com/examples.html#Random 来做还是相对简单的。
首先,先定义一个DEBUG,如果有虚拟数据则DEBUG==true,否则为false
底下为最终的代码:
// 设置mock.js 模拟数据
let API_HOST="http://192.168.12.203/dafeng/index.php?cp=get_product_list";
let DEBUG=true;
var Mock = require('mock.js')
function ajax(data='',fn,method="get",header={}){
if(!DEBUG){
wx.request({
url: config.API_HOST + data,
data: {},
method: method ? method : 'get',
header: header ? header : { "content-Type" : "application/json"},
success: function(res){
fn(res);
}
})
}else{
// 模拟数据
// Random.csentence(3, 10);
// Random.integer(0,100);
// Random.datetime();
var res = Mock.mock({
'error_code':'',
'error_msg':'',
'data|1-10':[{
'id|+1':1,
'coupon_id':'10010001001',
'img':'',
'coupon_name':'@ctitle(3,8)',
'stock_num':'@integer(0,100)',//库存数量
'marketing_start':'@datetime()',
'marketing_stop':'@now()',
'marketing_type|+1':[
"normal",
"snap"
],
'price':'@integer(100,2000)',//现价,单位:分
'original_price':'@integer(100,3000)'
}]
})
// 输出结果
// console.log(JSON.stringify(res,null,4))
fn(res)
}
}
module.exports = {
ajax: ajax
}
@integer(0,100)
用
占位符 引用的是
通过
所以在mock里面可以直接调用@integer()方法,不用再定义一次Random.integer(),虽然在官网示例中都有写Random 的相应方法。
首先,先定义一个DEBUG,如果有虚拟数据则DEBUG==true,否则为false
底下为最终的代码:
// 设置mock.js 模拟数据
let API_HOST="http://192.168.12.203/dafeng/index.php?cp=get_product_list";
let DEBUG=true;
var Mock = require('mock.js')
function ajax(data='',fn,method="get",header={}){
if(!DEBUG){
wx.request({
url: config.API_HOST + data,
data: {},
method: method ? method : 'get',
header: header ? header : { "content-Type" : "application/json"},
success: function(res){
fn(res);
}
})
}else{
// 模拟数据
// Random.csentence(3, 10);
// Random.integer(0,100);
// Random.datetime();
var res = Mock.mock({
'error_code':'',
'error_msg':'',
'data|1-10':[{
'id|+1':1,
'coupon_id':'10010001001',
'img':'',
'coupon_name':'@ctitle(3,8)',
'stock_num':'@integer(0,100)',//库存数量
'marketing_start':'@datetime()',
'marketing_stop':'@now()',
'marketing_type|+1':[
"normal",
"snap"
],
'price':'@integer(100,2000)',//现价,单位:分
'original_price':'@integer(100,3000)'
}]
})
// 输出结果
// console.log(JSON.stringify(res,null,4))
fn(res)
}
}
module.exports = {
ajax: ajax
}
@integer(0,100)
用
@来标识其后的字符串是 占位符.
占位符 引用的是
Mock.Random中的方法。
通过
Mock.Random.extend()来扩展自定义占位符
所以在mock里面可以直接调用@integer()方法,不用再定义一次Random.integer(),虽然在官网示例中都有写Random 的相应方法。
相关文章推荐
- 使用mock.js提供模拟数据
- mock.js的真实数据模拟
- 前端数据模拟---mock.js 使用教程
- 前端数据模拟 Mock.js 使用教程
- 深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)
- mock.js的真实数据模拟
- AJAX数据模拟之Mock.js
- 用mock.js模拟地图经纬度数据
- 让前端独立于后端进行开发,模拟数据生成器Mock.js
- mock.js的真实数据模拟
- 利用vue + koa2 + mockjs模拟数据的方法教程
- 模拟数据----------mock.js----------faker.js
- 简单的使用mock.js模拟数据,拦截ajax请求
- 前端数据模拟神器mock.js
- 使用express+mockjs搭建服务器和模拟数据
- 应用express mockjs模拟前端json数据接口
- 前后端分离开发——模拟数据mock.js
- Mock.js 与 fiddler 前端模拟数据与拦截请求
- 数据模拟-mock.js
- express+mockjs实现模拟后台数据发送功能