您的位置:首页 > Web前端 > JavaScript

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.Random
中的方法。

通过
Mock.Random.extend()
来扩展自定义占位符

所以在mock里面可以直接调用@integer()方法,不用再定义一次Random.integer(),虽然在官网示例中都有写Random 的相应方法。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: