perf: 优化国际化语言

This commit is contained in:
kuaifan
2024-11-05 22:43:58 +08:00
parent ef2230a331
commit c46fd080df
11 changed files with 133 additions and 33 deletions

View File

@@ -8,6 +8,7 @@ use App\Module\Base;
use App\Module\Doo;
use Cache;
use Carbon\Carbon;
use Request;
/**
* App\Models\User
@@ -446,6 +447,12 @@ class User extends AbstractModel
if (Carbon::parse($user->line_at)->addSeconds(30)->lt(Carbon::now())) {
$upArray['line_at'] = Carbon::now();
}
if (empty($user->lang) || Request::hasHeader('language')) {
$lang = Request::header('language');
if (Doo::checkLanguage($lang) && $user->lang != $lang) {
$upArray['lang'] = $lang;
}
}
if ($upArray) {
$user->updateInstance($upArray);
$user->save();
@@ -486,7 +493,7 @@ class User extends AbstractModel
* @param int $userid 会员ID
* @return self
*/
public static function userid2basic($userid)
public static function userid2basic($userid, $addField = [])
{
global $_A;
if (empty($userid)) {
@@ -496,7 +503,7 @@ class User extends AbstractModel
if (isset($_A["__static_userid2basic_" . $userid])) {
return $_A["__static_userid2basic_" . $userid];
}
$userInfo = self::whereUserid($userid)->select(User::$basicField)->first();
$userInfo = self::whereUserid($userid)->select(array_merge(User::$basicField, $addField))->first();
if ($userInfo) {
$userInfo->online = $userInfo->getOnlineStatus();
$userInfo->department_name = $userInfo->getDepartmentName();