From 6ac03c31a331093f6486ddb6d5c45ffc1956c154 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 12 Dec 2024 10:39:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E8=B5=9E=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../think-plugs-cms/src/controller/Thumb.php | 2 +- .../src/controller/api/Auth.php | 25 +++++++++ .../src/controller/api/Thumb.php | 36 +++++++++++++ .../src/controller/api/auth/Thumb.php | 52 +++++++++++++++++++ plugs/think-plugs-cms/src/model/CmsThumb.php | 14 +++++ .../src/model/CmsThumbLike.php | 13 +++++ .../src/view/article/index_search.html | 11 ++++ .../think-plugs-cms/src/view/thumb/index.html | 8 +-- .../src/view/thumb/index_search.html | 15 +++++- 9 files changed, 169 insertions(+), 7 deletions(-) create mode 100644 plugs/think-plugs-cms/src/controller/api/Auth.php create mode 100644 plugs/think-plugs-cms/src/controller/api/Thumb.php create mode 100644 plugs/think-plugs-cms/src/controller/api/auth/Thumb.php create mode 100644 plugs/think-plugs-cms/src/model/CmsThumbLike.php diff --git a/plugs/think-plugs-cms/src/controller/Thumb.php b/plugs/think-plugs-cms/src/controller/Thumb.php index 5239bca..36d7eb5 100644 --- a/plugs/think-plugs-cms/src/controller/Thumb.php +++ b/plugs/think-plugs-cms/src/controller/Thumb.php @@ -16,7 +16,7 @@ class Thumb extends Controller $this->title = '点赞城市管理'; CmsThumb::mQuery()->layTable(function () { }, static function (QueryHelper $query) { - $query->equal('status')->like('name'); + $query->equal('status')->dateBetween('create_at')->like('content'); }); } diff --git a/plugs/think-plugs-cms/src/controller/api/Auth.php b/plugs/think-plugs-cms/src/controller/api/Auth.php new file mode 100644 index 0000000..36833d6 --- /dev/null +++ b/plugs/think-plugs-cms/src/controller/api/Auth.php @@ -0,0 +1,25 @@ +checkUserStatus(false); + } catch (HttpResponseException $exception) { + throw $exception; + } catch (\Exception $exception) { + $this->error($exception->getMessage()); + } + } +} \ No newline at end of file diff --git a/plugs/think-plugs-cms/src/controller/api/Thumb.php b/plugs/think-plugs-cms/src/controller/api/Thumb.php new file mode 100644 index 0000000..4ea88c1 --- /dev/null +++ b/plugs/think-plugs-cms/src/controller/api/Thumb.php @@ -0,0 +1,36 @@ +scope('published')->paginate(); + $this->success('获取点赞城市列表', $thumbList); + } + + public function info() + { + $id = $this->request->get('id'); + $thumb = CmsThumb::mk()->scope('published')->where('id', $id)->find(); + if (empty($thumb)) { + $this->error('点赞城市不存在'); + } + CmsThumb::mk()->scope('published')->where('id', $id)->inc("view_count"); + $this->success('获取点赞城市详情', $thumb); + } + + public function like() + { + $id = $this->request->post('id'); + CmsThumb::mk()->scope('published')->where('id', $id)->inc("like_count"); + $this->success('点赞成功'); + } +} \ No newline at end of file diff --git a/plugs/think-plugs-cms/src/controller/api/auth/Thumb.php b/plugs/think-plugs-cms/src/controller/api/auth/Thumb.php new file mode 100644 index 0000000..4eb98a0 --- /dev/null +++ b/plugs/think-plugs-cms/src/controller/api/auth/Thumb.php @@ -0,0 +1,52 @@ +scope('published')->order('create_at desc')->withCount([ + 'like' => function ($query, &$alias) { + $alias = 'my_like'; + $query->where('user_id', $this->usid); + } + ])->paginate(); + $this->success('获取点赞城市列表', $thumbList); + } + + public function my() + { + $myThumbs = CmsThumb::mk()->scope('published')->order('create_at desc')->where('user_id', '=', $this->usid)->paginate(); + $this->success('获取点赞城市成功', $myThumbs); + } + + public function add() + { + $data = $this->_vali([ + 'content.require' => '内容不能为空', + 'images.default' => '' + ]); + if ($data['images']) { + $img_array = str2arr($data['images']); + $data['thumb'] = $img_array[0]; + } + $data['user_id'] = $this->usid; + $data['status'] = 0; + $thumb = CmsThumb::mk()->save($data); + $this->success('点赞成功', $thumb); + } + + public function info() + { + $id = $this->request->get('id'); + $thumb = CmsThumb::mk()->scope('published')->where('user_id', '=', $this->usid)->where('id', $id)->find(); + if (empty($thumb)) { + $this->error('点赞城市不存在'); + } + $this->success('获取点赞城市成功', $thumb); + } +} \ No newline at end of file diff --git a/plugs/think-plugs-cms/src/model/CmsThumb.php b/plugs/think-plugs-cms/src/model/CmsThumb.php index e6cb113..53358e3 100644 --- a/plugs/think-plugs-cms/src/model/CmsThumb.php +++ b/plugs/think-plugs-cms/src/model/CmsThumb.php @@ -6,5 +6,19 @@ use think\admin\Model; class CmsThumb extends Model { + protected $append = ['imgs_arr']; + public function like() + { + return $this->hasMany(CmsThumbLike::class, 'thumb_id', 'id'); + } + public function scopePublished($query) + { + $query->where(['status' => 1])->where('publish_at', '<=', date('Y-m-d H:i:s')); + } + + public function getImgsArrAttr($value, $data) + { + return str2arr($data['images']); + } } \ No newline at end of file diff --git a/plugs/think-plugs-cms/src/model/CmsThumbLike.php b/plugs/think-plugs-cms/src/model/CmsThumbLike.php new file mode 100644 index 0000000..8252a0c --- /dev/null +++ b/plugs/think-plugs-cms/src/model/CmsThumbLike.php @@ -0,0 +1,13 @@ +belongsTo(CmsThumb::class, 'thumb_id'); + } +} \ No newline at end of file diff --git a/plugs/think-plugs-cms/src/view/article/index_search.html b/plugs/think-plugs-cms/src/view/article/index_search.html index 8ddacd7..1cbfc23 100644 --- a/plugs/think-plugs-cms/src/view/article/index_search.html +++ b/plugs/think-plugs-cms/src/view/article/index_search.html @@ -15,6 +15,17 @@ +