News.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 小程序公共API服务
  7. */
  8. namespace app\green\controller\api\v1;
  9. use app\common\controller\Api;
  10. use app\green\model\GreenNews;
  11. use app\green\model\GreenNewsCate;
  12. use util\Util;
  13. class News extends Api{
  14. /**
  15. * 获取商城的配置
  16. * @return void
  17. */
  18. public function index(){
  19. $result = GreenNews::where(['member_miniapp_id' => $this->miniapp_id])->field('id,title,types,cate_name,cate_id,desc,views,img')->limit(8)->select();
  20. if(empty($result)){
  21. return enjson(403,'没有内容');
  22. }else{
  23. $data = [];
  24. foreach ($result as $key => $value) {
  25. $data[$key] = $value;
  26. $data[$key]['img'] = $value['img'].'?x-oss-process=style/300';
  27. $data[$key]['state_text'] = $value['types'] == 2 ? '热点' : '';
  28. }
  29. return enjson(200,'成功',$data);
  30. }
  31. }
  32. /**
  33. * 获取商城的配置
  34. * @return void
  35. */
  36. public function notice(){
  37. $result = GreenNews::where(['member_miniapp_id' => $this->miniapp_id,'types'=>4])->field('id,title')->find();
  38. if(empty($result)){
  39. return enjson(204,'空');
  40. }else{
  41. return enjson(200,'成功',$result);
  42. }
  43. }
  44. /**
  45. * 新闻分类
  46. * @return void
  47. */
  48. public function cate(){
  49. $data = GreenNewsCate::where(['member_miniapp_id' => $this->miniapp_id])->field('id,picture,name')->order('sort desc,id desc')->select()->toArray();
  50. return enjson(200,'成功',$data);
  51. }
  52. /**
  53. * 新闻列表
  54. * @return void
  55. */
  56. public function lists(int $cate_id){
  57. $result = GreenNews::where(['member_miniapp_id' => $this->miniapp_id,'cate_id' => $cate_id])->field('id,title,types,cate_name,cate_id,desc,views,img,update_time')->paginate(20,true)->toArray();
  58. if(empty($result)){
  59. return enjson(204,'空');
  60. }else{
  61. $data = [];
  62. foreach ($result['data'] as $key => $value) {
  63. $data[$key] = $value;
  64. $data[$key]['update_time'] = Util::ftime($value['update_time']);
  65. }
  66. return enjson(200,'成功',$data);
  67. }
  68. }
  69. }