chore: 重写初始提交(清空历史,整理后全量提交)
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | YwxApp [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2026-2036 http://ywxapp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: ywxapp<admin@ywxapp.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
declare (strict_types = 1);
|
||||
|
||||
namespace app\Api\Controller\V1;
|
||||
|
||||
use think\facade\Validate;
|
||||
use ywxapp\controller\ApiController;
|
||||
use addon\articles\model\Article as ArticleModel;
|
||||
|
||||
class Article extends ApiController
|
||||
{
|
||||
protected $noNeedLogin = ['*'];
|
||||
protected $needRight = ['*'];
|
||||
|
||||
|
||||
public function initialize()
|
||||
{
|
||||
$this->model = new ArticleModel();
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章列表
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$page = $this->request->param('page/d', 1);
|
||||
$limit = $this->request->param('limit/d', 15);
|
||||
$list = $this->model->with(['category'])->page($page, $limit)->order('id', 'desc')->select();
|
||||
$this->result->success($list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建文章
|
||||
*/
|
||||
public function create(\think\Request $request)
|
||||
{
|
||||
$data = $request->post();
|
||||
if (empty($data['title'])) {
|
||||
$this->result->error('标题不能为空', 404);
|
||||
}
|
||||
$res = $this->model->create($data);
|
||||
if ($res) {
|
||||
event('article_create_after', $res);
|
||||
$this->result->success($res, '创建成功');
|
||||
}
|
||||
$this->result->error('创建失败');
|
||||
}
|
||||
|
||||
/**
|
||||
* 文章详情
|
||||
* @route GET /detail, method:GET
|
||||
* @param int $uid 文章ID
|
||||
*/
|
||||
public function detail(\think\Request $request, int $uid= 0 ) {
|
||||
if (!$uid)
|
||||
$this->result->error('Invalid parameters', 404);
|
||||
$info = $this->model->with(['category', 'tags'])->find($uid);
|
||||
if (! $info) {
|
||||
$this->result->error('文章不存在', 404);
|
||||
}
|
||||
$this->result->success($info);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新文章
|
||||
* @route PUT /update, method:PUT
|
||||
* @param int $uid 文章ID
|
||||
*/
|
||||
public function update(\think\Request $request, int $uid= 0 ) {
|
||||
if (!$uid)
|
||||
$this->result->error('Invalid parameters', 404);
|
||||
$info = $this->model->find($uid);
|
||||
if (! $info) {
|
||||
$this->result->error('文章不存在', 404);
|
||||
}
|
||||
$data = $request->only(
|
||||
['title', 'cover_image', 'summary', 'content', 'author', 'cid', 'status'],
|
||||
'put'
|
||||
);
|
||||
$info->save($data);
|
||||
event('article_update_after', $info);
|
||||
$this->result->success($info, '更新成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文章(软删除)
|
||||
* @route DELETE /update, method:DELETE
|
||||
* @param int $uid 文章ID
|
||||
*/
|
||||
public function delete(\think\Request $request, int $uid= 0 ) {
|
||||
if (!$uid)
|
||||
$this->result->error('Invalid parameters', 404);
|
||||
$info = $this->model->find($uid);
|
||||
if (! $info) {
|
||||
$this->result->error('文章不存在', 404);
|
||||
}
|
||||
$info->delete();
|
||||
event('article_delete_after', $info);
|
||||
$this->result->success('', '删除成功');
|
||||
}
|
||||
|
||||
|
||||
private function getEncryptPassword($password, $salt = '')
|
||||
{
|
||||
return md5(md5($password) . $salt);
|
||||
}
|
||||
|
||||
|
||||
public function init()
|
||||
{
|
||||
return json(['message' => 'This is version 1 of the API']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user