后台语言切换
This commit is contained in:
parent
230749b98b
commit
8b86d42793
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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'];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ class CreateTables extends Migration
|
|||
$table->string('email')->unique();
|
||||
$table->string('password');
|
||||
$table->boolean('active');
|
||||
$table->string('locale')->default('');
|
||||
$table->timestamps();
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue