From b0b9d3d2415fa4ee479d70d6a32144120dbda9ce Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Sat, 24 Jun 2023 22:50:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8B=E9=93=BE=E7=BC=96=E8=BE=91=E6=9F=A5?= =?UTF-8?q?=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Function/Link.php | 105 +++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/app/Http/Controllers/Function/Link.php b/app/Http/Controllers/Function/Link.php index cc43f9b..fba3798 100644 --- a/app/Http/Controllers/Function/Link.php +++ b/app/Http/Controllers/Function/Link.php @@ -134,6 +134,111 @@ public function apiCustomAdd(Request $request): JsonResponse return Response::json($returnData, $returnData['code']); } + public function apiCustomSearch(Request $request): JsonResponse + { + /** @var array $returnData Json的 return 返回值 */ + if (!empty($request->location_search)) { + if ($request->searchType == 'all') { + $resultData = DB::table('blog_link') + ->where([ + ['blogName', 'LIKE', '%' . $request->location_search . '%', 'or'], + ['blogUrl', 'LIKE', '%' . $request->location_search . '%', 'or'], + ['blogOwnEmail', 'LIKE', '%' . $request->location_search . '%', 'or']]) + ->select('blogName','blogUrl','blogDescription','blogIcon') + ->orderBy('id') + ->get() + ->toArray(); + if (!empty($resultData)) { + $returnData = [ + 'output' => 'Success', + 'code' => 200, + 'data' => [ + 'message' => '数据输出成功', + 'data' => $resultData, + ], + ]; + } else { + $returnData = [ + 'output' => 'NoData', + 'code' => 200, + 'data' => [ + 'message' => '没有数据', + ], + ]; + } + } else { + if ($request->searchType == 'blogName') { + $resultData = DB::table('blog_link') + ->where([['blogName', 'LIKE', '%' . $request->location_search . '%']]) + ->select('blogName','blogUrl','blogDescription','blogIcon') + ->orderBy('id') + ->get() + ->toArray(); + if (!empty($resultData)) { + $returnData = [ + 'output' => 'Success', + 'code' => 200, + 'data' => [ + 'message' => '数据输出成功', + 'data' => $resultData, + ], + ]; + } else { + $returnData = [ + 'output' => 'NoData', + 'code' => 200, + 'data' => [ + 'message' => '没有数据', + ], + ]; + } + } elseif ($request->searchType == 'blogUrl') { + $resultData = DB::table('blog_link') + ->where([['blogUrl', 'LIKE', '%' . $request->location_search . '%']]) + ->select('blogName','blogUrl','blogDescription','blogIcon') + ->orderBy('id') + ->get() + ->toArray(); + if (!empty($resultData)) { + $returnData = [ + 'output' => 'Success', + 'code' => 200, + 'data' => [ + 'message' => '数据输出成功', + 'data' => $resultData, + ], + ]; + } else { + $returnData = [ + 'output' => 'NoData', + 'code' => 200, + 'data' => [ + 'message' => '没有数据', + ], + ]; + } + } else { + $returnData = [ + 'output' => 'TypeError', + 'code' => 403, + 'data' => [ + 'message' => '类型错误请检查', + ], + ]; + } + } + } else { + $returnData = [ + 'output' => 'SearchEmpty', + 'code' => 403, + 'data' => [ + 'message' => '搜索为空,请输入内容', + ], + ]; + } + return Response::json($returnData,$returnData['code']); + } + protected function viewLink(Request $request): Factory|View|Application { $this->data['webSubTitle'] = '友链';