index.mjs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import Router from '@koa/router';
  2. const router = new Router();
  3. // 定义一些静态数据
  4. const users = [
  5. {
  6. id: 1,
  7. name: '果果',
  8. age: 18,
  9. },
  10. {
  11. id: 2,
  12. name: '静静',
  13. age: 38,
  14. },
  15. {
  16. id: 3,
  17. name: '欣欣',
  18. age: 18,
  19. },
  20. {
  21. id: 4,
  22. name: '诗诗',
  23. age: 28,
  24. },
  25. ];
  26. router
  27. // 获取所有用户数据
  28. .get('/', (ctx) => {
  29. //! 如果响应数据类型 赋值为 一个对象,那么koa会自动设置响应头content-type = application/json;chartset=utf-8
  30. ctx.body = users;
  31. })
  32. // 分页获取数据
  33. // 思考:1 是get还是post;get 2 需要给服务端 传递数据吗? 当前页码current and 每页条数count
  34. .get('/page', (ctx) => {
  35. // ? 如何获取用户传递过来的参数current以及count?
  36. //! koa框架 会 自动处理所有请求的查询参数 -- 在处理路由时,可以直接通过ctx.query来获取所有的查询参数
  37. // ctx.query 获取所有转译后查询参数对象
  38. // console.log(ctx.query);
  39. const { current, count } = ctx.query;
  40. // 从总数据的数组中正确的截取出我们想要的那些数据
  41. // 1 用数组的slice方法 进行 数据截取
  42. // 1: [0,1) 2: [1, 2) 3: [2, 3)... m: [(m-1)*count, count * m )
  43. ctx.body = users.slice((current - 1) * count, current * count);
  44. });
  45. export default router;