mirror of https://github.com/1099438829/apeblog
192 lines
5.7 KiB
PHP
192 lines
5.7 KiB
PHP
<?php
|
||
|
||
namespace app\admin\controller;
|
||
|
||
use app\admin\model\Document as aModel;
|
||
use app\admin\model\DocumentCategory as cModel;
|
||
use app\admin\model\DocumentArticle;
|
||
use app\Request;
|
||
use app\admin\services\UtilService as Util;
|
||
use think\Exception;
|
||
use think\facade\Log;
|
||
|
||
/**
|
||
* Class Article
|
||
* @package app\admin\controller\system
|
||
* @author 李玉坤
|
||
* @date 2021-02-15 23:20
|
||
*/
|
||
class Article extends AuthController
|
||
{
|
||
/**
|
||
* 文章管理主页
|
||
* @return string
|
||
* @throws \Exception
|
||
*/
|
||
public function index()
|
||
{
|
||
return $this->fetch();
|
||
}
|
||
|
||
/**
|
||
* 文章列表
|
||
* @param Request $request
|
||
* @return mixed
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\DbException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @author 李玉坤
|
||
* @date 2021-02-15 23:26
|
||
*/
|
||
public function lst(Request $request)
|
||
{
|
||
$where = Util::postMore([
|
||
['name',''],
|
||
['start_time',''],
|
||
['end_time',''],
|
||
['status',''],
|
||
['page',1],
|
||
['limit',20],
|
||
]);
|
||
return app("json")->layui(aModel::systemPage($where));
|
||
}
|
||
|
||
/**
|
||
* 保存
|
||
* @param string $id
|
||
* @return mixed
|
||
* @author 李玉坤
|
||
* @date 2021-02-28 22:43
|
||
*/
|
||
public function save($id="")
|
||
{
|
||
$data = Util::postMore([
|
||
['id',''],
|
||
['author',''],
|
||
['title',''],
|
||
['category_id',''],
|
||
['type','article'],
|
||
['abstract',''],
|
||
['keywords',''],
|
||
['content',''],
|
||
['description',''],
|
||
['is_recommend',0],
|
||
['is_top',0],
|
||
['is_hot',0],
|
||
['link_str',''],
|
||
['cover_path',''],
|
||
['display',1],
|
||
['tags',''],
|
||
['sort',''],
|
||
['status',1],
|
||
]);
|
||
|
||
if ($data['title'] == "") return app("json")->fail("文章名称不能为空");
|
||
if ($data['category_id'] == "") return app("json")->fail("栏目分类不能为空");
|
||
if ($data['cover_path'] == "") return app("json")->fail("主图不能为空");
|
||
try {
|
||
$data['author'] = $data['author']?:$this->adminInfo['nickname'];
|
||
$data['uid'] = $this->adminId;
|
||
if (!empty($data['content'])){
|
||
$content = $data['content'];
|
||
}
|
||
unset($data['content']);
|
||
if ($data['is_recommend']) $data['is_recommend'] = 1;
|
||
if ($data['is_hot']) $data['is_hot'] = 1;
|
||
if ($data['display']) $data['display'] = 1;
|
||
if ($data['is_top']) $data['is_top'] = 1;
|
||
if ($id=="")
|
||
{
|
||
$data['author'] = $data['author']?:$this->adminInfo['nickname'];
|
||
$data['create_time'] = time();
|
||
$data['update_time'] = time();
|
||
$id = aModel::insertGetId($data);
|
||
if (!empty($content)){
|
||
$updateData = [
|
||
'id' => $id,
|
||
'content' => $content
|
||
];
|
||
DocumentArticle::insert($updateData);
|
||
}
|
||
}else
|
||
{
|
||
$ainfo = aModel::get($id);
|
||
if (!$ainfo)return app("json")->fail("数据不存在");
|
||
aModel::where('id',$id)->save($data);
|
||
if (!empty($content)){
|
||
//更新文档
|
||
DocumentArticle::where('id',$id)->save(['content'=>$content]);
|
||
}
|
||
}
|
||
$res = true;
|
||
}catch (Exception $e){
|
||
Log::error('文章修改失败:失败原因:'.$e->getMessage());
|
||
$res = false;
|
||
}
|
||
return $res ? app("json")->success("操作成功",'code') : app("json")->fail("操作失败");
|
||
}
|
||
|
||
|
||
/**
|
||
* 修改字段
|
||
* @param $id
|
||
* @return mixed
|
||
* @author 李玉坤
|
||
* @date 2021-02-16 23:12
|
||
*/
|
||
public function field($id)
|
||
{
|
||
if (!$id) return app("json")->fail("参数有误,Id为空!");
|
||
$where = Util::postMore([['field',''],['value','']]);
|
||
if ($where['field'] == '' || $where['value'] =='') return app("json")->fail("参数有误!");
|
||
return aModel::update([$where['field']=>$where['value']],['id'=>$id]) ? app("json")->success("操作成功") : app("json")->fail("操作失败");
|
||
}
|
||
|
||
/**
|
||
* 新增文章
|
||
* @param $category_id
|
||
* @return string
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\DbException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @author 李玉坤
|
||
* @date 2021-03-10 14:46
|
||
*/
|
||
public function add($category_id ='')
|
||
{
|
||
$where = [
|
||
'name' => '',
|
||
'status' => ''
|
||
];
|
||
$category = cModel::systemPage($where);
|
||
$category = get_tree_list($category);
|
||
$this->assign("category",$category);
|
||
$this->assign("category_id",$category_id);
|
||
return $this->fetch();
|
||
}
|
||
|
||
/**
|
||
* 编辑页
|
||
* @return string
|
||
* @throws \Exception
|
||
* @author 李玉坤
|
||
* @date 2021-02-20 17:00
|
||
*/
|
||
public function edit(Request $request)
|
||
{
|
||
$where = Util::postMore([
|
||
['name',''],
|
||
['id','']
|
||
]);
|
||
if ($where['id'] ==''){
|
||
return $this->error('数据不存在');
|
||
}
|
||
$category = cModel::systemPage($where);
|
||
$category = get_tree_list($category);
|
||
$info = aModel::get($where['id']);
|
||
$info->content = DocumentArticle::get($where['id'])->content;
|
||
$this->assign("category",$category);
|
||
$this->assign("info",$info);
|
||
return $this->fetch();
|
||
}
|
||
} |