后台语言切换

This commit is contained in:
TL 2022-08-04 10:12:13 +08:00
parent 230749b98b
commit 8b86d42793
5 changed files with 16 additions and 42 deletions

View File

@ -43,7 +43,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\App\Http\Middleware\SetLocale::class,
\App\Http\Middleware\SetLocaleAdmin::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,

View File

@ -17,13 +17,11 @@ class SetLocaleAdmin
*/
public function handle(Request $request, Closure $next)
{
$sessionLocale = session('locale');
if ($sessionLocale && in_array($sessionLocale, languages()->toArray())) {
App::setLocale($sessionLocale);
$currentLocale = current_user()->locale;
if (in_array($currentLocale, languages()->toArray())) {
App::setLocale($currentLocale);
} else {
$configLocale = system_setting('base.locale');
App::setLocale($configLocale);
session(['locale' => $configLocale]);
App::setLocale('en');
}
return $next($request);
}

View File

@ -5,47 +5,22 @@
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author TL <mengwb@opencart.cn>
* @created 2022-07-05 16:37:04
* @created 2022-07-05 16:37:04
* @created 2022-08-04 16:21:14
* @modified 2022-08-04 16:21:14
*/
namespace Beike\Admin\Http\Controllers;
use Beike\Repositories\LanguageRepo;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
class LanguageController extends Controller
{
public function index()
public function index($lang)
{
$languages = LanguageRepo::all();
$data = [
'languages' => $languages,
];
return view('admin::pages.languages.index', $data);
}
public function store(Request $request)
{
$language = LanguageRepo::create($request->only('name', 'code', 'locale', 'image', 'sort_order', 'status'));
return json_success('创建成功', $language);
}
public function update(Request $request, int $id)
{
$language = LanguageRepo::update($id, $request->only('name', 'code', 'locale', 'image', 'sort_order', 'status'));
return json_success('更新成功!', $language);
}
public function destroy(Request $request, int $currencyId)
{
CurrencyRepo::delete($currencyId);
return json_success('删除成功!');
if (in_array($lang, languages()->toArray())) {
current_user()->locale = $lang;
current_user()->save();
}
return Redirect::back();
}
}

View File

@ -12,5 +12,5 @@ class AdminUser extends AuthUser
const AUTH_GUARD = 'web_admin';
protected $fillable = ['name', 'email', 'password', 'active'];
protected $fillable = ['name', 'email', 'locale', 'password', 'active'];
}

View File

@ -19,6 +19,7 @@ class CreateTables extends Migration
$table->string('email')->unique();
$table->string('password');
$table->boolean('active');
$table->string('locale')->default('');
$table->timestamps();
});