欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Mockjs】利用Mockjs生成模拟数据,拦截ajax,模拟后台接口

程序员文章站 2022-07-09 21:07:33
...

      Mockjs 官网  https://github.com/nuysoft/Mock/wiki

      示例:在vue中使用Mockjs模拟数据,使用axios请求数据;

     1,安装mockjs

           npm install mockjs  --save-dev

      2,在main.js的同级目录下新建mock.js文件:

// 引入mockjs
const Mock = require('mockjs');
// 获取 mock.Random 对象
const Random = Mock.Random;
// mock一组数据
const produceNewsData = function() {
    let articles = [];
    for (let i = 0; i < 10; i++) {
        let newArticleObject = {
            //  Random.csentence( min, max )
            title: Random.csentence(5, 30),
            // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
            thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'),
            // Random.cname() 随机生成一个常见的中文姓名
            author_name: Random.cname(),
            // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
            date: Random.date() + ' ' + Random.time()
        };
        articles.push(newArticleObject)
    }
    return {
        articles: articles
    }
};

// Mock.mock( url, post/get , 返回的数据);
Mock.mock('/news/index', 'post', produceNewsData);

      3,在main.js中引入mock.js:

          require('./mock.js')

      4,axios发送请求测试:

<script>
    //引入axios
    import axios from 'axios'
    export default {
        methods:{
            getMsg(){
                axios.post('/news/index')
                    .then(function (response) {
                        console.log(response);
                    })
                    .catch(function (error) {
                        console.log(error);
                    });
            }
        }
    }
</script>

    5,测试结果:

【Mockjs】利用Mockjs生成模拟数据,拦截ajax,模拟后台接口