You've already forked guangan
点赞的接口
This commit is contained in:
@ -16,7 +16,7 @@ class Thumb extends Controller
|
|||||||
$this->title = '点赞城市管理';
|
$this->title = '点赞城市管理';
|
||||||
CmsThumb::mQuery()->layTable(function () {
|
CmsThumb::mQuery()->layTable(function () {
|
||||||
}, static function (QueryHelper $query) {
|
}, static function (QueryHelper $query) {
|
||||||
$query->equal('status')->like('name');
|
$query->equal('status')->dateBetween('create_at')->like('content');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
25
plugs/think-plugs-cms/src/controller/api/Auth.php
Normal file
25
plugs/think-plugs-cms/src/controller/api/Auth.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace plugin\cms\controller\api;
|
||||||
|
|
||||||
|
use plugin\account\controller\api\Auth as AuthController;
|
||||||
|
use think\exception\HttpResponseException;
|
||||||
|
|
||||||
|
class Auth extends AuthController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 控制器初始化
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function initialize()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
parent::initialize();
|
||||||
|
$this->checkUserStatus(false);
|
||||||
|
} catch (HttpResponseException $exception) {
|
||||||
|
throw $exception;
|
||||||
|
} catch (\Exception $exception) {
|
||||||
|
$this->error($exception->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
plugs/think-plugs-cms/src/controller/api/Thumb.php
Normal file
36
plugs/think-plugs-cms/src/controller/api/Thumb.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace plugin\cms\controller\api;
|
||||||
|
|
||||||
|
use plugin\cms\model\CmsThumb;
|
||||||
|
use think\admin\Controller;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 点赞城市
|
||||||
|
*/
|
||||||
|
class Thumb extends Controller
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$thumbList = CmsThumb::mk()->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('点赞成功');
|
||||||
|
}
|
||||||
|
}
|
52
plugs/think-plugs-cms/src/controller/api/auth/Thumb.php
Normal file
52
plugs/think-plugs-cms/src/controller/api/auth/Thumb.php
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace plugin\cms\controller\api\auth;
|
||||||
|
|
||||||
|
use plugin\cms\controller\api\Auth;
|
||||||
|
use plugin\cms\model\CmsThumb;
|
||||||
|
|
||||||
|
class Thumb extends Auth
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$thumbList = CmsThumb::mk()->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);
|
||||||
|
}
|
||||||
|
}
|
@ -6,5 +6,19 @@ use think\admin\Model;
|
|||||||
|
|
||||||
class CmsThumb extends 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']);
|
||||||
|
}
|
||||||
}
|
}
|
13
plugs/think-plugs-cms/src/model/CmsThumbLike.php
Normal file
13
plugs/think-plugs-cms/src/model/CmsThumbLike.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace plugin\cms\model;
|
||||||
|
|
||||||
|
use think\admin\Model;
|
||||||
|
|
||||||
|
class CmsThumbLike extends Model
|
||||||
|
{
|
||||||
|
public function thumb()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(CmsThumb::class, 'thumb_id');
|
||||||
|
}
|
||||||
|
}
|
@ -15,6 +15,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-inline">
|
||||||
|
<label class="layui-form-label">启用状态</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="status">
|
||||||
|
<option value="">请选择</option>
|
||||||
|
<option value="1" {if input('get.status')==1}selected{/if}>启用</option>
|
||||||
|
<option value="0" {if input('get.status')==0}selected{/if}>禁用</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item layui-inline">
|
<div class="layui-form-item layui-inline">
|
||||||
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="searchData"><i class="layui-icon"></i> 搜 索</button>
|
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="searchData"><i class="layui-icon"></i> 搜 索</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<div class="layui-row">
|
<div class="layui-row">
|
||||||
<div class="layui-col">
|
<div class="layui-col">
|
||||||
<div class="article_list think-bg-white">
|
<div class="article_list think-bg-white">
|
||||||
{include file='article/index_search'}
|
{include file='thumb/index_search'}
|
||||||
<table class="layui-hide" data-url="{$request->url()}" data-target-search="form.form-search" id="Table" lay-filter="Table"></table>
|
<table class="layui-hide" data-url="{$request->url()}" data-target-search="form.form-search" id="Table" lay-filter="Table"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -23,9 +23,9 @@
|
|||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
<!--{if auth("status")}-->
|
<!--{if auth("status")}-->
|
||||||
{{# if(d.status == 0){ }}
|
{{# if(d.status == 0){ }}
|
||||||
<a class="layui-btn layui-btn-xs layui-btn-normal" data-title="启用该点赞城市" data-modal='{:url("status")}?id={{ d.id }}&status=1'>启 用</a>
|
<a class="layui-btn layui-btn-xs layui-btn-normal" data-title="公开该点赞城市" data-modal='{:url("status")}?id={{ d.id }}&status=1'>公 开</a>
|
||||||
{{# } else { }}
|
{{# } else { }}
|
||||||
<a class="layui-btn layui-btn-xs layui-btn-primary" data-title="隐藏该点赞城市" data-modal='{:url("status")}?id={{ d.id }}&status=0'>隐 藏</a>
|
<a class="layui-btn layui-btn-xs layui-btn-primary" data-title="下架该点赞城市" data-modal='{:url("status")}?id={{ d.id }}&status=0'>下 架</a>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
<!--{if auth("remove")}-->
|
<!--{if auth("remove")}-->
|
||||||
@ -56,7 +56,7 @@
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
{field:'title', title:'标题'},
|
{field:'content', title:'内容'},
|
||||||
{field:'status', title:'状态', width:80, templet:function(item){
|
{field:'status', title:'状态', width:80, templet:function(item){
|
||||||
if(item.status == 0){
|
if(item.status == 0){
|
||||||
return '<span style="color:red;">待发布</span>';
|
return '<span style="color:red;">待发布</span>';
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
<legend>条件搜索</legend>
|
<legend>条件搜索</legend>
|
||||||
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
|
||||||
<div class="layui-form-item layui-inline">
|
<div class="layui-form-item layui-inline">
|
||||||
<label class="layui-form-label">标题</label>
|
<label class="layui-form-label">内容</label>
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input name="title" value="{:input('get.title')}" placeholder="请输入文章标题" class="layui-input">
|
<input name="content" value="{:input('get.content')}" placeholder="请输入文章内容" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -15,6 +15,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item layui-inline">
|
||||||
|
<label class="layui-form-label">启用状态</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="status">
|
||||||
|
<option value="">请选择</option>
|
||||||
|
<option value="1" {if input('get.status')==1}selected{/if}>启用</option>
|
||||||
|
<option value="0" {if input('get.status')==0}selected{/if}>禁用</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item layui-inline">
|
<div class="layui-form-item layui-inline">
|
||||||
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="searchData"><i class="layui-icon"></i> 搜 索</button>
|
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="searchData"><i class="layui-icon"></i> 搜 索</button>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user