Mock分页

前后端分离开发时,一般会使用mock。

因为mock是用node运行的,行为与调用后台一致。

这样,不需要等后台写好,只要有接口文档,前端可以自己调接口,这样联调时遇到的问题会少很多,可以加快整体开发效率。

而mock作为模拟数据自然也可以做分页,用Js的方法即可。

export default {
  
 
  'POST /api/xxxx/getDYDJ': (req, res) => {
    console.log(req.body)
    res.send({
        status: 200,
        message: 'ok',
        "data": {
          "total": "14",
          "curPage": req.body.curPage ? req.body.curPage : 1,
          "rows": getAllDYDJ(req.body)
        }
    });
  }


}

const citys = ['A', 'B', 'C', 'D, 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N']
const dydj = ['35kV', '110kV', '220kV', '330kV', '500kV']

const getDYDJ = () => {
  const result = []
  const base = {
    "a": "1",
    "b": "0%",
    "c": "2",
    "d": "0%",
    "e": "3",
    "f": "0%",
    "g": "4",
    "h": "0%",
    "i": "0"
  }
  dydj.forEach((item, index) => {
    const obj = {
      ...base,
      id: index + 1,
      name: item
    }
    result.push(obj)
  })
  return result
}
const getAllDYDJ = (body) => {
  const curPage = parseInt(body.curPage)
  const pageSize = parseInt(body.pageSize)

  const indexArr = [(curPage-1)*pageSize, curPage*pageSize]

  const result = []
  citys.forEach((item, index) => {
    const obj = {
      orgId: index + 1,
      seq: index + 1,
      orgName: item,
      dydj: getDYDJ()
    }
    result.push(obj)
  })
  return result.slice(indexArr[0], indexArr[1])
}

只要传入正确的分页参数就可以分页了。

猜你喜欢

转载自www.cnblogs.com/foxcharon/p/12152864.html