切换语言

This commit is contained in:
2025-03-20 11:32:40 +08:00
parent f3fdad93ba
commit a5713b1adf
5 changed files with 55 additions and 15 deletions
+45 -12
View File
@@ -42,7 +42,7 @@ class UserController
//验证密码
// if (!password_verify($userPassword, $hashedPassword)) {
if ($userPassword==$hashedPassword) {
if ($userPassword == $hashedPassword) {
return Util::fail([], trans('password_error'));
}
$userId = $user['id']; // 实际从数据库获取
@@ -67,7 +67,7 @@ class UserController
*/
public function sendCode(Request $request)
{
$email = Util::getParam($request,'email');
$email = Util::getParam($request, 'email');
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
return Util::fail([], 'email' . trans('not_null'));
}
@@ -94,16 +94,17 @@ class UserController
*/
public function register(Request $request)
{
$email = Util::getParam($request,'email','asdf');
$code = Util::getParam($request,'code');
$sex = Util::getParam($request,'sex',0);
$name = Util::getParam($request,'name',0);
$password = Util::getParam($request,'password');
$mobile = Util::getParam($request,'mobile');
$id = Util::getParam($request,'id');
$email = Util::getParam($request, 'email', 'asdf');
$code = Util::getParam($request, 'code');
$sex = Util::getParam($request, 'sex', 0);
$name = Util::getParam($request, 'name', 0);
$password = Util::getParam($request, 'password');
$mobile = Util::getParam($request, 'mobile');
$id = Util::getParam($request, 'id');
$language = Util::getParam($request, 'language');
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
return Util::fail([], 'email'.$email . trans('not_null'));
return Util::fail([], 'email' . $email . trans('not_null'));
}
$res = User::select('id', 'email')
@@ -142,16 +143,48 @@ class UserController
$res = User::where('id', $id)
->update($data);
// Log::info('update', ['res' => $res]);
(!$res)?: $res=User::find($id)->toArray();
(!$res) ?: $res = User::find($id)->toArray();
}
unset($res['password']);
locale($language);
if ($res) {
return Util::success($res,trans('register_success'));
return Util::success($res, trans('register_success'));
} else {
return Util::fail($res, trans('register_fail'));
}
}
/**
* 注册
* @param Request $request
* @return \support\Response
* @throws \Random\RandomException
*/
public function language(Request $request)
{
$id = Util::getParam($request, 'id');
$language = Util::getParam($request, 'language');
if (Util::isEmpty($id)) {
return Util::fail([], 'id' . trans('not_null'));
}
if (Util::isEmpty($language)) {
return Util::fail([], 'language' . trans('not_null'));
}
if (!in_array($language,['en','zh_CN'])) {
return Util::fail([], trans('param_error'));
}
$data = [
'language' => $language,
];
$res = User::where('id', $id)
->update($data);
locale($language);
if ($res) {
return Util::success(null, trans('language_success'));
} else {
return Util::fail(null, trans('language_fail'));
}
}
}
+2 -1
View File
@@ -70,7 +70,7 @@ class AuthMiddleware implements MiddlewareInterface
$userId = $decoded->sub;
$user = User::select(['id','name','sex','role','avatar','email','password'])
$user = User::select(['id','name','sex','role','avatar','email','password','language'])
->find($userId);
if(!$user){
return Util::fail(['user'=>$user],trans('user_none'));
@@ -80,6 +80,7 @@ class AuthMiddleware implements MiddlewareInterface
// 将用户ID存入请求对象,供后续使用
// $request->user = ['id' => $userId];
$request->user = $user;
locale($user['language']);
return $handler($request);
} catch (BusinessException $e) {
return json(['code' => 401, 'msg' => $e->getMessage()]);
+2 -2
View File
@@ -17,9 +17,9 @@
*/
return [
// 默认语言
'locale' => 'zh_CN',
'locale' => 'en',
// 回退语言,当前语言中无法找到翻译时则尝试使用回退语言中的翻译
'fallback_locale' => ['zh_CN', 'en'],
'fallback_locale' => ['en', 'zh_CN'],
// Folder where language files are stored
'path' => base_path() . '/resource/translations',
];
+3
View File
@@ -14,4 +14,7 @@ return [
'save_fail' => 'save fail',
'register_success' => 'register success',
'register_fail' => 'register fail',
'language_success' => 'Successfully switched languages',
'language_fail' => 'Language switching failed',
'param_error' => 'param error',
];
+3
View File
@@ -14,4 +14,7 @@ return [
'save_fail' => '保存失败',
'register_success' => '注册成功',
'register_fail' => '注册失败',
'language_success' => '切换语言成功',
'language_fail' => '切换语言失败',
'param_error' => '参数错误',
];