Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
36f2bb32
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,发现更多精彩内容 >>
提交
36f2bb32
编写于
4月 15, 2021
作者:
C
Captain.B
提交者:
刘瑞斌
4月 15, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(系统设置): 功能模块支持启用、禁用(X-Pack)
上级
63e9e0d5
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
92 addition
and
60 deletion
+92
-60
backend/src/main/java/io/metersphere/xpack
backend/src/main/java/io/metersphere/xpack
+1
-1
frontend/src/business/components/common/head/HeaderTopMenus.vue
...nd/src/business/components/common/head/HeaderTopMenus.vue
+72
-54
frontend/src/business/components/settings/system/SystemParameterSetting.vue
...ess/components/settings/system/SystemParameterSetting.vue
+7
-2
frontend/src/business/components/xpack
frontend/src/business/components/xpack
+1
-1
frontend/src/i18n/en-US.js
frontend/src/i18n/en-US.js
+4
-1
frontend/src/i18n/zh-CN.js
frontend/src/i18n/zh-CN.js
+4
-1
frontend/src/i18n/zh-TW.js
frontend/src/i18n/zh-TW.js
+3
-0
未找到文件。
xpack
@
5f113d50
比较
493663be
...
5f113d50
Subproject commit
493663be7c000ceef5913783788def1f43b15b2f
Subproject commit
5f113d50f0d1d3c410b8ccd94cb5c9c944f2272c
frontend/src/business/components/common/head/HeaderTopMenus.vue
浏览文件 @
36f2bb32
...
...
@@ -8,17 +8,20 @@
@
select=
"handleSelect"
router
>
<el-menu-item
index=
"/track"
v-permission=
"['test_manager','test_user','test_viewer']"
>
<el-menu-item
index=
"/track"
v-
if=
"check('testTrack')"
v-
permission=
"['test_manager','test_user','test_viewer']"
>
{{
$t
(
'
test_track.test_track
'
)
}}
</el-menu-item>
<el-menu-item
index=
"/api"
@
click=
"active()"
v-permission=
"['test_manager','test_user','test_viewer']"
>
<el-menu-item
index=
"/api"
@
click=
"active()"
v-if=
"check('api')"
v-permission=
"['test_manager','test_user','test_viewer']"
>
{{
$t
(
'
commons.api
'
)
}}
</el-menu-item>
<el-menu-item
index=
"/performance"
onselectstart=
"return false"
<el-menu-item
index=
"/performance"
v-if=
"check('performance')"
onselectstart=
"return false"
v-permission=
"['test_manager','test_user','test_viewer']"
>
{{
$t
(
'
commons.performance
'
)
}}
</el-menu-item>
<el-menu-item
index=
"/report"
v-permission=
"['test_manager','test_user','test_viewer']"
v-if=
"isReport"
>
<el-menu-item
index=
"/report"
v-permission=
"['test_manager','test_user','test_viewer']"
v-if=
"isReport && check('reportStat')"
>
{{
$t
(
'
commons.report_statistics.title
'
)
}}
</el-menu-item>
...
...
@@ -29,19 +32,24 @@
</
template
>
<
script
>
import
{
LicenseKey
}
from
'
@/common/js/constants
'
;
import
{
mapGetters
}
from
"
vuex
"
;
import
{
LicenseKey
}
from
'
@/common/js/constants
'
;
import
{
mapGetters
}
from
"
vuex
"
;
const
requireContext
=
require
.
context
(
'
@/business/components/xpack/
'
,
true
,
/router
\.
js$/
);
const
report
=
requireContext
.
keys
().
map
(
key
=>
requireContext
(
key
).
report
);
const
isReport
=
report
&&
report
!=
null
&&
report
.
length
>
0
&&
report
[
0
]
!=
undefined
?
true
:
false
;
const
requireContext
=
require
.
context
(
'
@/business/components/xpack/
'
,
true
,
/router
\.
js$/
)
const
report
=
requireContext
.
keys
().
map
(
key
=>
requireContext
(
key
).
report
)
;
const
isReport
=
report
&&
report
!=
null
&&
report
.
length
>
0
&&
report
[
0
]
!=
undefined
?
true
:
false
;
export
default
{
const
requireComponent
=
require
.
context
(
'
@/business/components/xpack/
'
,
true
,
/
\.
vue$/
);
const
module
=
requireComponent
.
keys
().
length
>
0
?
requireComponent
(
"
./module/Module.vue
"
)
:
{}
;
export
default
{
name
:
"
MsTopMenus
"
,
data
()
{
return
{
activeIndex
:
'
/
'
,
isReport
:
isReport
}
isReport
:
isReport
,
modules
:
{}
};
},
props
:
{
color
:
String
...
...
@@ -61,6 +69,10 @@
let
license
=
localStorage
.
getItem
(
LicenseKey
);
if
(
license
!=
"
valid
"
)
{
this
.
isReport
=
false
;
}
else
{
if
(
module
.
default
)
{
module
.
default
.
listModules
(
this
);
}
}
},
computed
:
{
...
...
@@ -71,7 +83,7 @@
},
methods
:
{
handleSelect
(
index
)
{
this
.
activeIndex
=
index
this
.
activeIndex
=
index
;
},
active
()
{
if
(
this
.
activeIndex
===
'
/api
'
)
{
...
...
@@ -81,15 +93,21 @@
window
.
location
.
href
=
"
/#/api/home_obsolete
"
;
}
}
},
check
(
key
)
{
if
(
module
.
default
!==
undefined
)
{
return
true
;
}
return
this
.
modules
[
key
]
===
'
ENABLE
'
;
}
}
};
</
script
>
<
style
scoped
>
.el-menu
>>>
.el-menu-item
{
.el-menu
>>>
.el-menu-item
{
box-sizing
:
border-box
;
height
:
40px
;
}
}
</
style
>
frontend/src/business/components/settings/system/SystemParameterSetting.vue
浏览文件 @
36f2bb32
...
...
@@ -17,6 +17,9 @@
<el-tab-pane
v-if=
"hasLicense()"
:label=
"$t('auth_source.title')"
name=
"auth"
>
<ms-auth/>
</el-tab-pane>
<el-tab-pane
v-if=
"hasLicense()"
:label=
"$t('module.title')"
name=
"module"
>
<ms-module/>
</el-tab-pane>
</el-tabs>
</el-card>
</
template
>
...
...
@@ -30,6 +33,7 @@ import {hasLicense} from '@/common/js/utils';
const
requireComponent
=
require
.
context
(
'
@/business/components/xpack/
'
,
true
,
/
\.
vue$/
);
const
display
=
requireComponent
.
keys
().
length
>
0
?
requireComponent
(
"
./display/Display.vue
"
)
:
{};
const
auth
=
requireComponent
.
keys
().
length
>
0
?
requireComponent
(
"
./auth/Auth.vue
"
)
:
{};
const
module
=
requireComponent
.
keys
().
length
>
0
?
requireComponent
(
"
./module/Module.vue
"
)
:
{};
export
default
{
name
:
"
SystemParameterSetting
"
,
...
...
@@ -39,16 +43,17 @@ export default {
LdapSetting
,
"
MsDisplay
"
:
display
.
default
,
"
MsAuth
"
:
auth
.
default
,
"
MsModule
"
:
module
.
default
,
},
data
()
{
return
{
activeName
:
'
base
'
,
}
}
;
},
methods
:
{
hasLicense
,
}
}
}
;
</
script
>
<
style
scoped
>
...
...
xpack
@
449b5508
比较
a37e6bb5
...
449b5508
Subproject commit
a37e6bb56ffaa7ecc4ee128640e9415304ad41b6
Subproject commit
449b55084bd1721b2ebf25bfc82d255354092c3b
frontend/src/i18n/en-US.js
浏览文件 @
36f2bb32
...
...
@@ -991,7 +991,7 @@ export default {
unit_of_measurement
:
""
,
unit_of_count
:
""
,
unit_of_times
:
"
times
"
,
formula
:{
formula
:
{
completion
:
"
finished api / all api * 100%
"
,
coverage
:
"
apis whitch have test case / all apis * 100%
"
,
pass
:
"
scenarios whitch final execute is sucess / all scenarios * 100%
"
,
...
...
@@ -1678,6 +1678,9 @@ export default {
title
:
'
Auth Source
'
,
auth_name_valid
:
'
Name does not support special characters
'
,
},
module
:
{
title
:
'
Module Management
'
},
table
:
{
header_display_field
:
'
Header display field
'
,
fields_to_be_selected
:
'
Fields to be selected
'
,
...
...
frontend/src/i18n/zh-CN.js
浏览文件 @
36f2bb32
...
...
@@ -995,7 +995,7 @@ export default {
unit_of_measurement
:
"
个
"
,
unit_of_count
:
"
个
"
,
unit_of_times
:
"
次
"
,
formula
:{
formula
:
{
completion
:
"
已完成的接口/接口总数*100%
"
,
coverage
:
"
有案例的接口/接口总数*100%
"
,
pass
:
"
最后一次执行成功的场景/场景总数*100%
"
,
...
...
@@ -1681,6 +1681,9 @@ export default {
title
:
'
认证设置
'
,
auth_name_valid
:
'
名称不支持特殊字符
'
,
},
module
:
{
title
:
'
模块管理
'
},
table
:
{
header_display_field
:
'
表头显示字段
'
,
fields_to_be_selected
:
'
待选字段
'
,
...
...
frontend/src/i18n/zh-TW.js
浏览文件 @
36f2bb32
...
...
@@ -1679,6 +1679,9 @@ export default {
title
:
'
認證設置
'
,
auth_name_valid
:
'
名稱不支持特殊字符
'
,
},
module
:
{
title
:
'
模塊管理
'
},
table
:
{
header_display_field
:
'
表頭顯示欄位
'
,
fields_to_be_selected
:
'
待選欄位
'
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录