Mock data模拟服务端返回数据

很早就想总结下关于mock data 这部分的内容,现在刚好把它总结一下吧。

首先之前完成的许多项目都是自己独立完成前端开发这部分内容的,不过要完成一个完整的包含后端的项目,臣妾做不到阿~~~~~~~(主要是时间也不允许哈哈)所以呢,这个时候mock data就发挥它的作用啦~

简单介绍下mock.js,是一款非常强大的插件,可以模拟服务端的数据,也可以进行增删改查这些操作。

小声bb:在实际项目开发过程中,后端完成接口一般较晚,而我们可以使用mock data来模拟数据,这样可以大大提高效率。

OK,接下来一起玩转mock吧!

第一步,当然是在项目中安装我们的mock插件,如图所示,这里的axios是为了可以模拟后台接口。


可以看到输入“npm install mockjs --save”的时候提示出错啦。

在我的环境中也安装了cnpm,在这里我重新输入“cnpm install mockjs --save”回车,没有错误,安装成功;接着安装了axios插件;

好的,安装成功。

第二步:建立如图所示的文件夹axios,并添加api.js文件;以及在components中添加mock.vue文件


创建文件夹+相关文件

第三步:修改main.js文件


修改main.js文件

第四步:mock.js

import Mock from 'mockjs' // 引入mockjs

const Random = Mock.Random // Mock.Random 是一个工具类,用于生成各种随机数据

let data = [] // 用于接受生成数据的数组

let size = [

  '300x250', '250x250', '240x400', '336x280',

  '180x150', '720x300', '468x60', '234x60',

  '88x31', '120x90', '120x60', '120x240',

  '125x125', '728x90', '160x600', '120x600',

  '300x600'

] // 定义随机值

for(let i = 0; i < 10; i ++) { // 可自定义生成的个数

  let template = {

    'Boolean': Random.boolean, // 可以生成基本数据类型

    'Natural': Random.natural(1, 10), // 生成1到100之间自然数

    'Integer': Random.integer(1, 100), // 生成1到100之间的整数

    'Float': Random.float(0, 100, 0, 5), // 生成0到100之间的浮点数,小数点后尾数为0到5位

    'Character': Random.character(), // 生成随机字符串,可加参数定义规则

    'String': Random.string(2, 10), // 生成2到10个字符之间的字符串

    'Range': Random.range(0, 10, 2), // 生成一个随机数组

    'Date': Random.date(), // 生成一个随机日期,可加参数定义日期格式

    'Image': Random.image(Random.size, '#02adea', 'Hello'), // Random.size表示将从size数据中任选一个数据

    'Color': Random.color(), // 生成一个颜色随机值

    'Paragraph':Random.paragraph(2, 5), //生成2至5个句子的文本

    'Name': Random.name(), // 生成姓名

    'Url': Random.url(), // 生成web地址

    'Address': Random.province() // 生成地址

  }

  data.push(template)

}

Mock.mock('/data/index', 'post', data) // 根据数据模板生成模拟数据

第五步:api.js

import axios from 'axios'

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

// 请求拦截器

axios.interceptors.request.use(function(config) {

    return config;

  }, function(error) {

    return Promise.reject(error);

  })

  // 响应拦截器

axios.interceptors.response.use(function(response) {

  return response;

}, function(error) {

  return Promise.reject(error);

})

// 封装axios的post请求

export function fetch(url, params) {

  return new Promise((resolve, reject) => {

    axios.post(url, params)

      .then(response => {

        resolve(response.data);

      })

      .catch((error) => {

        reject(error);

      })

  })

}

export default {

  mockdata(url, params) {

    return fetch(url, params);

  }

}

第六步:mock.vue
<template>

  <div>

  </div>

</template>

<script>

import api from './../axios/api.js'

export default {

  name: 'Mock',

  data () {

    return {

      dataShow: []

    }

  },

  created () {

    this.getdata()

  },

  methods: {

    getdata: function() {

      api.mockdata('/data/index')

      .then(res => {

        console.log(res);

        this.dataShow = res.data;

      })

    }

  }

}

</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->

<style scoped>

</style>

基本上就可以满足开发的需要了~~~~挖个坑得空再来补充+完善。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341