From 09b3c1e9243c8e5454912c5527ae83b035aeb243 Mon Sep 17 00:00:00 2001
From: XiaoLFeng
Date: Sat, 15 Jul 2023 17:29:47 +0800
Subject: [PATCH] =?UTF-8?q?Modify:=20=E7=AE=A1=E7=90=86=E5=91=98=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E5=8F=8B=E9=93=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
管理员修改友链操作,强制修改
Signed-off-by: XiaoLFeng
---
app/Http/Controllers/Console/Link.php | 95 ++++++++++++++++++-
.../views/console/friends-link/edit.blade.php | 93 ++++++++++++++++--
routes/api.php | 4 +-
3 files changed, 180 insertions(+), 12 deletions(-)
diff --git a/app/Http/Controllers/Console/Link.php b/app/Http/Controllers/Console/Link.php
index 130fb5a..cb76bfe 100644
--- a/app/Http/Controllers/Console/Link.php
+++ b/app/Http/Controllers/Console/Link.php
@@ -12,10 +12,13 @@
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
+use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Response;
+use Illuminate\Support\Facades\Validator;
class Link extends Controller
{
@@ -124,11 +127,99 @@ protected function ViewSort(): Factory|View|Application
protected function ViewColor(): Factory|View|Application
{
- return view('console.friends-link.color',$this->data);
+ return view('console.friends-link.color', $this->data);
}
- protected function apiConsoleAdd() {
+ public function apiConsoleAdd()
+ {
// 检查数据
}
+
+ public function apiConsoleEdit(Request $request): JsonResponse
+ {
+ // 检查用户是否登录
+ if (Auth::check()) {
+ if (Auth::user()->admin) {
+ // 处理获取数据
+ $dataCheck = Validator::make($request->all(), [
+ 'userId' => 'required|int',
+ 'userEmail' => 'required|email',
+ 'userServerHost' => 'required|string',
+ 'userBlog' => 'required|string',
+ 'userUrl' => 'required|regex:#[a-zA-z]+://[^\s]*#',
+ 'userDescription' => 'required|string',
+ 'userIcon' => 'required|regex:#[a-zA-z]+://[^\s]*#',
+ 'checkRssJudge' => 'boolean',
+ 'userRss' => 'string|regex:#[a-zA-z]+://[^\s]*#',
+ 'userSelColor' => 'required|int',
+ 'userLocation' => 'required|string',
+ ]);
+ if ($dataCheck->fails()) {
+ $errorType = array_keys($dataCheck->failed());
+ $i = 0;
+ foreach ($dataCheck->failed() as $valueData) {
+ $errorInfo[$errorType[$i]] = array_keys($valueData);
+ if ($i == 0) {
+ $errorSingle = [
+ 'info' => $errorType[$i],
+ 'need' => $errorInfo[$errorType[$i]],
+ ];
+ }
+ $i++;
+ }
+ $returnData = [
+ 'output' => 'DataFormatError',
+ 'code' => 403,
+ 'data' => [
+ 'message' => '输入内容有错误',
+ 'errorSingle' => $errorSingle,
+ 'error' => $errorInfo,
+ ],
+ ];
+ } else {
+ // 更新数据库
+ DB::table('blog_link')
+ ->where([['id', '=', $request->userId]])
+ ->update([
+ 'blogOwnEmail' => $request->userEmail,
+ 'blogServerHost' => $request->userServerHost,
+ 'blogName' => $request->userBlog,
+ 'blogUrl' => $request->userUrl,
+ 'blogDescription' => $request->userDescription,
+ 'blogIcon' => $request->userIcon,
+ 'blogRssJudge' => $request->checkRssJudge,
+ 'blogRSS' => $request->userRss,
+ 'blogSetColor' => $request->userSelColor,
+ 'blogLocation' => $request->userLocation,
+ 'updated_at' => date('Y-m-d H:i:s')
+ ]);
+ $returnData = [
+ 'output' => 'Success',
+ 'code' => 200,
+ 'data' => [
+ 'message' => '数据成功更新',
+ ],
+ ];
+ }
+ } else {
+ $returnData = [
+ 'output' => 'NoPermission',
+ 'code' => 403,
+ 'data' => [
+ 'message' => '没有权限',
+ ],
+ ];
+ }
+ } else {
+ $returnData = [
+ 'output' => 'PleaseLogin',
+ 'code' => 403,
+ 'data' => [
+ 'message' => '请登录',
+ ],
+ ];
+ }
+ return Response::json($returnData, $returnData['code']);
+ }
}
diff --git a/resources/views/console/friends-link/edit.blade.php b/resources/views/console/friends-link/edit.blade.php
index d56572d..7250fdd 100644
--- a/resources/views/console/friends-link/edit.blade.php
+++ b/resources/views/console/friends-link/edit.blade.php
@@ -44,8 +44,9 @@ class="text-black dark:text-white"> 条
-
-
+
@@ -249,8 +254,9 @@ class="bg-gray-100 border border-gray-300 text-gray-900 text-sm rounded-lg focus
-
+
提交修改
@@ -307,6 +313,15 @@ class="w-16 h-16 p-1 rounded-full ring-2 ring-gray-300 dark:ring-gray-500 me-2 s
+
+
+
+
+ Message sent successfully.
+
+