Browse Source

图片上传,楼层配置权限

master
wanghongjun 3 weeks ago
parent
commit
2bc0b42e26
  1. 17
      app/Http/Controllers/Admin/FloorController.php
  2. 2
      app/Http/Controllers/Admin/OperationLogController.php
  3. 69
      app/Http/Controllers/Admin/UploadController.php
  4. 9
      routes/admin/api.php

17
app/Http/Controllers/Admin/FloorController.php

@ -12,6 +12,7 @@ use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\ValidationException;
use Psr\SimpleCache\InvalidArgumentException;
class FloorController extends BaseController
{
@ -194,4 +195,20 @@ class FloorController extends BaseController
);
}
}
/**
* @return JsonResponse
* @throws InvalidArgumentException
*/
public function rule(): JsonResponse
{
try {
return $this->responseService->success($this->methodShow('floors'));
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.get_data_failed') . ':' . $e->getMessage()
);
}
}
}

2
app/Http/Controllers/Admin/OperationLog.php → app/Http/Controllers/Admin/OperationLogController.php

@ -10,7 +10,7 @@ use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class OperationLog extends Controller
class OperationLogController extends Controller
{
/**
* @var ApiResponseService

69
app/Http/Controllers/Admin/UploadController.php

@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Services\ApiResponseService;
use Exception;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\ValidationException;
class UploadController extends Controller
{
/**
* @var ApiResponseService
*/
protected ApiResponseService $responseService;
/**
* 构造函数
* @param ApiResponseService $responseService
*/
public function __construct(
ApiResponseService $responseService,
) {
$this->responseService = $responseService;
}
/**
* 上传图片
* @param Request $request
* @return JsonResponse
* @throws ValidationException
*/
public function uploadImage(Request $request): JsonResponse
{
try {
$rules = [
'image' => 'required|image|max:10240', // 10MB = 10240KB
];
$messages = [
'image.required' => __('upload.i_empty'),
'image.image' => __('upload.i_image'),
'image.max' => __('upload.i_max'),
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
throw new ValidationException($validator);
}
$file = $request->file('image');
$filename = time() . '_' . md5($file->getClientOriginalName()) . '.'
. $file->getClientOriginalExtension();
$path = $file->storeAs('images', $filename, 'public');
return $this->responseService->success(
['url' => Storage::url($path)]
);
} catch (ValidationException $e) {
throw $e;
} catch (Exception $e) {
return $this->responseService->systemError(
__('exception.upload.error') . ':'
. $e->getMessage()
);
}
}
}

9
routes/admin/api.php

@ -4,9 +4,10 @@ use App\Http\Controllers\Admin\AuthController;
use App\Http\Controllers\Admin\ConfigController;
use App\Http\Controllers\Admin\FloorController;
use App\Http\Controllers\Admin\IndexController;
use App\Http\Controllers\Admin\OperationLog;
use App\Http\Controllers\Admin\OperationLogController;
use App\Http\Controllers\Admin\RolesController;
use App\Http\Controllers\Admin\TranslationController;
use App\Http\Controllers\Admin\UploadController;
use App\Http\Controllers\Admin\UserController;
use Illuminate\Support\Facades\Route;
@ -26,8 +27,8 @@ Route::group(['prefix' => 'admin'], function () {
Route::get('/index', [IndexController::class, 'index']);
Route::get('/menu', [IndexController::class, 'menu']);
// 系统日志
Route::get('/operationLog/index', [OperationLog::class, 'index']);
Route::get('/operationLog/search', [OperationLog::class, 'search']);
Route::get('/operationLog/index', [OperationLogController::class, 'index']);
Route::get('/operationLog/search', [OperationLogController::class, 'search']);
// 系统总配置
Route::get('/config/index', [ConfigController::class, 'index']);
@ -35,6 +36,8 @@ Route::group(['prefix' => 'admin'], function () {
// 楼层配置
Route::apiResource('floor', FloorController::class);
Route::get('/floor/rule', [FloorController::class, 'rule']);
// 图片上传
Route::post('/uploadImage', [UploadController::class, 'uploadImage']);
// 角色
Route::apiResource('translations', TranslationController::class);
Route::get('/translation/rule', [TranslationController::class, 'rule']);

Loading…
Cancel
Save