mock.js虚拟数据

92 阅读1分钟
import Mock from 'mockjs';
// 内存模拟数据
const mock = () => {
  const arr = []
  for (let i = 0; i < 10; i++) {
      //循环添加5条数据到arr里
    arr.push({
      id: Mock.mock(Math.random()),
      'agentCore': Mock.mock(/[A-Z]{7}/),
      'departureStationCode':  Mock.mock(/(ALL)|(DOM)|(INT)/),
      deleted:'0'
    })
  }
  return arr
}
//数据初始化
let arr = mock()

//获取初始数据
Mock.mock('/queryList', 'post', (options) => {
  return {
    status: 200,
    message: '获取成功',
    list: arr
  }
})
//根据id删除数据
Mock.mock('/del', 'post', (options) => {
  console.log(options);
  const body = JSON.parse(options.body)
  // console.log('body为',body);
  //主要要将过滤后的数组重新赋值给arr
  arr = arr.map(item => item.id == body.id?{...item,deleted:'1'}:item)
  // arr = arr.map(item => item.id == body.id)
  return {
    status: 200,
    message: '删除成功',
    list: arr
  }
})
// 新增
Mock.mock('/saveVouchingPermissionInfo','post',(options)=>{
  const body = JSON.parse(options.body)
  arr.unshift(body)
  body.id=Date.now();
  console.log('body为',body);
  return {
    status: 200,
    message: '新增成功',
    list: arr
  }
})
// 根据id查询
Mock.mock('/info','post',(options)=>{
  const body = JSON.parse(options.body)
  console.log('body为',body);
  return {
    status: 200,
    message: '查询成功',
    list: arr.filter(item=>item.id===body.id)[0]
  }
})
// 更新修改
Mock.mock('/updateVouchingPermissionInfo','post',(options)=>{
  const body = JSON.parse(options.body)
  console.log('body为',body);
  arr=arr.map(item => item.id == body.id?{...item,...body}:item)
  return {
    status: 200,
    message: '修改成功',
    list: arr
  }
})