umi项目中使用mockj生成数据模拟请求调用

Mock.js简介

Mock.js 是一个轻量级且无依赖的JavaScript库,用于生成模拟数据。它可以帮助开发者在前端开发过程中模拟后端API接口,以便进行快速原型设计和测试。Mock.js 提供了丰富的API来模拟各种类型的数据,如字符串、数字、日期、数组等。

编码实战

在umi项目的根目录的mock文件夹下新建如下js文件

//  mock数据 tds专用
import mockjs from 'mockjs';

const mock = {
  'GET /api/item/list': (req, res) => {
    // 企业营销列表
    setTimeout(() => {
      if (req.query.type === 'error') {
        res.status(200).json({
          errCode: '-1',
          errMsg: '连接数据库错误啦',
          datas: '',
        });
      } else {
        const data = mockjs.mock({
          'list|10': [
            {
              id: '@guid',
              name: '@cname',
              'customNum|1-100': 50,
            },
          ],
        });
        res.status(200).json({
          errCode: '0',
          traceId: '666',
          success: true,
          errorMsg: '',
          resultInfo: { total: 10, size: 10, records: [...data.list] },
          resultInfo: [...data.list],
        });
      }
    }, 200);
  },
};

module.exports = mock;

Mock.js的常用API

基本数据类型生成

  • Mock.Random.integer():生成一个指定范围内的整数。
  • Mock.Random.float():生成一个指定范围内的浮点数。
  • Mock.Random.string():生成一个指定长度的字符串。
  • Mock.Random.email():生成一个随机的电子邮件地址。
  • Mock.Random.date():生成一个随机的日期。
  • Mock.Random.image():生成一个随机的图片URL。

对象和数组生成

  • Mock.mock():基于模板生成复杂的对象或数组。
  • Mock.mock({ ‘name’: ‘@cname’ }):生成一个包含中文姓名的对象。
  • Mock.mock([{ ‘name’: ‘@cname’ }]):生成一个包含多个中文姓名的数组。

自定义规则

  • @is:检查值是否满足给定的正则表达式。
  • @in:从给定的数组中随机选取一个值。
  • @csentence():生成一个中文句子。
  • @cparagraph():生成一段中文段落。

其他功能

  • Mock.withSeed():设置随机种子,确保每次生成相同的随机数据。
  • Mock.toJSON():将模拟数据转换为JSON字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值