diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 83496539..f68acc4f 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -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, diff --git a/app/Http/Middleware/SetLocaleAdmin.php b/app/Http/Middleware/SetLocaleAdmin.php index 58472713..1b3daaa5 100644 --- a/app/Http/Middleware/SetLocaleAdmin.php +++ b/app/Http/Middleware/SetLocaleAdmin.php @@ -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); } diff --git a/beike/Admin/Http/Controllers/LanguageController.php b/beike/Admin/Http/Controllers/LanguageController.php index 62f9732f..7e312f31 100644 --- a/beike/Admin/Http/Controllers/LanguageController.php +++ b/beike/Admin/Http/Controllers/LanguageController.php @@ -5,47 +5,22 @@ * @copyright 2022 opencart.cn - All Rights Reserved * @link http://www.guangdawangluo.com * @author TL - * @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(); } } diff --git a/beike/Models/AdminUser.php b/beike/Models/AdminUser.php index 61397207..7ce8143a 100644 --- a/beike/Models/AdminUser.php +++ b/beike/Models/AdminUser.php @@ -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']; } diff --git a/database/migrations/2021_12_26_111435_create_tables.php b/database/migrations/2021_12_26_111435_create_tables.php index 900698b2..64d0e073 100644 --- a/database/migrations/2021_12_26_111435_create_tables.php +++ b/database/migrations/2021_12_26_111435_create_tables.php @@ -19,6 +19,7 @@ class CreateTables extends Migration $table->string('email')->unique(); $table->string('password'); $table->boolean('active'); + $table->string('locale')->default(''); $table->timestamps(); });