171 行
4.2 KiB
PHP
171 行
4.2 KiB
PHP
<?php
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use app\common\controller\Backend;
|
|
use app\common\model\NoticeModel;
|
|
|
|
/**
|
|
* 公告管理
|
|
* Class Content
|
|
* @package app\admin\controller
|
|
*/
|
|
class Notice extends Backend
|
|
{
|
|
|
|
/**
|
|
* 模型对象
|
|
* @var \app\common\model\NoticeModel
|
|
*/
|
|
protected $model = null;
|
|
|
|
public function _initialize()
|
|
{
|
|
parent::_initialize();
|
|
$this->model = new NoticeModel();
|
|
}
|
|
|
|
/**
|
|
* 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
|
|
* 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
|
|
* 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
|
|
*/
|
|
|
|
/**
|
|
* 获取列表
|
|
* @return mixed|string|\think\response\Json
|
|
* @throws \think\exception\DbException
|
|
*/
|
|
public function index()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$page = input('param.page/d', 1);
|
|
$rows = input('param.rows/d', 20);
|
|
$search = input('param.search/a', '');
|
|
$result = $this->model->getLists([
|
|
'search' => $search,
|
|
], $rows, $page);
|
|
|
|
return json($result);
|
|
}
|
|
|
|
return $this->fetch();
|
|
}
|
|
|
|
/**
|
|
* 更改状态
|
|
* @return \think\response\Json
|
|
*/
|
|
public function status()
|
|
{
|
|
$data = input('param.');
|
|
$editData = [
|
|
'id' => $data['id'],
|
|
'status' => $data['status']
|
|
];
|
|
|
|
if ($this->model->edit($editData)) {
|
|
return json([
|
|
'code' => 200,
|
|
'msg' => '更改成功'
|
|
]);
|
|
} else {
|
|
return json([
|
|
'code' => 400,
|
|
'msg' => '更改失败'
|
|
]);
|
|
}
|
|
}
|
|
|
|
// 添加/编辑
|
|
public function add()
|
|
{
|
|
$data = input('post.');
|
|
if (!empty($data)) {
|
|
// 添加
|
|
if (empty($data['id'])) {
|
|
|
|
unset($data['id']);
|
|
|
|
$data['create_time'] = time();
|
|
|
|
if ($this->model->add($data)) {
|
|
return json([
|
|
'code' => 200,
|
|
'msg' => '添加成功'
|
|
]);
|
|
} else {
|
|
return json([
|
|
'code' => 400,
|
|
'msg' => '添加失败'
|
|
]);
|
|
}
|
|
}
|
|
|
|
// 编辑
|
|
if ($this->model->edit($data)) {
|
|
return json([
|
|
'code' => 200,
|
|
'msg' => '编辑成功'
|
|
]);
|
|
} else {
|
|
return json([
|
|
'code' => 400,
|
|
'msg' => '编辑失败'
|
|
]);
|
|
}
|
|
}
|
|
|
|
$id = input('param.id/d', 0);
|
|
$content = '';
|
|
|
|
// 读取内容
|
|
if (!empty($id)) {
|
|
$data = $this->model->getItem($id)->toArray();
|
|
$content = $data['content'];
|
|
unset($data['content']);
|
|
}
|
|
|
|
$this->assign('content', $content);
|
|
$this->assign('id', $id);
|
|
return $this->fetch();
|
|
}
|
|
|
|
// 获取编辑数据
|
|
public function getContent()
|
|
{
|
|
$id = input('param.id/d');
|
|
$data = [];
|
|
// 读取内容
|
|
if (!empty($id)) {
|
|
$data = $this->model->getItem($id)->toArray();
|
|
unset($data['content']);
|
|
}
|
|
|
|
return json([
|
|
'code' => 200,
|
|
'msg' => '获取成功',
|
|
'data' => $data
|
|
]);
|
|
}
|
|
|
|
// 删除
|
|
public function dell()
|
|
{
|
|
$id = input('id');
|
|
if (!empty($id)) {
|
|
$ids = strpos($id, ',') !== false ? explode(',', $id) : [$id];
|
|
foreach ($ids as $v) {
|
|
if (!$this->model->getItem((int)$v)) {
|
|
return json(['code' => 401, 'msg' => '您要删除的公告不存在']);
|
|
}
|
|
}
|
|
foreach ($ids as $v) {
|
|
$this->model->del($v);
|
|
}
|
|
return json(['code' => 200, 'msg' => '删除成功']);
|
|
}
|
|
}
|
|
|
|
}
|