Files
lsky-pro/app/Http/Controllers/Admin/GroupController.php
2022-01-21 23:31:38 +08:00

78 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Enums\ConfigKey;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\GroupRequest;
use App\Models\Group;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\View\View;
class GroupController extends Controller
{
public function __construct()
{
\Illuminate\Support\Facades\View::share([
'default' => config('convention.app.'.ConfigKey::GroupConfigs),
'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
{
$groups = Group::query()->when($request->query('keywords'), function (Builder $builder, $keywords) {
$builder->where('name', 'like', "%{$keywords}%");
})->withCount('users')->withCount('strategies')->latest()->paginate();
return view('admin.group.index', compact('groups'));
}
public function add(): View
{
return view('admin.group.add');
}
public function edit(Request $request): View
{
$group = Group::query()->findOrFail($request->route('id'));
return view('admin.group.edit', compact('group'));
}
public function create(GroupRequest $request): Response
{
return $this->success('success', $request->validated());
}
public function update(Request $request): Response
{
return $this->success('success', $request->all());
}
public function delete(Request $request): Response
{
return $this->success('success', $request->all());
}
}