whereIn('user_id',$user->id) ->order('created_at', 'desc'); if($content_type){ $query->where('content_type',$content_type); } if($kw){ $query->whereLike('content','%'.$kw.'%'); } $list = $query->paginate([ 'list_rows' => $limit, 'page' => $page, ]); return $this->success('ok', $list); } /** * 创建收藏 * @Apidoc\Param("content_type", type="string",require=true, desc="内容类型 enum('text', 'image', 'file', 'video', 'link','audio')") * @Apidoc\Param("content", type="string",require=true, desc="json结构化收藏内容本体") * @Apidoc\Param("tags", type="string",require=true, desc="用户自定义标签,多个用逗号隔开,或者使用数组") * @Apidoc\Param("is_pinned", type="int",require=true, desc="是否置顶") * @param Request $request * @return Response */ function create(Request $request): Response { $user = \support\Jwt::getUser(); $content = $request->post('content'); $content_type = $request->post('content_type', ''); $tags = $request->post('tags', ''); $is_pinned = $request->post('is_pinned', 0); // 验证内容 if (empty($content_type)) { return $this->fail(__('The field %field% must be not empty. ',['field'=>'content_type'])); } if (empty($content)) { return $this->fail(__('The field %field% must be not empty. ',['field'=>'content'])); } if(is_array($content)) { $content = json_encode($content); } // 创建朋友圈动态 $collection = CollectionModel::create([ 'user_id' => $user->id, 'content_type' => $content_type, 'content' => $content, 'tags' => $tags, 'is_pinned' => $is_pinned ]); return $this->success('发布成功', ['collection' => $collection]); } /** * 删除收藏 * @Apidoc\Param("id", type="int",require=true, desc="收藏id") * @param Request $request * @return Response */ function delete(Request $request): Response { $user = \support\Jwt::getUser(); $id = $request->post('id'); CollectionModel::where('id',$id)->where('user_id',$user->id)->delete(); return $this->success('删除成功'); } }