zendesk opensource freescout
https://github.com/freescout-helpdesk/freescout
https://github.com/freescout-helpdesk/freescout
middleware routes/web.php``` Route::group([‘prefix’ => ‘member’, ‘as’ => ‘member.’, ‘middleware’ => [‘auth’, ‘setLocale:zh-tw’]], function () { Route::get(’/’, App\Http\Livewire\MemberList::class); }); app/Http/Middleware/SetLocale.php.php``` namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class SetLocale { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next, string $lang) { app()->setLocale($lang); return $next($request); } }
https://stackoverflow.com/questions/29115184/laravel-catch-tokenmismatchexception/29116516 At last 1 and 2. APP\Exceptions\Handler.php``` namespace App\Exceptions; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; // use Illuminate\Session\TokenMismatchException; use \Symfony\Component\HttpKernel\Exception\HttpException; class Handler extends ExceptionHandler { /** * A list of the exception types that are not reported. * * @var array */ protected $dontReport = [ // ]; /** * A list of the inputs that are never flashed for validation exceptions. * * @var array */ protected $dontFlash = [ 'password', 'password_confirmation', ]; /** * Register the exception handling callbacks for the application. * * @return void */ public function register() { // $this->renderable(function (HttpException $e, $request) { if ($e->getStatusCode() == 419) { return redirect('/login'); // session erros Can not use ->with('419error','Your session expired due to inactivity. Please login again.') } }); } } ...
維持10秒 早晚兩次