Mock.js mysql_vue利用mockjs模拟后端数据axios接口

在前后端的交互中经常会遇到前端等后端的数据接口上线,才好做一些bug方面的调试。这中间的时间成本会大大加大项目的时间成本从而产生滞后效应。

我了解到的可以模拟后端接口的有两种工具,一个是阿里爸爸出产的RAP,可以说是复刻了一个后端出来,所以安装注册起来相对来说麻烦一些,要准备好Tomcat,java,mysql等。另一个就是vue原生的mockjs了,只需要在项目中install就可以使用了。

生成随机数据

拦截ajax、axios请求

mockjs的文档查阅

30776b416bd6

mock官网.png

30776b416bd6

官方文档.png

下载后就可以在本地查看官方文档来解决大部分问题了

vue中mockjs的使用

一、安装mockjs

使用cli脚手架安装vue项目

npm安装mockjs

//cnpm会更快点

(c)npm install mockjs

二、引入mockjs

在项目目录下创建新的文件,格式如下:

30776b416bd6

mock文件.png

2.在index.js中引入mockjs

import Mock from 'mockjs'

3.在main.js中引入

import Vue from 'vue'

import App from './App.vue'

import './mock/index'

Vue.config.productionTip = false

new Vue({

render: h => h(App)

}).$mount('#app')

三、mock实例

在index.js中创建一组指定实例

import Mock from 'mockjs'

const data = Mock.mock({

// "|"后的数字表示生成几组数据

'string|1-4': '哎呦!'

})

console.log(data)

效果如图:

30776b416bd6

哎呦.png

在index.js中生成一组随机数据

import Mock from 'mockjs'

const data = Mock.mock({

// 随机生成字符串,括号中是字符串的个数,c代表生成的是中文

string: '@cword(3)'

})

console.log(data)

效果如图:

30776b416bd6

随机字符串png

常用到的数据类型:(可在官网实例上查看)

文本: string

标题: titlle

句子: sentence

数字: number

数组: object

四、模拟axios/ajax请求

安装axios先

npm install axios

模拟get请求

在index.js中定义get请求

import Mock from 'mockjs'

// 定义get请求

Mock.mock('/api/news', 'get', {

status: 200,

meg: '获取数据成功',

user_name: '@cword'

})

在app.vue中引入axios

import axios from 'axios'

export default {

data() {

return {}

},

created() {

axios.get('/api/news').then(res => {

console.log(res)

})

}

}

上图:

30776b416bd6

get请求.png

模拟post请求

同理,index.js加入

Mock.mock('/api/post/news', 'post', {

status: 200,

meg: '获取数据成功'

})

app.vue中加入

axios.post('/api/post/news').then(res => {

console.log(res)

})

30776b416bd6

post请求.png

get模拟批量数据

需要将数据接口转化成函数模式

const { cardList } = Mock.mock({

'cardList|10-20': [{

status: 0,

user_id: '@phone',

user_name: Mock.Random.name(),

phone: '@phone',

avatar_url: Mock.Random.image('200x200', '#ff6600', '#FCFCFC'),

university_id: '@cword(5)',

user_word: '@cword(10)',

occupation: Mock.Random.pick('职友', '学生'),

profession: '@cword(4)技术',

'age|1-90': 90,

sex: Mock.Random.pick('男', '女'),

label: Mock.mock({

'array|1-10': [

{

'name|+1': [

'Hello',

'Mock.js',

'!'

]

}

]

}),

'followers|1-200': 200,

'followings|1-200': 200,

'friends|1-200': 200,

'collection|1-100': 100,

realnames: '@boolean',

'activities|1-200': 200

}]

})

Mock.mock('/card_get', 'get', () => {

return {

list: cardList

}

})

在vue中调用这个接口可见到数据:

30776b416bd6

get批量png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值