StoreInfoMana.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?php
  2. namespace app\admin\controller\store;
  3. use app\admin\controller\AuthController;
  4. use app\admin\library\FormBuilder;
  5. use service\UtilService as Util;
  6. use service\JsonService as Json;
  7. use service\UploadService as Upload;
  8. use think\Request;
  9. use think\Url;
  10. use app\admin\model\wechat\ArticleCategory as ArticleCategoryModel;
  11. use app\admin\model\wechat\WechatNews as WechatNewsModel;
  12. /**
  13. * 资讯管理 控制器
  14. * Class StoreInfoMana
  15. * @package app\admin\controller\store
  16. */
  17. class StoreInfoMana extends AuthController
  18. {
  19. /**
  20. * 新闻管理
  21. * */
  22. public function index($is_list=0){
  23. if(!$is_list) return $this->failed('数据不存在');
  24. echo $is_list;
  25. exit();
  26. $where = Util::getMore([
  27. ['status',''],
  28. ['title',''],
  29. ],$this->request);
  30. $this->assign('where',$where);
  31. $this->assign(ArticleCategoryModel::systemPage($where));
  32. return $this->fetch();
  33. }
  34. /**
  35. * 添加分类管理
  36. * */
  37. public function create(){
  38. FormBuilder::text('title','分类昵称');
  39. FormBuilder::textarea('intr','分类简介');
  40. FormBuilder::select('new_id','图文列表',function(){
  41. $list = \app\admin\model\wechat\WechatNews::getNews();
  42. $options = [];
  43. foreach ($list as $id=>$roleName){
  44. $options[] = ['label'=>$roleName,'value'=>$id];
  45. }
  46. return $options;
  47. })->multiple()->filterable();
  48. FormBuilder::upload('image','分类图片');
  49. FormBuilder::number('sort','排序',0);
  50. FormBuilder::radio('status','状态',[['value'=>1,'label'=>'显示'],['value'=>0,'label'=>'隐藏']],1);
  51. $rules = FormBuilder::builder()->getContent();
  52. $this->assign(['title'=>'编辑菜单','rules'=>$rules,'save'=>Url::build('save')]);
  53. return $this->fetch();
  54. }
  55. /**
  56. * s上传图片
  57. * */
  58. public function upload(){
  59. $res = Upload::image('file','article');
  60. $thumbPath = Upload::thumb($res->dir);
  61. if($res->status == 200)
  62. return Json::successful('图片上传成功!',['name'=>$res->fileInfo->getSaveName(),'url'=>Upload::pathToUrl($thumbPath)]);
  63. else
  64. return Json::fail($res->error);
  65. }
  66. /**
  67. * 保存分类管理
  68. * */
  69. public function save(Request $request){
  70. $data = Util::postMore([
  71. 'title',
  72. 'intr',
  73. ['new_id',[]],
  74. ['image',[]],
  75. ['sort',0],
  76. 'status',],$request);
  77. if(!$data['title']) return Json::fail('请输入分类名称');
  78. if(count($data['image']) != 1) return Json::fail('请选择分类图片,并且只能上传一张');
  79. if($data['sort'] < 0) return Json::fail('排序不能是负数');
  80. $data['add_time'] = time();
  81. $data['image'] = $data['image'][0];
  82. $new_id = $data['new_id'];
  83. unset($data['new_id']);
  84. $res = ArticleCategoryModel::set($data);
  85. if(!WechatNewsModel::saveBatchCid($res['id'],implode(',',$new_id))) return Json::fail('文章列表添加失败');
  86. return Json::successful('添加分类成功!');
  87. }
  88. /**
  89. * 修改分类
  90. * */
  91. public function edit($id){
  92. $this->assign(['title'=>'编辑菜单','read'=>Url::build('read',array('id'=>$id)),'update'=>Url::build('update',array('id'=>$id))]);
  93. return $this->fetch();
  94. }
  95. public function read($id)
  96. {
  97. $article = ArticleCategoryModel::get($id)->getData();
  98. if(!$article) return Json::fail('数据不存在!');
  99. FormBuilder::text('title','分类昵称',$article['title']);
  100. FormBuilder::textarea('intr','分类简介',$article['intr']);
  101. $arr = ArticleCategoryModel::getArticle($id,'id,title,cid');//子文章
  102. $new_id = array();
  103. foreach ($arr as $k=>$v){
  104. $new_id[$k] = $k;
  105. }
  106. FormBuilder::select('new_id','文章列表',function(){
  107. $list = \app\admin\model\wechat\WechatNews::getNews();
  108. $options = [];
  109. foreach ($list as $id=>$roleName){
  110. $options[] = ['label'=>$roleName,'value'=>$id];
  111. }
  112. return $options;
  113. },$new_id)->multiple();
  114. FormBuilder::upload('image','分类图片')->defaultFileList($article['image']);
  115. FormBuilder::number('sort','排序',$article['sort']);
  116. FormBuilder::radio('status','状态',[['value'=>1,'label'=>'显示'],['value'=>0,'label'=>'隐藏']],$article['status']);
  117. return FormBuilder::builder();
  118. }
  119. public function update(Request $request, $id)
  120. {
  121. $data = Util::postMore([
  122. 'title',
  123. 'intr',
  124. ['new_id',[]],
  125. ['image',[]],
  126. ['sort',0],
  127. 'status',],$request);
  128. if(!$data['title']) return Json::fail('请输入分类名称');
  129. if(count($data['image']) != 1) return Json::fail('请选择分类图片,并且只能上传一张');
  130. if($data['sort'] < 0) return Json::fail('排序不能是负数');
  131. $data['image'] = $data['image'][0];
  132. // dump($data);
  133. // exit;
  134. if(!ArticleCategoryModel::get($id)) return Json::fail('编辑的记录不存在!');
  135. if(!WechatNewsModel::saveBatchCid($id,implode(',',$data['new_id']))) return Json::fail('文章列表添加失败');
  136. unset($data['new_id']);
  137. ArticleCategoryModel::edit($data,$id);
  138. return Json::successful('修改成功!');
  139. }
  140. /**
  141. * 删除分类
  142. * */
  143. public function delete($id)
  144. {
  145. $res = ArticleCategoryModel::delArticleCategory($id);
  146. if(!$res)
  147. return Json::fail(ArticleCategoryModel::getErrorInfo('删除失败,请稍候再试!'));
  148. else
  149. return Json::successful('删除成功!');
  150. }
  151. }