首先安装mockjs
npm install mockjs --save-dev
创建mock.js
//mock.js
const Mock = require("mockjs");
// const Random = Mock.Random // Mock.Random 是一个工具类,用于生成各种随机数据
const dataList = []
//用于接受生成数据的数组
for (let i = 0; i < 50; i++) { // 可自定义生成的个数
const template = {
"roleId": i,
"name": "admin" + i,
"remark": "超级管理员" + i,
"createBy": null,
"createTime": "2018-08-14T03:11:11.000+0000",
"lastUpdateBy": null,
"lastUpdateTime": null,
"delFlag": 0
}
dataList.push(template)
}
Mock.mock(/role\/query/, 'post', (params) => { //三个参数。第一个路径,第二个请求方式post/get,第三个回调,返回值
var info = JSON.parse(params.body)
var [index, size, total] = [info.params.pageIndex, info.params.pageSize, dataList.length]
var len = total / size
var totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len
var newDataList = dataList.slice((index - 1) * size, index * size)
return {
'code': '0',
'message': 'success',
'data': {
'pageIndex': index,
'pageSize': size,
'content': newDataList,
'total': total,
'totalPages': totalPages,
}
}
})
在main.js中引入mock.js
import './mock/index.js'
在组件中模拟请求
//role.vue
methods: {
// 获取数据
async getSysRoleData () {
try {
const url = '/role/query';
const { data: res } = await this.$http[4].post(url, {
params: {
pageIndex: this.query.pageIndex,
pageSize: this.query.pageSize
}
});
console.log("角色管理列表:", res.data)
} catch (err) {
console.dir(err);
this.$message.error({
message: err.message,
duration: 1500
});
}
},
}
