Yapi mock 示例

高级 Mock 示例

Random 方法

https://github.com/nuysoft/Mock/wiki/Mock.Random

随机图片

https://picsum.photos/

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"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值