NewsController.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\FrontController;
  4. use App\Models\NewsModels\News;
  5. use App\Servers\Common\CommonServer;
  6. class NewsController extends FrontController
  7. {
  8. public function __construct()
  9. {
  10. parent::__construct();
  11. }
  12. /**
  13. * 获取新闻列表
  14. * @return \Illuminate\Http\JsonResponse
  15. */
  16. function getList(){
  17. //查询数据条件
  18. $where = [['is_del',0]];
  19. //获取数据
  20. $list = News::where($where)
  21. ->select(['id','image','cn_title','en_title','created_at'])
  22. ->orderBy('is_top','desc')
  23. ->orderBy('sort','asc')
  24. ->paginate(10);
  25. $cn_data = [];
  26. $en_data = [];
  27. foreach ($list as $value){
  28. $cn['title'] = $value['cn_title'];
  29. $cn['id'] = $value['id'];
  30. $cn['image'] = $value['image'];
  31. $cn['created_at'] = date('Y年m月d日',strtotime($value['created_at']));
  32. $en['title'] = $value['en_title'];
  33. $en['id'] = $value['id'];
  34. $en['image'] = $value['image'];
  35. $en['created_at'] = date('Y年m月d日',strtotime($value['created_at']));
  36. $cn_data[] = $cn;
  37. $en_data[] = $en;
  38. }
  39. $cn_datas['items'] = $cn_data;
  40. $en_datas['items'] = $en_data;
  41. return $this->apiResponseSuccess('获取列表成功', [
  42. 'cn' => $cn_datas,
  43. 'en' => $en_datas,
  44. 'total' => $list->total(),
  45. 'limit' => 10,
  46. ]);
  47. }
  48. /**
  49. * 获取新闻详情
  50. * @return \Illuminate\Http\JsonResponse
  51. */
  52. function getInfo(){
  53. $id = CommonServer::creatServer()->filtrationStr('id');//获取需要查询的记录id
  54. if(empty($id)) return $this->apiResponseError('请选择正确新闻');
  55. //查询数据
  56. $info = News::where('id',$id)->first();
  57. if(empty($info)) return $this->apiResponseError('新闻不存在');
  58. $data= [];
  59. $data['cn']['title'] = $info['cn_title'];
  60. $data['cn']['content'] = $info['cn_content'];
  61. $data['en']['title'] = $info['en_title'];
  62. $data['en']['content'] = $info['en_content'];
  63. $data['created_at'] = date('Y.m.d',strtotime($info['created_at']));
  64. return $this->apiResponseSuccess('获取成功', $data);
  65. }
  66. }