|
|
|
@ -5,10 +5,12 @@ namespace App\Http\Controllers\Admin; |
|
|
|
use App\Exceptions\CustomException; |
|
|
|
use App\Http\Controllers\Controller; |
|
|
|
use App\Models\AdminUsers; |
|
|
|
use App\Services\AdminUsersService; |
|
|
|
use App\Services\ApiResponseService; |
|
|
|
use App\Services\OperationLogService; |
|
|
|
use Illuminate\Http\JsonResponse; |
|
|
|
use Illuminate\Http\Request; |
|
|
|
use Illuminate\Support\Facades\App; |
|
|
|
use Illuminate\Support\Facades\Auth; |
|
|
|
use Illuminate\Support\Facades\Hash; |
|
|
|
use Illuminate\Support\Facades\Validator; |
|
|
|
@ -156,4 +158,35 @@ class AuthController extends Controller |
|
|
|
return $this->responseService->systemError($m_prefix . ':' . $e->getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 修改翻译 |
|
|
|
* @param Request $request |
|
|
|
* @return JsonResponse |
|
|
|
*/ |
|
|
|
public function translationSwitch(Request $request): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
$localeArr = array_keys(AdminUsersService::$localeArr); |
|
|
|
$localeStr = implode(',',$localeArr); |
|
|
|
$data = $request->all(); |
|
|
|
$validator = Validator::make($data, [ |
|
|
|
'language' => 'required|in:'.$localeStr |
|
|
|
], [ |
|
|
|
'language.required' => __('admin.operation_failed'), |
|
|
|
'language.in' => __('admin.operation_failed'), |
|
|
|
]); |
|
|
|
if ($validator->fails()) { |
|
|
|
throw new ValidationException($validator); |
|
|
|
} |
|
|
|
$language = $data['language']; |
|
|
|
$user = Auth::guard('sanctum')->user(); |
|
|
|
$service = new AdminUsersService(new OperationLogService()); |
|
|
|
$service->updateLocale($user->id, $language); |
|
|
|
App::setLocale($language); |
|
|
|
return $this->responseService->success([], __('admin.operation_successful')); |
|
|
|
} catch (\Exception $e) { |
|
|
|
return $this->responseService->systemError($e->getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|