Browse Source

2023-5-22-1 新增服务区-2

yingzi 2 years ago
parent
commit
ebdf9b92bb
3 changed files with 127 additions and 0 deletions
  1. 78 0
      app/api/controller/ArticleController.php
  2. 25 0
      app/api/route/article.php
  3. 24 0
      app/model/api/ArticleModel.php

+ 78 - 0
app/api/controller/ArticleController.php

@@ -0,0 +1,78 @@
+<?php
+
+
+namespace app\api\controller;
+
+use app\model\api\ArticleModel;
+use think\Request;
+
+
+
+class ArticleController
+{
+    // 获取文章列表
+    public function getArticleList(Request $request)
+    {
+        $page = $request->param('page', 1);
+        $limit = $request->param('limit', 10);
+        $articles = (new ArticleModel())
+            ->order('create_time', 'desc')
+            ->page($page, $limit)
+            ->select();
+        $count = (new ArticleModel())->count();
+        $data['list'] = $articles;
+        $data['count'] = $count;
+        return app('json')->success($data);
+    }
+
+    //获取文章详情
+    public function getArticleDetail(Request $request)
+    {
+        $id = $request->param('id');
+        $article = ArticleModel::get($id);
+        if (!$article) {
+            return app('json')->fail('文章不存在');
+        }
+        return app('json')->success($article);
+    }
+
+    // 添加文章
+    public function addArticle(Request $request)
+    {
+        $data = $request->param();
+        $article = new ArticleModel();
+        $article->title = $data['title'];
+        $article->content = $data['content'];
+        $article->create_time = time();
+        $article->save();
+        return app('json')->success();
+    }
+
+    // 修改文章
+    public function updateArticle(Request $request)
+    {
+        $id = $request->param('id');
+        $data = $request->param();
+        $article = ArticleModel::get($id);
+        if (!$article) {
+            return app('json')->fail('文章不存在');
+        }
+        $article->title = $data['title'];
+        $article->content = $data['content'];
+        $article->save();
+        return app('json')->success();
+    }
+
+    // 删除文章
+    public function deleteArticle(Request $request)
+    {
+        $id = $request->param('id');
+        $article = ArticleModel::get($id);
+        if (!$article) {
+            return app('json')->fail('文章不存在');
+        }
+        $article->delete();
+        return app('json')->success();
+    }
+
+}

+ 25 - 0
app/api/route/article.php

@@ -0,0 +1,25 @@
+<?php
+
+use app\api\middleware\AllowOriginMiddleware;
+use app\api\middleware\SeretKeyMiddleware;
+use think\facade\Route;
+
+Route::group('article', function () {
+
+
+    //获取文章列表
+    Route::get('/articles', 'ArticleController@index');
+    //获取文章详情
+    Route::get('/articles/:id', 'ArticleController@read');
+    //添加文章
+    Route::post('/articles', 'ArticleController@create');
+    //修改文章
+    Route::put('/articles/:id', 'ArticleController@update');
+    //删除文章
+    Route::delete('/articles/:id', 'ArticleController@delete');
+
+
+})->middleware([
+    AllowOriginMiddleware::class,
+    SeretKeyMiddleware::class
+]);

+ 24 - 0
app/model/api/ArticleModel.php

@@ -0,0 +1,24 @@
+<?php
+
+
+namespace app\model\api;
+
+use think\Model;
+
+
+class ArticleModel extends Model
+{
+    protected $table = 'article';
+    protected $autoWriteTimestamp = true;
+    protected $createTime = 'create_time';
+    protected $updateTime = false;
+
+    public function __call($method, $args)
+    {
+        if($method == 'get')
+        {
+            return parent::__call($method,[$args[0]]);
+        }
+        return parent::__call($method, $args);
+    }
+}