media.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. const Media = require('../module/Media');
  2. const Router = require('koa-router');
  3. const permission = require('../intercept/permission');
  4. const router = new Router();
  5. /**
  6. * 获取案例数据
  7. */
  8. router.get('/', async ctx => {
  9. let media = new Media();
  10. media.hide = 0;
  11. for (let key in ctx.request.query) {
  12. media[key] = ctx.request.query[key]
  13. }
  14. let result = await media.query()
  15. ctx.body = {
  16. msg: '成功获取数据',
  17. content: result
  18. }
  19. });
  20. /**
  21. * 添加案例
  22. */
  23. router.post('/', permission, async ctx => {
  24. let body = ctx.request.body;
  25. let media = new Media();
  26. media.cover = body.cover;
  27. media.text = body.text;
  28. media.zip = body.zip;
  29. media.language = body.language;
  30. media.sort = body.sort;
  31. media.type = body.type;
  32. let { insertId } = await media.insert()
  33. ctx.body = {
  34. msg: '成功添加!',
  35. insertId
  36. };
  37. });
  38. /**
  39. * 修改案例
  40. */
  41. router.put('/', permission, async ctx => {
  42. let body = ctx.request.body;
  43. let media = new Media();
  44. media.id = body.id;
  45. if (!await media.exists()) {
  46. ctx.error('该媒体不存在!')
  47. }
  48. media.cover = body.cover;
  49. media.text = body.text;
  50. media.zip = body.zip;
  51. media.sort = body.sort;
  52. media.language = body.language;
  53. media.type = body.type;
  54. await media.update()
  55. ctx.body = {
  56. msg: '成功修改!'
  57. };
  58. });
  59. /**
  60. * 删除案例
  61. */
  62. router.delete('/:id', permission, async ctx => {
  63. let id = ctx.params.id;
  64. (!id || !Number.isFinite(Number(id))) &&
  65. ctx.error('该案例不存在,请刷新后重试!');
  66. let media = new Media();
  67. media.id = id;
  68. media.hide = 0;
  69. (await media.exists()) ||
  70. ctx.error('该案例不存在,请刷新后重试!');
  71. media.hide = 1;
  72. await media.update();
  73. ctx.body = { msg: '成功删除!' };
  74. });
  75. module.exports = exports = { path: '/media', router };