Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
bba185a6
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 大约 3 年
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bba185a6
编写于
3月 04, 2020
作者:
M
mokun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
server i18n
上级
cb6291bc
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
33 addition
and
17 deletion
+33
-17
backend/src/main/java/io/metersphere/commons/constants/I18nConstants.java
.../java/io/metersphere/commons/constants/I18nConstants.java
+0
-5
backend/src/main/java/io/metersphere/config/I18nConfig.java
backend/src/main/java/io/metersphere/config/I18nConfig.java
+7
-0
backend/src/main/java/io/metersphere/controller/I18nController.java
...c/main/java/io/metersphere/controller/I18nController.java
+11
-3
backend/src/main/java/io/metersphere/controller/LoginController.java
.../main/java/io/metersphere/controller/LoginController.java
+3
-1
backend/src/main/java/io/metersphere/i18n/Translator.java
backend/src/main/java/io/metersphere/i18n/Translator.java
+0
-2
backend/src/main/java/io/metersphere/service/UserService.java
...end/src/main/java/io/metersphere/service/UserService.java
+1
-0
backend/src/main/java/io/metersphere/websocket/WebSocketServer.java
...c/main/java/io/metersphere/websocket/WebSocketServer.java
+5
-5
backend/src/main/resources/i18n/en-US.json
backend/src/main/resources/i18n/en-US.json
+3
-0
backend/src/main/resources/i18n/zh-CN.json
backend/src/main/resources/i18n/zh-CN.json
+1
-1
frontend/src/performance/App.vue
frontend/src/performance/App.vue
+2
-0
未找到文件。
backend/src/main/java/io/metersphere/commons/constants/I18nConstants.java
浏览文件 @
bba185a6
...
...
@@ -3,9 +3,4 @@ package io.metersphere.commons.constants;
public
class
I18nConstants
{
public
static
final
String
LANG_COOKIE_NAME
=
"MS_USER_LANG"
;
public
static
final
String
LOCAL
=
"local"
;
public
static
final
String
CLUSTER
=
"cluster"
;
}
backend/src/main/java/io/metersphere/config/I18nConfig.java
浏览文件 @
bba185a6
package
io.metersphere.config
;
import
io.metersphere.i18n.I18nManager
;
import
io.metersphere.service.CommonBeanFactory
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -18,4 +19,10 @@ public class I18nConfig {
dirs
.
add
(
"i18n/"
);
return
new
I18nManager
(
dirs
);
}
@Bean
@ConditionalOnMissingBean
public
CommonBeanFactory
commonBeanFactory
()
{
return
new
CommonBeanFactory
();
}
}
backend/src/main/java/io/metersphere/controller/I18nController.java
浏览文件 @
bba185a6
...
...
@@ -5,6 +5,7 @@ import io.metersphere.commons.constants.I18nConstants;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.commons.utils.LogUtil
;
import
io.metersphere.i18n.Lang
;
import
io.metersphere.i18n.Translator
;
import
io.metersphere.service.UserService
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.annotation.Resource
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
...
...
@@ -30,12 +32,12 @@ public class I18nController {
private
UserService
userService
;
@GetMapping
(
"lang/change/{lang}"
)
public
void
changeLang
(
@PathVariable
String
lang
,
HttpServletResponse
response
)
{
public
void
changeLang
(
@PathVariable
String
lang
,
HttpServletRe
quest
request
,
HttpServletRe
sponse
response
)
{
Lang
targetLang
=
Lang
.
getLangWithoutDefault
(
lang
);
if
(
targetLang
==
null
)
{
response
.
setStatus
(
HttpServletResponse
.
SC_NOT_ACCEPTABLE
);
LogUtil
.
error
(
"Invalid parameter: "
+
lang
);
MSException
.
throwException
(
"ERROR_LANG_INVALID"
);
MSException
.
throwException
(
Translator
.
get
(
"error_lang_invalid"
)
);
}
userService
.
setLanguage
(
targetLang
.
getDesc
());
Cookie
cookie
=
new
Cookie
(
I18nConstants
.
LANG_COOKIE_NAME
,
targetLang
.
getDesc
());
...
...
@@ -44,10 +46,16 @@ public class I18nController {
response
.
addCookie
(
cookie
);
//重新登录
if
(
"release"
.
equals
(
runMode
))
{
Cookie
f2cCookie
=
new
Cookie
(
"MS_
COOKIE
_ID"
,
"deleteMe"
);
Cookie
f2cCookie
=
new
Cookie
(
"MS_
SESSION
_ID"
,
"deleteMe"
);
f2cCookie
.
setPath
(
"/"
);
f2cCookie
.
setMaxAge
(
0
);
response
.
addCookie
(
f2cCookie
);
}
//本地测试用
if
(
"local"
.
equals
(
runMode
))
{
if
(
request
!=
null
)
{
request
.
getSession
(
true
).
setAttribute
(
I18nConstants
.
LANG_COOKIE_NAME
,
lang
);
}
}
}
}
backend/src/main/java/io/metersphere/controller/LoginController.java
浏览文件 @
bba185a6
package
io.metersphere.controller
;
import
io.metersphere.controller.request.LoginRequest
;
import
io.metersphere.i18n.Translator
;
import
io.metersphere.user.SessionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.authc.*
;
...
...
@@ -15,7 +17,7 @@ public class LoginController {
@GetMapping
(
value
=
"/isLogin"
)
public
ResultHolder
isLogin
()
{
if
(
SecurityUtils
.
getSubject
().
isAuthenticated
())
{
return
ResultHolder
.
success
(
""
);
return
ResultHolder
.
success
(
Translator
.
getLangDes
()
);
}
return
ResultHolder
.
error
(
""
);
}
...
...
backend/src/main/java/io/metersphere/i18n/Translator.java
浏览文件 @
bba185a6
...
...
@@ -83,7 +83,6 @@ public class Translator {
String
preferLang
=
Lang
.
zh_CN
.
getDesc
();
try
{
if
(
request
!=
null
)
{
Object
sessionLang
=
request
.
getSession
(
true
).
getAttribute
(
I18nConstants
.
LANG_COOKIE_NAME
);
if
(
sessionLang
!=
null
&&
StringUtils
.
isNotBlank
(
sessionLang
.
toString
()))
{
...
...
@@ -111,7 +110,6 @@ public class Translator {
}
else
{
preferLang
=
getSystemParameterLanguage
(
preferLang
);
}
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"Fail to getLang."
,
e
);
}
...
...
backend/src/main/java/io/metersphere/service/UserService.java
浏览文件 @
bba185a6
...
...
@@ -13,6 +13,7 @@ import io.metersphere.dto.OrganizationMemberDTO;
import
io.metersphere.dto.UserDTO
;
import
io.metersphere.dto.UserRoleDTO
;
import
io.metersphere.dto.UserRoleHelpDTO
;
import
io.metersphere.i18n.Translator
;
import
io.metersphere.user.SessionUser
;
import
io.metersphere.user.SessionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
backend/src/main/java/io/metersphere/websocket/WebSocketServer.java
浏览文件 @
bba185a6
...
...
@@ -13,21 +13,21 @@ public class WebSocketServer {
@OnOpen
public
void
onOpen
(
Session
session
)
throws
IOException
{
// Get session and WebSocket connection
System
.
out
.
println
(
"open: "
+
session
.
isOpen
());
System
.
out
.
println
(
"open: "
+
SessionUtils
.
getUser
());
System
.
out
.
println
(
"open: "
+
session
.
getUserProperties
().
get
(
"user"
));
//
System.out.println("open: " + session.isOpen());
//
System.out.println("open: " + SessionUtils.getUser());
//
System.out.println("open: " + session.getUserProperties().get("user"));
}
@OnMessage
public
void
onMessage
(
Session
session
,
String
message
)
throws
IOException
{
// Handle new messages
System
.
out
.
println
(
message
);
//
System.out.println(message);
}
@OnClose
public
void
onClose
(
Session
session
)
throws
IOException
{
// WebSocket connection closes
System
.
out
.
println
(
"close: "
+
session
.
isOpen
());
//
System.out.println("close: " + session.isOpen());
}
@OnError
...
...
backend/src/main/resources/i18n/en-US.json
0 → 100644
浏览文件 @
bba185a6
{
"error_lang_invalid"
:
"Invalid language parameter"
}
\ No newline at end of file
backend/src/main/resources/i18n/zh-CN.json
浏览文件 @
bba185a6
{
"
i18n_test"
:
"测试
"
"
error_lang_invalid"
:
"语言参数错误
"
}
\ No newline at end of file
frontend/src/performance/App.vue
浏览文件 @
bba185a6
...
...
@@ -47,6 +47,8 @@
beforeCreate
()
{
this
.
$get
(
"
/isLogin
"
).
then
(
response
=>
{
if
(
response
.
data
.
success
)
{
window
.
console
.
log
(
response
.
data
);
this
.
$setLang
(
response
.
data
.
data
);
this
.
auth
=
true
;
}
else
{
window
.
location
.
href
=
"
/login
"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录