r_news.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 log = require("../logger").logger("r_news","info");
  7. router.get(
  8. '/search',
  9. async (req, res) => {
  10. try{
  11. let err, result;
  12. let {key, l, p, type} = req.query;
  13. type = type || 'all';
  14. l = typeTool.toNumber(l);
  15. p = typeTool.toNumber(p);
  16. log.info(`page=${p},limit=${l}`);
  17. [err, result] = await c_solution.searchNews(type, key, p, l);
  18. if(err){
  19. return controlError(res, err, null);}
  20. log.info(`result len=${result.arr.length}`)
  21. searchSuccess(res,
  22. result.arr,
  23. result.total,
  24. result.page,
  25. result.limit,
  26. );
  27. }catch (e) {
  28. ServerError(res, null, e.message);
  29. }
  30. });
  31. router.get('/mini', async (req, res) => {
  32. try{
  33. log.info(`[搜索文章] 只获取基础值`)
  34. let err, result;
  35. let {key, l, p, type} = req.query;
  36. type = type || 'all';
  37. l = typeTool.toNumber(l);
  38. p = typeTool.toNumber(p);
  39. log.info(`page=${p},limit=${l}`);
  40. [err, result] = await c.searchNewsByMini(type, key, p, l);
  41. if(err){
  42. log.info(`[搜索文章] err=${err}`);
  43. return controlError(res, err, null);}
  44. log.info(`result len=${result.arr.length}`)
  45. searchSuccess(res,
  46. result.arr,
  47. result.total,
  48. result.page,
  49. result.limit,
  50. );
  51. }catch (e) {
  52. ServerError(res, null, e.message);
  53. }
  54. });
  55. router.get('/read',async(req,res)=>{
  56. try{
  57. let err, result;
  58. let {id} = req.query;
  59. id = typeTool.toNumber(id);
  60. if(!id){
  61. paramFail(res, "id is required");
  62. return;
  63. }
  64. [err, result] = await c.addReadNum(id);
  65. if(err){ return controlError(res, err, null);}
  66. success(res, result);
  67. }catch (e) {
  68. ServerError(res, null, e.message);
  69. }
  70. })
  71. module.exports = router;