325 lines
9.2 KiB
PHP
325 lines
9.2 KiB
PHP
<?php
|
|
|
|
|
|
namespace app\api\controller;
|
|
|
|
|
|
use app\api\logic\CommunityLogic;
|
|
use app\api\validate\CommunityArticleValidate;
|
|
use app\common\basics\Api;
|
|
use app\common\server\JsonServer;
|
|
|
|
/**
|
|
* 种草社区相关
|
|
* Class CommunityArticle
|
|
* @package app\api\controller
|
|
*/
|
|
class Community extends Api
|
|
{
|
|
|
|
public $like_not_need_login = ['cate', 'articleLists', 'detail', 'relationGoods', 'relationShop', 'topicArticle'];
|
|
|
|
/**
|
|
* @notes 获取已购商品列表
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/4/29 15:07
|
|
*/
|
|
public function goods()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getGoodsLists($this->user_id, $get, $this->page_no, $this->page_size);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取已购店铺列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/4/29 15:40
|
|
*/
|
|
public function shop()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getShopLists($this->user_id, $get, $this->page_no, $this->page_size);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取推荐话题
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/4/29 16:00
|
|
*/
|
|
public function recommendTopic()
|
|
{
|
|
$result = CommunityLogic::getRecommendTopic();
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取话题列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/4/29 17:25
|
|
*/
|
|
public function topicLists()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getTopicLists($get);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取分类
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/4/29 17:50
|
|
*/
|
|
public function cate()
|
|
{
|
|
$result = CommunityLogic::getCate();
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取发现页的文章列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/4/29 18:09
|
|
*/
|
|
public function articleLists()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getArticleLists($get, $this->page_no, $this->page_size, $this->user_id);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 发布文章
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/4/29 10:48
|
|
*/
|
|
public function addArticle()
|
|
{
|
|
$post = $this->request->post();
|
|
(new CommunityArticleValidate)->gocheck('add');
|
|
$result = CommunityLogic::addArticle($this->user_id, $post);
|
|
if (false === $result) {
|
|
$error = CommunityLogic::getError() ?: '发布失败';
|
|
return JsonServer::error($error);
|
|
}
|
|
return JsonServer::success('发布成功,坐等点赞和关注吧~');
|
|
}
|
|
|
|
/**
|
|
* @notes 编辑文章
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/4/29 10:48
|
|
*/
|
|
public function editArticle()
|
|
{
|
|
$post = $this->request->post();
|
|
(new CommunityArticleValidate)->gocheck('edit');
|
|
$result = CommunityLogic::editArticle($this->user_id, $post);
|
|
if (false === $result) {
|
|
$error = CommunityLogic::getError() ?: '编辑失败';
|
|
return JsonServer::error($error);
|
|
}
|
|
return JsonServer::success('编辑成功');
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 删除文章
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/5/7 10:28
|
|
*/
|
|
public function delArticle()
|
|
{
|
|
$post = $this->request->post();
|
|
(new CommunityArticleValidate)->gocheck('del');
|
|
$result = CommunityLogic::delArticle($this->user_id, $post);
|
|
if (false === $result) {
|
|
return JsonServer::error(CommunityLogic::getError() ?: '删除失败');
|
|
}
|
|
return JsonServer::success('删除成功');
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 关注用户
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/5/5 15:45
|
|
*/
|
|
public function follow()
|
|
{
|
|
$post = $this->request->post();
|
|
$result = CommunityLogic::followRelation($this->user_id, $post);
|
|
if (false === $result) {
|
|
return JsonServer::error(CommunityLogic::getError() ?: '操作失败');
|
|
}
|
|
return JsonServer::success('操作成功');
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 点赞/取消点赞文章
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/5/5 16:12
|
|
*/
|
|
public function giveLike()
|
|
{
|
|
$post = $this->request->post();
|
|
$result = CommunityLogic::giveLike($this->user_id, $post);
|
|
if (true !== $result) {
|
|
return JsonServer::error(CommunityLogic::getError() ?: '操作失败');
|
|
}
|
|
return JsonServer::success('操作成功');
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 关注页的文章列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/5/6 9:52
|
|
*/
|
|
public function followArticle()
|
|
{
|
|
$result = CommunityLogic::getFollowArticle($this->user_id, $this->page_no, $this->page_size);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取文章中关联商品列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/5/6 14:57
|
|
*/
|
|
public function relationGoods()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getRelationGoodsOrShop($get, 'goods');
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取文章中关联店铺列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/5/10 17:06
|
|
*/
|
|
public function relationShop()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getRelationGoodsOrShop($get, 'shop');
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 作品列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/5/6 10:46
|
|
*/
|
|
public function worksLists()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getWorksLists($this->user_id, $get, $this->page_no, $this->page_size);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 点赞的列表
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/5/6 14:22
|
|
*/
|
|
public function likeLists()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getLikeLists($this->user_id, $get, $this->page_no, $this->page_size);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 话题关联文章
|
|
* @return \think\response\Json
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
* @author 段誉
|
|
* @date 2022/5/6 16:22
|
|
*/
|
|
public function topicArticle()
|
|
{
|
|
$get = $this->request->get();
|
|
$result = CommunityLogic::getTopicArticle($get, $this->page_no, $this->page_size);
|
|
if (false === $result) {
|
|
return JsonServer::error(CommunityLogic::getError() ?: '获取失败');
|
|
}
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
|
|
/**
|
|
* @notes 获取文章详情
|
|
* @return \think\response\Json
|
|
* @author 段誉
|
|
* @date 2022/5/6 18:08
|
|
*/
|
|
public function detail()
|
|
{
|
|
$id = $this->request->get('id/d');
|
|
$result = CommunityLogic::detail($this->user_id, $id);
|
|
return JsonServer::success('', $result);
|
|
}
|
|
|
|
} |