高级 Mock 示例
Random 方法
https://github.com/nuysoft/Mock/wiki/Mock.Random
随机图片
1.list
期望数据
{
"code": 0,
"data": {
"list": [
{
"id": "210000198807019614",
"publisher": {
"userType": 2,
"name": "易涛",
"phone": "19939709760",
"avatarUrl": "https://picsum.photos/60?110000199707151424"
},
"publishTime": "7-09 14:46",
"properties": [
"包邮偏远地区",
"1000单以下勿扰"
],
"publishType": "# 找小件顺带",
"lookingFor": "期望: 百世 ¥3.919",
"current": "当前: 顺丰 ¥1.77137 ",
"orderCount": "单量: 4575 单",
"weight": "重量: 72 kg",
"product": "货品: 鞋包配饰",
"productImages": [
"https://picsum.photos/200?530000199006218436"
],
"distance": "距您当前位置 4 公里以内"
}
],
"loadNextPage": 1
}
}
Mock 脚本
const {page, limit} = params;
const publishTypes = [
"求小件",
"找小件优惠",
"求顺路",
"找小件顺带"
];
const deliverys = [
"任意快递",
"百世",
"顺丰",
"圆通"
]
const weightUnits = [
"kg",
"g"
]
const products = [
"首饰",
"鞋包配饰",
"手机电脑",
"女装",
"内衣"
]
const properties = [
"包邮偏远地区",
"1000单以下勿扰",
"是否可以抛物: 可以"
]
mockJson = {
code: 0,
data: {
page,
list: Random.range(limit || 10).map(()=>{
return {
"id": Random.id(),
"publisher": {
"userType": Random.integer(1, 2), // 1- 商家; 2- 快递
"name": Random.cname(),
"phone": "19939709760",
// "avatarUrl": Random.image(60),
"avatarUrl": `https://picsum.photos/60?${Random.id()}`, // 加上 ?${Random.id()} 可以保证图片不重复
},
"publishTime": Random.date('M-dd H:mm'),
"properties": Random.range(Random.natural(0, 3)).map(() => Random.pick(properties)),
"publishType": `# ${Random.pick(publishTypes)}`,
"lookingFor": `期望: ${Random.pick(deliverys)} ¥${Random.float(1,5,0,6)}`,
"current": `当前: ${Random.pick(deliverys)} ¥${Random.float(1,5,0,5)} `,
"orderCount": `单量: ${Random.natural(100, 10000)} 单`,
"weight": `重量: ${Random.natural(10, 100)} ${Random.pick(weightUnits)}`,
"product": `货品: ${Random.pick(products)}`,
"productImages": Random.range(Random.natural(0, 6)).map(() => `https://picsum.photos/200?${Random.id()}`),
"distance": `距您当前位置 ${Random.natural(1,5)} 公里以内`
}
}),
// loadNextPage: Random.boolean(1, 9, false) // 是否可以加载下一页 0 - false; 1 - true
loadNextPage: page == '5' ? 0 : 1
}
}
全局 Mock 示例
const deliverys = [
"百世",
"顺丰",
"圆通"
]
Random.extend({
delivery: function() {
return this.pick(deliverys)
}
})
if (params) {
mockJson.params = params;
}
if(!mockJson.code) {
mockJson.code = 200
}
if(!mockJson.errMsg) {
mockJson.errMsg = "success"
}