后台语言切换
This commit is contained in:
parent
230749b98b
commit
8b86d42793
|
|
@ -43,7 +43,7 @@ class Kernel extends HttpKernel
|
||||||
\App\Http\Middleware\EncryptCookies::class,
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||||
\Illuminate\Session\Middleware\StartSession::class,
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
\App\Http\Middleware\SetLocale::class,
|
\App\Http\Middleware\SetLocaleAdmin::class,
|
||||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,11 @@ class SetLocaleAdmin
|
||||||
*/
|
*/
|
||||||
public function handle(Request $request, Closure $next)
|
public function handle(Request $request, Closure $next)
|
||||||
{
|
{
|
||||||
$sessionLocale = session('locale');
|
$currentLocale = current_user()->locale;
|
||||||
if ($sessionLocale && in_array($sessionLocale, languages()->toArray())) {
|
if (in_array($currentLocale, languages()->toArray())) {
|
||||||
App::setLocale($sessionLocale);
|
App::setLocale($currentLocale);
|
||||||
} else {
|
} else {
|
||||||
$configLocale = system_setting('base.locale');
|
App::setLocale('en');
|
||||||
App::setLocale($configLocale);
|
|
||||||
session(['locale' => $configLocale]);
|
|
||||||
}
|
}
|
||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,47 +5,22 @@
|
||||||
* @copyright 2022 opencart.cn - All Rights Reserved
|
* @copyright 2022 opencart.cn - All Rights Reserved
|
||||||
* @link http://www.guangdawangluo.com
|
* @link http://www.guangdawangluo.com
|
||||||
* @author TL <mengwb@opencart.cn>
|
* @author TL <mengwb@opencart.cn>
|
||||||
* @created 2022-07-05 16:37:04
|
* @created 2022-08-04 16:21:14
|
||||||
* @created 2022-07-05 16:37:04
|
* @modified 2022-08-04 16:21:14
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace Beike\Admin\Http\Controllers;
|
namespace Beike\Admin\Http\Controllers;
|
||||||
|
|
||||||
use Beike\Repositories\LanguageRepo;
|
use Illuminate\Support\Facades\Redirect;
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class LanguageController extends Controller
|
class LanguageController extends Controller
|
||||||
{
|
{
|
||||||
|
public function index($lang)
|
||||||
public function index()
|
|
||||||
{
|
{
|
||||||
$languages = LanguageRepo::all();
|
if (in_array($lang, languages()->toArray())) {
|
||||||
|
current_user()->locale = $lang;
|
||||||
$data = [
|
current_user()->save();
|
||||||
'languages' => $languages,
|
}
|
||||||
];
|
return Redirect::back();
|
||||||
|
|
||||||
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('删除成功!');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,5 +12,5 @@ class AdminUser extends AuthUser
|
||||||
|
|
||||||
const AUTH_GUARD = 'web_admin';
|
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('email')->unique();
|
||||||
$table->string('password');
|
$table->string('password');
|
||||||
$table->boolean('active');
|
$table->boolean('active');
|
||||||
|
$table->string('locale')->default('');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue