千家信息网

如何使用Mockjs模拟接口实现增删改查、分页及多条件查询

发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,本篇内容主要讲解"如何使用Mockjs模拟接口实现增删改查、分页及多条件查询",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用Mockjs模拟接口实现
千家信息网最后更新 2024年09月27日如何使用Mockjs模拟接口实现增删改查、分页及多条件查询

本篇内容主要讲解"如何使用Mockjs模拟接口实现增删改查、分页及多条件查询",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用Mockjs模拟接口实现增删改查、分页及多条件查询"吧!

一、什么是Mock?

mock官网

mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

二、使用Mock有什么好处

生成随机数据,拦截 Ajax 请求

1️⃣前后端分离

让前端攻城师独立于后端进行开发。

2️⃣增加单元测试的真实性

通过随机数据,模拟各种场景。

3️⃣开发无侵入

不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。

4️⃣用法简单

符合直觉的接口。

5️⃣数据类型丰富

支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。

6️⃣方便扩展

支持支持扩展更多数据类型,支持自定义函数和正则。

三、安装Mock

//安装最新版本mockjsnpm install mockjs

四、效果图

五、使用Mock模拟接口实现增删改查、分页、多条件查询

使用mock实现英文单词的增删改查、分页、多条件查询

话不多说,上代码

Mock下 index.js

var englishArr = [];//保存英文单词Mock.mock('/addEnglish', /post/i,(options) => {    let english = JSON.parse(options.body).params.english;    if (english.noid == null) {        english.noid = Mock.Random.increment();        englishArr.push(english);    } else {        for (let i = 0; i < englishArr.length; i++) {            if (englishArr[i].noid == english.noid) {                englishArr.splice(i, 1);                englishArr.push(english);            }        }    }    return 0;});//获取所有英文单词Mock.mock("/getEnglishList", /post/i, (options)=> {    let info = JSON.parse(options.body).params.info;    if (!info.pageNum) {        info.pageNum = 1;    }    let newArr = [];    // pageNum, pageSize, searchKey    // console.log("截取指定元素:"+newArr.length)    //englishArr.splice((info.pageNum -1) * info.pageSize, info.pageSize)    if (englishArr.length > 0) {        let pageNum = (info.pageNum -1) * info.pageSize;        console.log(pageNum+"--"+info.pageSize)        //计算截取的数组长度,如果用splice会导致原数组数据丢失        let num = info.pageNum * info.pageSize;        for (let i = pageNum; i < num; i++) {            //全部数据的数组长度不能为空            if (englishArr[i] != undefined) {                //查询条件为单词时直接将符合的数据添加到新数组内                if (info.searchKey && !englishArr[i].world.indexOf(info.searchKey)) {                    console.log("查询条件:"+info.searchKey)                    newArr.push(englishArr[i]);                }                //查询条件为中文时将符合的数据添加到新数组内                if (info.searchKey && !englishArr[i].chinese.indexOf(info.searchKey)) {                    console.log("查询条件:"+info.searchKey)                    newArr.push(englishArr[i]);                }                //查询条件为空时添加所有数据到新数组                if (!info.searchKey) {                    newArr.push(englishArr[i]);                }            }        }        console.log(newArr)        let page={ list: newArr, pageSize: 2, total: englishArr.length };        return page;    }    let page={ list: englishArr, pageSize: 2, total: englishArr.length };    return page;});//删除英文单词Mock.mock("/deleteEnglish", /post/i, (options)=> {    let english = JSON.parse(options.body).params.english;    for (let i = 0; i < englishArr.length; i++) {        if (englishArr[i].noid == english.noid) {            englishArr.splice(i, 1);        }    }    return 0;})

EnglishList.vue

到此,相信大家对"如何使用Mockjs模拟接口实现增删改查、分页及多条件查询"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0