From ffc2895a6c2dd36d59b79344e798cc7959368ff0 Mon Sep 17 00:00:00 2001 From: Wisp X Date: Fri, 21 Jan 2022 14:36:17 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=AE=8C=E5=96=84=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=BB=84=E5=88=9B=E5=BB=BA=E9=A1=B5=E9=9D=A2=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Enums/GroupConfigKey.php | 3 + .../Controllers/Admin/GroupController.php | 32 ++- database/seeders/DatabaseSeeder.php | 1 + public/css/app.css | 229 ++++-------------- resources/views/admin/group/add.blade.php | 160 +++++++++--- 5 files changed, 209 insertions(+), 216 deletions(-) diff --git a/app/Enums/GroupConfigKey.php b/app/Enums/GroupConfigKey.php index 51eb9243..f77d3f09 100644 --- a/app/Enums/GroupConfigKey.php +++ b/app/Enums/GroupConfigKey.php @@ -16,6 +16,9 @@ final class GroupConfigKey /** @var string 审查配置 */ const ScanConfigs = 'scan_configs'; + /** @var string 违规图片审查后动作 */ + const ScannedAction = 'scanned_action'; + /** @var string 是否启用原图保护功能 */ const IsEnableOriginalProtection = 'is_enable_original_protection'; diff --git a/app/Http/Controllers/Admin/GroupController.php b/app/Http/Controllers/Admin/GroupController.php index a3ad0b85..40d2eafb 100644 --- a/app/Http/Controllers/Admin/GroupController.php +++ b/app/Http/Controllers/Admin/GroupController.php @@ -11,7 +11,32 @@ use Illuminate\View\View; class GroupController extends Controller { - protected array $extensions = ['jpeg', 'jpg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp']; + public function __construct() + { + \Illuminate\Support\Facades\View::share([ + 'extensions' => ['jpeg', 'jpg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp'], + 'positions' => [ + 'top-left' => '左上角', + 'top' => '上中', + 'top-right' => '右上角', + 'left' => '左边', + 'center' => '中间', + 'right' => '右边', + 'bottom-left' => '左下角', + 'bottom' => '下中', + 'bottom-right' => '右下角', + 'tiled' => '平铺', + ], + 'scanAliyunScenes' => [ + 'porn' => '智能鉴黄', + 'terrorism' => '暴恐涉政', + 'ad' => '暴恐涉政', + 'qrcode' => '二维码', + 'live' => '不良场景', + 'logo' => 'Logo', + ] + ]); + } public function index(Request $request): View { @@ -23,14 +48,13 @@ class GroupController extends Controller public function add(): View { - return view('admin.group.add', ['extensions' => $this->extensions]); + return view('admin.group.add'); } public function edit(Request $request): View { $group = Group::query()->findOrFail($request->route('id')); - $extensions = $this->extensions; - return view('admin.group.edit', compact('group', 'extensions')); + return view('admin.group.edit', compact('group')); } public function create(): Response diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 3a2e8f9f..63c7d641 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -51,6 +51,7 @@ class DatabaseSeeder extends Seeder GroupConfigKey::IsEnableScan => false, GroupConfigKey::IsEnableWatermark => false, GroupConfigKey::IsEnableOriginalProtection => false, + GroupConfigKey::ScannedAction => 'mark', // in mark or delete GroupConfigKey::ScanConfigs => [ 'driver' => 'aliyun', 'drivers' => [ diff --git a/public/css/app.css b/public/css/app.css index 0c7d6f7f..46754c7e 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -652,10 +652,6 @@ select { bottom: 0px; left: 0px; } -.inset-y-0 { - top: 0px; - bottom: 0px; -} .top-1 { top: 0.25rem; } @@ -716,9 +712,6 @@ select { .col-span-6 { grid-column: span 6 / span 6; } -.col-span-3 { - grid-column: span 3 / span 3; -} .m-2 { margin: 0.5rem; } @@ -776,6 +769,12 @@ select { .mt-4 { margin-top: 1rem; } +.mt-5 { + margin-top: 1.25rem; +} +.mb-3 { + margin-bottom: 0.75rem; +} .mt-6 { margin-top: 1.5rem; } @@ -800,24 +799,18 @@ select { .-mt-px { margin-top: -1px; } -.-ml-1 { - margin-left: -0.25rem; -} .mr-4 { margin-right: 1rem; } +.-ml-1 { + margin-left: -0.25rem; +} .mr-3 { margin-right: 0.75rem; } .-mr-2 { margin-right: -0.5rem; } -.mb-3 { - margin-bottom: 0.75rem; -} -.mt-5 { - margin-top: 1.25rem; -} .block { display: block; } @@ -854,6 +847,9 @@ select { .h-4 { height: 1rem; } +.h-20 { + height: 5rem; +} .h-screen { height: 100vh; } @@ -869,18 +865,15 @@ select { .h-16 { height: 4rem; } -.h-20 { - height: 5rem; -} .h-7 { height: 1.75rem; } -.h-6 { - height: 1.5rem; -} .h-9 { height: 2.25rem; } +.h-6 { + height: 1.5rem; +} .min-h-\[150px\] { min-height: 150px; } @@ -908,6 +901,9 @@ select { .w-4 { width: 1rem; } +.w-20 { + width: 5rem; +} .w-3\/4 { width: 75%; } @@ -923,9 +919,6 @@ select { .w-\[90\%\] { width: 90%; } -.w-20 { - width: 5rem; -} .w-6 { width: 1.5rem; } @@ -1044,9 +1037,6 @@ select { .flex-nowrap { flex-wrap: nowrap; } -.items-start { - align-items: flex-start; -} .items-center { align-items: center; } @@ -1164,10 +1154,6 @@ select { .whitespace-nowrap { white-space: nowrap; } -.break-normal { - overflow-wrap: normal; - word-break: normal; -} .break-words { overflow-wrap: break-word; } @@ -1195,10 +1181,6 @@ select { border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; } -.rounded-b-lg { - border-bottom-right-radius: 0.5rem; - border-bottom-left-radius: 0.5rem; -} .rounded-l-none { border-top-left-radius: 0px; border-bottom-left-radius: 0px; @@ -1281,9 +1263,9 @@ select { --tw-bg-opacity: 1; background-color: rgb(248 113 113 / var(--tw-bg-opacity)); } -.bg-blue-500 { +.bg-gray-500 { --tw-bg-opacity: 1; - background-color: rgb(59 130 246 / var(--tw-bg-opacity)); + background-color: rgb(107 114 128 / var(--tw-bg-opacity)); } .bg-yellow-500 { --tw-bg-opacity: 1; @@ -1297,6 +1279,10 @@ select { --tw-bg-opacity: 1; background-color: rgb(31 41 55 / var(--tw-bg-opacity)); } +.bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} .bg-gray-600 { --tw-bg-opacity: 1; background-color: rgb(75 85 99 / var(--tw-bg-opacity)); @@ -1305,10 +1291,6 @@ select { --tw-bg-opacity: 1; background-color: rgb(248 250 252 / var(--tw-bg-opacity)); } -.bg-gray-500 { - --tw-bg-opacity: 1; - background-color: rgb(107 114 128 / var(--tw-bg-opacity)); -} .bg-red-500 { --tw-bg-opacity: 1; background-color: rgb(239 68 68 / var(--tw-bg-opacity)); @@ -1325,17 +1307,6 @@ select { --tw-bg-opacity: 1; background-color: rgb(55 65 81 / var(--tw-bg-opacity)); } -.bg-transparent { - background-color: transparent; -} -.bg-indigo-600 { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} -.bg-red-50 { - --tw-bg-opacity: 1; - background-color: rgb(254 242 242 / var(--tw-bg-opacity)); -} .bg-opacity-75 { --tw-bg-opacity: 0.75; } @@ -1367,9 +1338,6 @@ select { .p-1 { padding: 0.25rem; } -.p-0 { - padding: 0px; -} .px-4 { padding-left: 1rem; padding-right: 1rem; @@ -1394,6 +1362,10 @@ select { padding-top: 0.75rem; padding-bottom: 0.75rem; } +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} .py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; @@ -1426,14 +1398,6 @@ select { padding-top: 3.5rem; padding-bottom: 3.5rem; } -.py-10 { - padding-top: 2.5rem; - padding-bottom: 2.5rem; -} -.py-0 { - padding-top: 0px; - padding-bottom: 0px; -} .pb-6 { padding-bottom: 1.5rem; } @@ -1461,18 +1425,6 @@ select { .pb-1 { padding-bottom: 0.25rem; } -.pl-7 { - padding-left: 1.75rem; -} -.pr-12 { - padding-right: 3rem; -} -.pl-2 { - padding-left: 0.5rem; -} -.pr-7 { - padding-right: 1.75rem; -} .text-left { text-align: left; } @@ -1516,14 +1468,14 @@ select { font-size: 1rem; line-height: 1.5rem; } -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} .text-4xl { font-size: 2.25rem; line-height: 2.5rem; } +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} .font-medium { font-weight: 500; } @@ -1539,9 +1491,6 @@ select { .leading-7 { line-height: 1.75rem; } -.leading-6 { - line-height: 1.5rem; -} .tracking-wider { letter-spacing: 0.05em; } @@ -1600,6 +1549,10 @@ select { --tw-text-opacity: 1; color: rgb(74 222 128 / var(--tw-text-opacity)); } +.text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); +} .text-gray-900 { --tw-text-opacity: 1; color: rgb(17 24 39 / var(--tw-text-opacity)); @@ -1616,10 +1569,6 @@ select { --tw-text-opacity: 1; color: rgb(229 231 235 / var(--tw-text-opacity)); } -.text-gray-300 { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); -} .text-green-600 { --tw-text-opacity: 1; color: rgb(22 163 74 / var(--tw-text-opacity)); @@ -1628,13 +1577,17 @@ select { --tw-text-opacity: 1; color: rgb(248 113 113 / var(--tw-text-opacity)); } +.text-red-800 { + --tw-text-opacity: 1; + color: rgb(153 27 27 / var(--tw-text-opacity)); +} .text-slate-600 { --tw-text-opacity: 1; color: rgb(71 85 105 / var(--tw-text-opacity)); } -.text-red-800 { +.text-yellow-500 { --tw-text-opacity: 1; - color: rgb(153 27 27 / var(--tw-text-opacity)); + color: rgb(234 179 8 / var(--tw-text-opacity)); } .underline { -webkit-text-decoration-line: underline; @@ -1762,13 +1715,9 @@ select { --tw-bg-opacity: 1; background-color: rgb(229 231 235 / var(--tw-bg-opacity)); } -.hover\:bg-blue-700:hover { +.hover\:bg-blue-600:hover { --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); + background-color: rgb(37 99 235 / var(--tw-bg-opacity)); } .hover\:bg-blue-300:hover { --tw-bg-opacity: 1; @@ -1778,18 +1727,6 @@ select { --tw-bg-opacity: 1; background-color: rgb(75 85 99 / var(--tw-bg-opacity)); } -.hover\:bg-blue-600:hover { - --tw-bg-opacity: 1; - background-color: rgb(37 99 235 / var(--tw-bg-opacity)); -} -.hover\:bg-indigo-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(67 56 202 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-500:hover { - --tw-bg-opacity: 1; - background-color: rgb(107 114 128 / var(--tw-bg-opacity)); -} .hover\:text-gray-500:hover { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity)); @@ -1814,14 +1751,14 @@ select { --tw-text-opacity: 1; color: rgb(49 46 129 / var(--tw-text-opacity)); } -.hover\:text-gray-700:hover { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} .hover\:text-red-900:hover { --tw-text-opacity: 1; color: rgb(127 29 29 / var(--tw-text-opacity)); } +.hover\:text-gray-700:hover { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} .focus\:z-10:focus { z-index: 10; } @@ -1833,10 +1770,6 @@ select { --tw-border-opacity: 1; border-color: rgb(99 102 241 / var(--tw-border-opacity)); } -.focus\:border-gray-900:focus { - --tw-border-opacity: 1; - border-color: rgb(17 24 39 / var(--tw-border-opacity)); -} .focus\:border-indigo-300:focus { --tw-border-opacity: 1; border-color: rgb(165 180 252 / var(--tw-border-opacity)); @@ -1896,10 +1829,6 @@ select { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); } -.active\:bg-gray-900:active { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); -} .active\:text-gray-700:active { --tw-text-opacity: 1; color: rgb(55 65 81 / var(--tw-text-opacity)); @@ -1908,9 +1837,6 @@ select { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity)); } -.disabled\:opacity-25:disabled { - opacity: 0.25; -} .group:hover .group-hover\:block { display: block; } @@ -1935,14 +1861,6 @@ select { grid-column: span 3 / span 3; } - .sm\:col-span-4 { - grid-column: span 4 / span 4; - } - - .sm\:col-span-6 { - grid-column: span 6 / span 6; - } - .sm\:-mx-6 { margin-left: -1.5rem; margin-right: -1.5rem; @@ -1965,10 +1883,6 @@ select { margin-left: 1.5rem; } - .sm\:mt-0 { - margin-top: 0px; - } - .sm\:block { display: block; } @@ -1989,10 +1903,6 @@ select { width: 16rem; } - .sm\:w-full { - width: 100%; - } - .sm\:max-w-md { max-width: 28rem; } @@ -2017,24 +1927,6 @@ select { justify-content: space-between; } - .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); - } - - .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); - } - - .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); - } - .sm\:rounded-md { border-radius: 0.375rem; } @@ -2057,11 +1949,6 @@ select { padding-right: 2.5rem; } - .sm\:px-0 { - padding-left: 0px; - padding-right: 0px; - } - .sm\:pt-0 { padding-top: 0px; } @@ -2084,10 +1971,6 @@ select { } @media (min-width: 768px) { - .md\:col-span-1 { - grid-column: span 1 / span 1; - } - .md\:col-span-2 { grid-column: span 2 / span 2; } @@ -2129,26 +2012,14 @@ select { grid-template-columns: repeat(2, minmax(0, 1fr)); } - .md\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - .md\:flex-row { flex-direction: row; } - .md\:flex-col { - flex-direction: column; - } - .md\:justify-between { justify-content: space-between; } - .md\:gap-6 { - gap: 1.5rem; - } - .md\:gap-x-4 { -moz-column-gap: 1rem; column-gap: 1rem; @@ -2185,10 +2056,6 @@ select { } @media (min-width: 1024px) { - .lg\:col-span-2 { - grid-column: span 2 / span 2; - } - .lg\:-mx-8 { margin-left: -2rem; margin-right: -2rem; diff --git a/resources/views/admin/group/add.blade.php b/resources/views/admin/group/add.blade.php index 1526ceea..8849dc6f 100644 --- a/resources/views/admin/group/add.blade.php +++ b/resources/views/admin/group/add.blade.php @@ -20,52 +20,52 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
@@ -85,52 +85,51 @@
+