r_news.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. const router = require('express').Router();
  2. const {paramFail, ServerError, success, controlError, searchSuccess} = require("../tools/result");
  3. const c_solution = require("../control/c_solution");
  4. const typeTool = require("../tools/typeTool_cjs");
  5. const c = require("../control/c_news");
  6. const {isEmpty} = require("../tools/typeTool_cjs");
  7. const log = require("../logger").logger("r_news","info");
  8. router.get(
  9. '/search',
  10. async (req, res) => {
  11. try{
  12. let err, result;
  13. let {key, l, p, type} = req.query;
  14. type = type || 'all';
  15. l = typeTool.toNumber(l);
  16. p = typeTool.toNumber(p);
  17. log.info(`page=${p},limit=${l}`);
  18. [err, result] = await c_solution.searchNews(type, key, p, l);
  19. if(err){
  20. return controlError(res, err, null);}
  21. log.info(`result len=${result.arr.length}`)
  22. searchSuccess(res,
  23. result.arr,
  24. result.total,
  25. result.page,
  26. result.limit,
  27. );
  28. }catch (e) {
  29. ServerError(res, null, e.message);
  30. }
  31. });
  32. router.get(
  33. '/pages',
  34. async (req, res) => {
  35. try{
  36. log.info(`获取所有文章接口`)
  37. let err, result;
  38. let {key, l, p, type ,pType} = req.query;
  39. type = type || 'all';
  40. pType = pType || 'all';
  41. l = typeTool.toNumber(l);
  42. p = typeTool.toNumber(p);
  43. log.info(`page=${p},limit=${l}`);
  44. [err, result] = await c_solution.searchAllNews(pType, type, key, p, l);
  45. if(err){
  46. return controlError(res, err, null);}
  47. log.info(`result len=${result.arr.length}`)
  48. searchSuccess(res,
  49. result.arr,
  50. result.total,
  51. result.page,
  52. result.limit,
  53. );
  54. }catch (e) {
  55. ServerError(res, null, e.message);
  56. }
  57. });
  58. router.get('/mini', async (req, res) => {
  59. try{
  60. log.info(`[搜索文章] 只获取基础值`)
  61. let err, result;
  62. let {key, l, p, type} = req.query;
  63. type = type || 'all';
  64. l = typeTool.toNumber(l);
  65. p = typeTool.toNumber(p);
  66. log.info(`page=${p},limit=${l}`);
  67. [err, result] = await c.searchNewsByMini(type, key, p, l);
  68. if(err){
  69. log.info(`[搜索文章] err=${err}`);
  70. return controlError(res, err, null);}
  71. log.info(`result len=${result.arr.length}`)
  72. searchSuccess(res,
  73. result.arr,
  74. result.total,
  75. result.page,
  76. result.limit,
  77. );
  78. }catch (e) {
  79. ServerError(res, null, e.message);
  80. }
  81. });
  82. router.get('/read',async(req,res)=>{
  83. try{
  84. let err, result;
  85. let {id} = req.query;
  86. id = typeTool.toNumber(id);
  87. if(!id){
  88. paramFail(res, "id is required");
  89. return;
  90. }
  91. [err, result] = await c.addReadNum(id);
  92. if(err){ return controlError(res, err, null);}
  93. success(res, result);
  94. }catch (e) {
  95. ServerError(res, null, e.message);
  96. }
  97. })
  98. module.exports = router;