home_news.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. const HomeNews = require('../module/HomeNews');
  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 hnews = new HomeNews();
  10. hnews.hide = 0;
  11. for (let key in ctx.request.query) {
  12. hnews[key] = ctx.request.query[key]
  13. }
  14. let result = await hnews.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 hnews = new HomeNews();
  26. hnews.cover = body.cover;
  27. hnews.text = body.text;
  28. hnews.title = body.title;
  29. hnews.language = body.language;
  30. hnews.nid = body.nid;
  31. hnews.sort = body.sort;
  32. let { insertId } = await hnews.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 hnews = new HomeNews();
  44. hnews.id = body.id;
  45. if (!await hnews.exists()) {
  46. ctx.error('该案例不存在!')
  47. }
  48. hnews.cover = body.cover;
  49. hnews.text = body.text;
  50. hnews.title = body.title;
  51. hnews.language = body.language;
  52. hnews.sort = body.sort;
  53. await hnews.update()
  54. ctx.body = {
  55. msg: '成功修改!'
  56. };
  57. });
  58. /**
  59. * 删除案例
  60. */
  61. router.delete('/:id', permission, async ctx => {
  62. let id = ctx.params.id;
  63. (!id || !Number.isFinite(Number(id))) &&
  64. ctx.error('该案例不存在,请刷新后重试!');
  65. let hnews = new HomeNews();
  66. hnews.id = id;
  67. hnews.hide = 0;
  68. (await hnews.exists()) ||
  69. ctx.error('该案例不存在,请刷新后重试!');
  70. hnews.hide = 1;
  71. await hnews.update();
  72. ctx.body = { msg: '成功删除!' };
  73. });
  74. module.exports = exports = { path: '/home_news', router };