News.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. * 文章管理
  7. */
  8. namespace app\allwin\controller;
  9. use app\allwin\model\News as newsModel;
  10. class News extends Common{
  11. public function initialize()
  12. {
  13. parent::initialize();
  14. $this->assign('pathMaps', [['name'=>'新闻管理','url'=>url("news/index")]]);
  15. }
  16. /**
  17. * 列表
  18. */
  19. public function index(){
  20. $condition = [];
  21. $view['lists'] = newsModel::where($this->mini_program)->where($condition)->order('id desc')->paginate(20);
  22. return view()->assign($view);
  23. }
  24. /**
  25. * 添加
  26. */
  27. public function add(){
  28. if(request()->isAjax()){
  29. $data = [
  30. 'cate_id' => input('post.cate_id/d'),
  31. 'types' => input('post.types/d'),
  32. 'title' => input('post.title/s','','htmlspecialchars'),
  33. 'img' => input('post.img/s','','htmlspecialchars'),
  34. 'desc' => input('post.desc/s','','htmlspecialchars'),
  35. 'content' => input('post.content/s','','htmlspecialchars'),
  36. ];
  37. $validate = $this->validate($data,'news.save');
  38. if(true !== $validate){
  39. return json(['code'=>0,'msg'=>$validate]);
  40. }
  41. $cate = model('NewsCate')->field('name')->where(['id' => $data['cate_id']])->find();
  42. $data['cate_name'] = empty($cate['name']) ? '' : $cate['name'];
  43. $result = model('News')->edit($this->member_miniapp_id,$data);
  44. if($result){
  45. return json(['code'=>200,'url' => url('news/index'),'msg'=>'操作成功']);
  46. }else{
  47. return json(['code'=>0,'msg'=>'操作失败']);
  48. }
  49. }else{
  50. $view['cate'] = model('NewsCate')->where($this->mini_program)->order('sort desc,id desc')->select();
  51. return view()->assign($view);
  52. }
  53. }
  54. /**
  55. * 编辑
  56. */
  57. public function edit(){
  58. if(request()->isAjax()){
  59. $data = [
  60. 'id' => input('post.id/d'),
  61. 'cate_id' => input('post.cate_id/d'),
  62. 'types' => input('post.types/d'),
  63. 'title' => input('post.title/s','','htmlspecialchars'),
  64. 'img' => input('post.img/s','','htmlspecialchars'),
  65. 'desc' => input('post.desc/s','','htmlspecialchars'),
  66. 'content' => input('post.content/s','','htmlspecialchars'),
  67. ];
  68. $validate = $this->validate($data,'news.save');
  69. if(true !== $validate){
  70. return json(['code'=>0,'msg'=>$validate]);
  71. }
  72. $cate = model('NewsCate')->field('name')->where(['id' => $data['cate_id']])->find();
  73. $data['cate_name'] = empty($cate['name']) ? '' : $cate['name'];
  74. $result = model('News')->edit($this->member_miniapp_id,$data);
  75. if($result){
  76. return json(['code'=>200,'url' => url('news/index'),'msg'=>'操作成功']);
  77. }else{
  78. return json(['code'=>0,'msg'=>'操作失败']);
  79. }
  80. }else{
  81. $id = input('get.id/d');
  82. $view['info'] = model('News')->where(['id' => $id,'member_miniapp_id' => $this->member_miniapp_id])->find();
  83. $view['cate'] = model('NewsCate')->where($this->mini_program)->order('sort desc,id desc')->select();
  84. return view()->assign($view);
  85. }
  86. }
  87. /**
  88. * 删除
  89. */
  90. public function delete(int $id){
  91. $condition = [];
  92. $condition['id'] = $id;
  93. $result = model('News')->where($condition)->where($this->mini_program)->delete();
  94. if($result){
  95. return json(['code'=>200,'msg'=>'操作成功','data'=>[]]);
  96. }else{
  97. return json(['code'=>403,'msg'=>'操作失败']);
  98. }
  99. }
  100. }