Consult.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\admin\controller\article;
  12. use app\admin\controller\AuthController;
  13. use service\FormBuilder as Form;
  14. use service\JsonService as Json;
  15. use service\UploadService as Upload;
  16. use think\Request;
  17. use think\Url;
  18. use app\admin\model\article\ArticleContent as ArticleContentContentModel;
  19. use app\admin\model\article\Article as WechatNewsModel;
  20. use traits\CurdControllerTrait;
  21. /**
  22. * 活动咨询控制器
  23. * Class Consult
  24. * @package app\admin\controller\wechat
  25. */
  26. class Consult extends AuthController
  27. {
  28. use CurdControllerTrait;
  29. protected $bindModel = ArticleContentContentModel::class;
  30. public function edit_content($id, $type = 'content')
  31. {
  32. if (!$id) return $this->failed('数据不存在');
  33. $news = WechatNewsModel::get($id);
  34. if (!$news) return Json::fail('数据不存在!');
  35. $this->assign([
  36. 'content' => ArticleContentContentModel::where('nid', $id)->value($type),
  37. 'field' => $type,
  38. 'action' => Url::build('consult_field', ['id' => $id, 'field' => $type])
  39. ]);
  40. return $this->fetch('public/edit_content');
  41. }
  42. public function index()
  43. {
  44. $where = parent::getMore([
  45. ['consult_type', 0],
  46. ['title', ''],
  47. ], $this->request);
  48. $this->assign('where', $where);
  49. $this->assign(WechatNewsModel::getConsultList($where));
  50. return $this->fetch();
  51. }
  52. public function create()
  53. {
  54. $field = [
  55. Form::text('title', '文章标题'),
  56. Form::frameImages('consult_image', '产品轮播图(640*640px)', Url::build('admin/widget.images/index', array('fodder' => 'consult_image')))->maxLength(5)->icon('images')->width('100%')->height('550px')->spin(0),
  57. Form::number('visit', '浏览量', 0),
  58. Form::number('sort', '排序', 0),
  59. Form::radio('status', '状态', 0)->options([['label' => '显示', 'value' => 1], ['label' => '隐藏', 'value' => 0]])->col(8)
  60. ];
  61. $form = Form::create(Url::build('save'));
  62. $form->setMethod('post')->setTitle('编辑文章')->components($field)->setSuccessScript('parent.$(".J_iframe:visible")[0].contentWindow.location.reload();');
  63. $this->assign(compact('form'));
  64. return $this->fetch('public/form-builder');
  65. }
  66. /**
  67. * s上传图片
  68. * */
  69. public function upload()
  70. {
  71. $res = Upload::image('file', 'article');
  72. $thumbPath = Upload::thumb($res->dir);
  73. if ($res->status == 200)
  74. return Json::successful('图片上传成功!', ['name' => $res->fileInfo->getSaveName(), 'url' => Upload::pathToUrl($thumbPath)]);
  75. else
  76. return Json::fail($res->error);
  77. }
  78. public function save(Request $request)
  79. {
  80. $data = parent::postMore([
  81. ['title', ''],
  82. ['consult_image', []],
  83. ['visit', 0],
  84. ['sort', 0],
  85. ['consult_type', 1],
  86. ['status', 0],
  87. ], $request);
  88. if (!strlen(trim($data['title']))) return Json::fail('请输入文章名称');
  89. if (!count($data['consult_image'])) return Json::fail('请上传图片');
  90. if ($data['sort'] < 0) return Json::fail('排序不能是负数');
  91. $data['add_time'] = time();
  92. $data['is_consult'] = 1;
  93. $data['hide'] = 0;
  94. $data['is_hot'] = 1;
  95. $data['status'] = (int)$data['status'];
  96. $data['consult_image'] = implode(',', $data['consult_image']);
  97. $res = WechatNewsModel::set($data);
  98. if (!$res) return Json::fail('文章添加失败');
  99. return Json::successful('添加文章成功!');
  100. }
  101. public function edit($id)
  102. {
  103. $article = WechatNewsModel::get($id);
  104. if (!$article) return Json::fail('数据不存在!');
  105. $form = Form::create(Url::build('update', array('id' => $id)), [
  106. Form::text('title', '文章标题', $article->getData('title')),
  107. Form::frameImages('consult_image', '产品轮播图(640*640px)', Url::build('admin/widget.images/index', array('fodder' => 'consult_image')), explode(',', $article->getData('consult_image')))->maxLength(5)->icon('images')->width('100%')->height('550px')->spin(0),
  108. Form::number('visit', '浏览量', $article->getData('visit')),
  109. Form::number('sort', '排序', $article->getData('sort')),
  110. Form::radio('status', '状态', $article->getData('status'))->options([['label' => '显示', 'value' => 1], ['label' => '隐藏', 'value' => 0]])->col(8)
  111. ]);
  112. $form->setMethod('post')->setTitle('编辑文章')->setSuccessScript('parent.$(".J_iframe:visible")[0].contentWindow.location.reload();');
  113. $this->assign(compact('form'));
  114. return $this->fetch('public/form-builder');
  115. }
  116. public function update(Request $request, $id)
  117. {
  118. $data = parent::postMore([
  119. ['title', ''],
  120. ['consult_image', []],
  121. ['visit', 0],
  122. ['sort', 0],
  123. ['consult_type', 1],
  124. ['status', 0],
  125. ], $request);
  126. if (!strlen(trim($data['title']))) return Json::fail('请输入文章名称');
  127. if (!count($data['consult_image'])) return Json::fail('请上传图片');
  128. if ($data['sort'] < 0) return Json::fail('排序不能是负数');
  129. $data['consult_image'] = implode(',', $data['consult_image']);
  130. $data['status'] = (int)$data['status'];
  131. if (!WechatNewsModel::get($id)) return Json::fail('编辑的记录不存在!');
  132. $res = WechatNewsModel::edit($data, $id);
  133. if (!$res) return Json::fail('修改失败');
  134. return Json::successful('修改成功!');
  135. }
  136. public function delete($id)
  137. {
  138. $res = WechatNewsModel::edit(['hide' => 1], $id);
  139. if (!$res) return Json::fail('删除失败,请稍候再试!');
  140. else return Json::successful('删除成功!');
  141. }
  142. }