Browse Source

公告后台接口

master
wanghongjun 3 years ago
parent
commit
e6026f34a3
  1. 2
      app/controller/Index.php
  2. 97
      app/controller/Notice.php
  3. 36
      app/validate/Notice.php

2
app/controller/Index.php

@ -113,7 +113,7 @@ class Index extends BaseController
try {
validate()->rule(['id|公告id' => 'require|number'])->check($param);
$Notice = Notice::where('id',$param['id'])->order('create_time','desc')->find();
$Notice = Notice::where('id',$param['id'])->order('sort asc,id desc')->find();
return $this->renderSuccess('数据返回成功',[
'title' => $Notice->title,

97
app/controller/Notice.php

@ -0,0 +1,97 @@
<?php
declare (strict_types = 1);
namespace app\controller;
use app\BaseController;
use app\model\Notice as NoticeModel;
use app\validate\Notice as NoticeValidate;
use think\exception\ValidateException;
use think\facade\Request;
class Notice extends BaseController
{
/**
* 显示资源列表
*/
public function list()
{
$request = Request::param();
$limit = $request['limit'] ?? 10;
$where = [];
$CustomerServiceModel = new NoticeModel();
# 查询用户列表
$field = 'id,title,sort,content';
$res = $CustomerServiceModel->field($field)->where($where)->order('sort asc,id desc')->paginate($limit);
$list = $res->items();
$total = $res->total();
return $this->renderSuccess('数据返回成功', ['list' => $list, 'total' => $total]);
}
/**
* 保存新建的资源
*/
public function save()
{
$param = Request::param();
try {
$id = $param['id'] ?? 0;
if ($id) {
validate(NoticeValidate::class)->scene('edit')->check($param);
$CustomerServiceModel = NoticeModel::find($id);
$CustomerServiceModel->title = $param['title'];
$CustomerServiceModel->sort = $param['sort'] ?? 1;
$CustomerServiceModel->content = $param['content'];
$CustomerServiceModel->update_time = date("Y-m-d H:i:s",time());
$CustomerServiceModel->save();
} else {
validate(NoticeValidate::class)->scene('add')->check($param);
$CustomerService = new NoticeModel();
$CustomerService->save([
'title' => $param['title'],
'sort' => $param['sort'] ?? 1,
'content' => $param['content'],
'create_time' => date("Y-m-d H:i:s",time())
]);
}
return $this->renderSuccess($id ? '编辑成功' : '添加成功');
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
} catch (\Exception $e) {
return $this->renderError('操作失败');
}
}
/**
* 删除指定资源
*/
public function delete()
{
$param = Request::param();
try {
validate(NoticeValidate::class)->scene('del')->check($param);
$result = NoticeModel::destroy($param['id']);
if (!$result) throw new ValidateException('删除失败');
return $this->renderSuccess('已删除');
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
} catch (\Exception $e) {
return $this->renderError('操作失败');
}
}
}

36
app/validate/Notice.php

@ -0,0 +1,36 @@
<?php
declare (strict_types = 1);
namespace app\validate;
use think\Validate;
class Notice extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'id|公告id' => 'require|number',
'title|公告标题' => 'require|max:40',
'sort|排序' => 'number',
'content|公告内容' => 'require'
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [];
protected $scene = [
'add' => ['title','sort','content'],
'edit' => ['title','sort','content','id'],
'del' => ['id']
];
}
Loading…
Cancel
Save