Procházet zdrojové kódy

Weenier 168otc项目部署 0630

wesmiler před 3 roky
rodič
revize
9551ff2729

+ 1 - 0
app/Helpers/common.php

@@ -1115,6 +1115,7 @@ if (!function_exists('copydirs')) {
 
 if(!function_exists('lang')){
     function lang($msg, $replace=[], $local=''){
+        $local = $local? $local : session('locale_lang');
         $local = $local? $local : config('app.locale');
         $data = __('api.'.$msg, $replace, $local);
         if(strpos($data,'api',0) !== false){

+ 3 - 3
app/Http/Controllers/Api/IndexController.php

@@ -28,13 +28,13 @@ class IndexController extends webApp
     public function index(int $userId=0)
     {
         // 语言默认同步更新
-        $locale = request()->get('locale');
+        $locale = request()->post('locale');
         if($locale){
             RedisService::set("stores:locale:lang_{$this->userId}", $locale, 24 * 3600);
-            session('lang_locale', $locale);
+            session(['locale_lang'=>$locale]);
+            app()->setLocale($locale);
         }
 
-
         // 广告幻灯片
         $banners = [
             'top'=> AdService::make()->getList(1, 6),

+ 8 - 0
app/Http/Controllers/Api/webApp.php

@@ -46,6 +46,7 @@ class webApp extends BaseController
      */
     public function __construct()
     {
+
         parent::__construct();
 
         // 初始化分页参数
@@ -78,6 +79,13 @@ class webApp extends BaseController
                 $this->userInfo = $userInfo;
             }
 
+            $locale = RedisService::get("stores:locale:lang_{$userId}");
+            $locale = $locale? $locale : config('app.locale','zh-cn');
+            if($locale){
+                session(['locale_lang'=>$locale]);
+                app()->setLocale($locale);
+            }
+
             return $next($request);
         });
     }

+ 1 - 0
app/Http/Kernel.php

@@ -23,6 +23,7 @@ class Kernel extends HttpKernel
         \App\Http\Middleware\TrimStrings::class,
         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
         \App\Http\Middleware\EnableCrossRequestMiddleware::class,
+        \Illuminate\Session\Middleware\StartSession::class,
     ];
 
     /**

+ 3 - 1
app/Http/Middleware/WebLogin.php

@@ -50,10 +50,12 @@ class WebLogin extends Middleware
             $locale = RedisService::get("stores:locale:lang_{$userId}");
             $locale = $locale? $locale : session('locale_lang');
             if($locale){
-                session('locale_lang', $locale);
+                session(['locale_lang'=>$locale]);
                 app()->setLocale($locale);
             }
+
         }else if ($locale){
+            session(['locale_lang'=>$locale]);
             app()->setLocale($locale);
         }