Cate.php 3.6 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\ais\controller\info;
  9. use app\ais\controller\Common;
  10. use app\ais\model\AisInfoCate;
  11. use app\ais\model\AisInfo;
  12. use app\ais\model\AisInfoTpl;
  13. class Cate extends Common{
  14. public function initialize() {
  15. parent::initialize();
  16. $this->assign('pathMaps',[['name'=>'信息分类','url'=>url("info.cate/index")]]);
  17. }
  18. /**
  19. * 列表
  20. */
  21. public function index(){
  22. $view['lists'] = AisInfoCate::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->paginate(20);
  23. $view['tabs'] = [
  24. ['name' =>'主题管理','url' =>url('info.cate/index'),'action' => 1],
  25. ['name' =>'模板库','url' =>url('info.tpl/index')],
  26. ['name' =>'推广设置','url' =>url('setting/info')],
  27. ];
  28. return view()->assign($view);
  29. }
  30. //编辑
  31. public function edit(){
  32. if(request()->isAjax()){
  33. $data = [
  34. 'id' => $this->request->param('id/d',0),
  35. 'title' => $this->request->param('title/s'),
  36. 'name' => $this->request->param('name/s'),
  37. 'sort' => $this->request->param('sort/d',0),
  38. 'tpl_id' => $this->request->param('tpl_id/d'),
  39. ];
  40. $validate = $this->validate($data,'Category.edit');
  41. if(true !== $validate){
  42. return json(['code'=>0,'msg'=>$validate]);
  43. }
  44. if($data['tpl_id']){
  45. $tpl = AisInfoTpl::where($this->mini_program)->where(['id'=>$data['tpl_id']])->field('fields')->find();
  46. $data['fields'] = empty($tpl)?'[]' : $tpl->fields;
  47. }else{
  48. $data['fields'] = '[]';
  49. }
  50. $result = AisInfoCate::edit($data);
  51. if($result){
  52. return json(['code'=>200,'url'=>url('info.cate/index'),'msg'=>'操作成功']);
  53. }else{
  54. return json(['code'=>0,'msg'=>'操作失败']);
  55. }
  56. }else{
  57. $view['id'] = $this->request->param('id/d',0);
  58. $view['info']= AisInfoCate::where($this->mini_program)->where(['id' => $view['id']])->find();
  59. $view['tpl'] = AisInfoTpl::where($this->mini_program)->order('id asc')->select();
  60. return view('edit',$view);
  61. }
  62. }
  63. /**
  64. * 排序
  65. */
  66. public function sort(){
  67. if(request()->isAjax()){
  68. $data = [
  69. 'sort' => $this->request->param('sort/d'),
  70. 'id' => $this->request->param('id/d'),
  71. ];
  72. $validate = $this->validate($data,'Cate.sort');
  73. if(true !== $validate){
  74. return json(['code'=>0,'msg'=>$validate]);
  75. }
  76. $result = AisInfoCate::update(['sort'=>$data['sort'],'id' => $data['id']]);
  77. if($result){
  78. return enjson(200);
  79. }else{
  80. return enjson(0);
  81. }
  82. }
  83. }
  84. //删除
  85. public function delete(){
  86. $id = $this->request->param('id/d');
  87. $info = AisInfo::where(['cate_id' => $id])->count();
  88. if($info){
  89. return enjson(0,'删除失败,栏目中还包含内容');
  90. }
  91. $result = AisInfoCate::where(['id'=>$id,'member_miniapp_id' => $this->member_miniapp_id])->delete();
  92. if($result){
  93. return enjson(200);
  94. }else{
  95. return enjson(0);
  96. }
  97. }
  98. }