mirror of
https://github.com/jumpserver/lina.git
synced 2025-06-25 14:42:54 +00:00
perf: i18n System Settings End
This commit is contained in:
parent
3672716ee6
commit
c4433592f4
@ -166,7 +166,7 @@ export default {
|
|||||||
break
|
break
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
col.formatter = ChoicesFormatter
|
col.formatter = ChoicesFormatter
|
||||||
col.width = '80px'
|
// col.width = '80px'
|
||||||
break
|
break
|
||||||
case 'datetime':
|
case 'datetime':
|
||||||
col.formatter = DateFormatter
|
col.formatter = DateFormatter
|
||||||
@ -272,8 +272,15 @@ export default {
|
|||||||
if (lang === 'zh') {
|
if (lang === 'zh') {
|
||||||
factor = 20
|
factor = 20
|
||||||
}
|
}
|
||||||
|
let [sortable, filters] = [0, 0]
|
||||||
|
if (col && col?.sortable === 'custom') {
|
||||||
|
sortable = 10
|
||||||
|
}
|
||||||
|
if (col && col?.filters?.length > 0) {
|
||||||
|
filters = 12
|
||||||
|
}
|
||||||
if (col && !col.width && col.label && !col.minWidth) {
|
if (col && !col.width && col.label && !col.minWidth) {
|
||||||
col.minWidth = `${col.label.length * factor + 30}px`
|
col.minWidth = `${col.label.length * factor + sortable + filters + 30}px`
|
||||||
}
|
}
|
||||||
return col
|
return col
|
||||||
},
|
},
|
||||||
|
@ -39,13 +39,8 @@ export default {
|
|||||||
],
|
],
|
||||||
encryptedFields: ['DINGTALK_APPSECRET'],
|
encryptedFields: ['DINGTALK_APPSECRET'],
|
||||||
fields: [
|
fields: [
|
||||||
[
|
|
||||||
this.$t('BasicInfo'),
|
|
||||||
[
|
|
||||||
'AUTH_DINGTALK', 'DINGTALK_AGENTID',
|
'AUTH_DINGTALK', 'DINGTALK_AGENTID',
|
||||||
'DINGTALK_APPKEY', 'DINGTALK_APPSECRET'
|
'DINGTALK_APPKEY', 'DINGTALK_APPSECRET'
|
||||||
]
|
|
||||||
]
|
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
DINGTALK_APPSECRET: {
|
DINGTALK_APPSECRET: {
|
||||||
|
@ -64,12 +64,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
encryptedFields: this.encryptedFields,
|
encryptedFields: this.encryptedFields,
|
||||||
fields: [
|
fields: this.formFields,
|
||||||
[
|
|
||||||
this.$t('BasicInfo'),
|
|
||||||
this.formFields
|
|
||||||
]
|
|
||||||
],
|
|
||||||
// 不清理的话,编辑secret,在删除提交会报错
|
// 不清理的话,编辑secret,在删除提交会报错
|
||||||
cleanFormValue(data) {
|
cleanFormValue(data) {
|
||||||
this.encryptedFields.forEach(field => {
|
this.encryptedFields.forEach(field => {
|
||||||
|
@ -32,17 +32,19 @@ export default {
|
|||||||
'AUTH_OAUTH2_CLIENT_ID', 'AUTH_OAUTH2_CLIENT_SECRET',
|
'AUTH_OAUTH2_CLIENT_ID', 'AUTH_OAUTH2_CLIENT_SECRET',
|
||||||
'AUTH_OAUTH2_ACCESS_TOKEN_METHOD'
|
'AUTH_OAUTH2_ACCESS_TOKEN_METHOD'
|
||||||
]],
|
]],
|
||||||
[this.$t('Params'), [
|
[this.$t('Server'), [
|
||||||
'AUTH_OAUTH2_SCOPE',
|
'AUTH_OAUTH2_SCOPE',
|
||||||
'AUTH_OAUTH2_PROVIDER_AUTHORIZATION_ENDPOINT',
|
'AUTH_OAUTH2_PROVIDER_AUTHORIZATION_ENDPOINT',
|
||||||
'AUTH_OAUTH2_ACCESS_TOKEN_ENDPOINT',
|
'AUTH_OAUTH2_ACCESS_TOKEN_ENDPOINT',
|
||||||
'AUTH_OAUTH2_PROVIDER_USERINFO_ENDPOINT',
|
'AUTH_OAUTH2_PROVIDER_USERINFO_ENDPOINT',
|
||||||
'AUTH_OAUTH2_PROVIDER_END_SESSION_ENDPOINT'
|
'AUTH_OAUTH2_PROVIDER_END_SESSION_ENDPOINT'
|
||||||
]],
|
]],
|
||||||
[this.$t('Other'), [
|
[this.$t('Search'), [
|
||||||
'AUTH_OAUTH2_LOGOUT_COMPLETELY',
|
|
||||||
'AUTH_OAUTH2_ALWAYS_UPDATE_USER',
|
|
||||||
'AUTH_OAUTH2_USER_ATTR_MAP'
|
'AUTH_OAUTH2_USER_ATTR_MAP'
|
||||||
|
]],
|
||||||
|
[this.$t('Other'), [
|
||||||
|
'AUTH_OAUTH2_ALWAYS_UPDATE_USER',
|
||||||
|
'AUTH_OAUTH2_LOGOUT_COMPLETELY'
|
||||||
]]
|
]]
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
@ -61,8 +63,7 @@ export default {
|
|||||||
},
|
},
|
||||||
AUTH_OAUTH2_USER_ATTR_MAP: {
|
AUTH_OAUTH2_USER_ATTR_MAP: {
|
||||||
component: JsonEditor,
|
component: JsonEditor,
|
||||||
rules: [JsonRequired],
|
rules: [JsonRequired]
|
||||||
helpText: this.$t('AuthUserAttrMapHelpText')
|
|
||||||
},
|
},
|
||||||
AUTH_OAUTH2_ACCESS_TOKEN_METHOD: {
|
AUTH_OAUTH2_ACCESS_TOKEN_METHOD: {
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ export default {
|
|||||||
encryptedFields: ['RADIUS_SECRET'],
|
encryptedFields: ['RADIUS_SECRET'],
|
||||||
fields: [
|
fields: [
|
||||||
[this.$t('Basic'), ['AUTH_RADIUS', 'RADIUS_SERVER', 'RADIUS_PORT', 'RADIUS_SECRET']],
|
[this.$t('Basic'), ['AUTH_RADIUS', 'RADIUS_SERVER', 'RADIUS_PORT', 'RADIUS_SECRET']],
|
||||||
[this.$t('Other'), ['OTP_IN_RADIUS']]
|
[this.$t('MFA'), ['OTP_IN_RADIUS']]
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
RADIUS_SECRET: {
|
RADIUS_SECRET: {
|
||||||
|
@ -23,18 +23,20 @@ export default {
|
|||||||
settings: {
|
settings: {
|
||||||
url: '/api/v1/settings/setting/?category=saml2',
|
url: '/api/v1/settings/setting/?category=saml2',
|
||||||
fields: [
|
fields: [
|
||||||
[this.$t('Basic'), ['AUTH_SAML2']],
|
[this.$t('Basic'), [
|
||||||
[this.$t('Certificate'), [
|
'AUTH_SAML2',
|
||||||
'SAML2_SP_KEY_CONTENT',
|
'SAML2_SP_KEY_CONTENT',
|
||||||
'SAML2_SP_CERT_CONTENT'
|
'SAML2_SP_CERT_CONTENT',
|
||||||
]],
|
'SAML2_IDP_METADATA_URL',
|
||||||
[this.$t('Params'), [
|
'SAML2_IDP_METADATA_XML',
|
||||||
'SAML2_IDP_METADATA_URL', 'SAML2_IDP_METADATA_XML',
|
|
||||||
'SAML2_SP_ADVANCED_SETTINGS'
|
'SAML2_SP_ADVANCED_SETTINGS'
|
||||||
|
|
||||||
|
]],
|
||||||
|
[this.$t('Search'), [
|
||||||
|
'SAML2_RENAME_ATTRIBUTES'
|
||||||
]],
|
]],
|
||||||
[this.$t('Other'), [
|
[this.$t('Other'), [
|
||||||
'SAML2_LOGOUT_COMPLETELY', 'AUTH_SAML2_ALWAYS_UPDATE_USER',
|
'AUTH_SAML2_ALWAYS_UPDATE_USER', 'SAML2_LOGOUT_COMPLETELY'
|
||||||
'SAML2_RENAME_ATTRIBUTES'
|
|
||||||
]]
|
]]
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
@ -60,12 +62,11 @@ export default {
|
|||||||
},
|
},
|
||||||
SAML2_SP_CERT_CONTENT: {
|
SAML2_SP_CERT_CONTENT: {
|
||||||
component: UploadKey,
|
component: UploadKey,
|
||||||
helpText: this.$t('AuthSAMLCertHelpText') + ' <a href="/core/auth/saml2/metadata/" target="_blank">查看</a>'
|
helpText: this.$t('AuthSAMLCertHelpText') + ` <a href="/core/auth/saml2/metadata/" target="_blank">${this.$t('View')}</a>`
|
||||||
},
|
},
|
||||||
SAML2_RENAME_ATTRIBUTES: {
|
SAML2_RENAME_ATTRIBUTES: {
|
||||||
component: JsonEditor,
|
component: JsonEditor,
|
||||||
rules: [JsonRequired],
|
rules: [JsonRequired]
|
||||||
helpText: this.$t('AuthSaml2UserAttrMapHelpText')
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
submitMethod: () => 'patch',
|
submitMethod: () => 'patch',
|
||||||
|
@ -41,12 +41,7 @@ export default {
|
|||||||
],
|
],
|
||||||
encryptedFields: ['SLACK_SECRET'],
|
encryptedFields: ['SLACK_SECRET'],
|
||||||
fields: [
|
fields: [
|
||||||
[
|
|
||||||
this.$t('BasicInfo'),
|
|
||||||
[
|
|
||||||
'AUTH_SLACK', 'SLACK_CLIENT_ID', 'SLACK_CLIENT_SECRET', 'SLACK_BOT_TOKEN'
|
'AUTH_SLACK', 'SLACK_CLIENT_ID', 'SLACK_CLIENT_SECRET', 'SLACK_BOT_TOKEN'
|
||||||
]
|
|
||||||
]
|
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
SLACK_APP_SECRET: {
|
SLACK_APP_SECRET: {
|
||||||
|
@ -40,12 +40,7 @@ export default {
|
|||||||
],
|
],
|
||||||
encryptedFields: ['WECOM_SECRET'],
|
encryptedFields: ['WECOM_SECRET'],
|
||||||
fields: [
|
fields: [
|
||||||
[
|
|
||||||
this.$t('BasicInfo'),
|
|
||||||
[
|
|
||||||
'AUTH_WECOM', 'WECOM_CORPID', 'WECOM_AGENTID', 'WECOM_SECRET'
|
'AUTH_WECOM', 'WECOM_CORPID', 'WECOM_AGENTID', 'WECOM_SECRET'
|
||||||
]
|
|
||||||
]
|
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
WECOM_SECRET: {
|
WECOM_SECRET: {
|
||||||
|
@ -30,14 +30,14 @@ export default {
|
|||||||
visible: false,
|
visible: false,
|
||||||
fields: [
|
fields: [
|
||||||
[
|
[
|
||||||
this.$t('UserLoginLimit'),
|
this.$t('User'),
|
||||||
[
|
[
|
||||||
'SECURITY_LOGIN_LIMIT_COUNT',
|
'SECURITY_LOGIN_LIMIT_COUNT',
|
||||||
'SECURITY_LOGIN_LIMIT_TIME'
|
'SECURITY_LOGIN_LIMIT_TIME'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
this.$t('IPLoginLimit'),
|
this.$t('IP'),
|
||||||
[
|
[
|
||||||
'SECURITY_LOGIN_IP_LIMIT_COUNT',
|
'SECURITY_LOGIN_IP_LIMIT_COUNT',
|
||||||
'SECURITY_LOGIN_IP_LIMIT_TIME',
|
'SECURITY_LOGIN_IP_LIMIT_TIME',
|
||||||
|
@ -66,8 +66,7 @@ export default {
|
|||||||
showFalse: false,
|
showFalse: false,
|
||||||
showText: false
|
showText: false
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center'
|
||||||
width: '150px'
|
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
formatterArgs: {
|
formatterArgs: {
|
||||||
|
@ -38,9 +38,6 @@ export default {
|
|||||||
type: 'select',
|
type: 'select',
|
||||||
disabled: true
|
disabled: true
|
||||||
},
|
},
|
||||||
is_default: {
|
|
||||||
helpText: this.$t('SetToDefaultStorage')
|
|
||||||
},
|
|
||||||
meta: {
|
meta: {
|
||||||
fields: ['HOSTS', 'INDEX_BY_DATE', 'INDEX', 'IGNORE_VERIFY_CERTS'],
|
fields: ['HOSTS', 'INDEX_BY_DATE', 'INDEX', 'IGNORE_VERIFY_CERTS'],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
|
@ -36,7 +36,7 @@ export default {
|
|||||||
},
|
},
|
||||||
columnsExclude: ['meta'],
|
columnsExclude: ['meta'],
|
||||||
columns: [
|
columns: [
|
||||||
'id', 'name', 'type', 'comment', 'is_default', 'actions'
|
'id', 'name', 'type', 'is_default', 'comment', 'actions'
|
||||||
],
|
],
|
||||||
columnsShow: {
|
columnsShow: {
|
||||||
min: ['name', 'type', 'actions']
|
min: ['name', 'type', 'actions']
|
||||||
@ -52,8 +52,7 @@ export default {
|
|||||||
showFalse: false,
|
showFalse: false,
|
||||||
showText: false
|
showText: false
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center'
|
||||||
width: '150px'
|
|
||||||
},
|
},
|
||||||
comment: {
|
comment: {
|
||||||
sortable: 'custom'
|
sortable: 'custom'
|
||||||
|
@ -63,7 +63,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
is_default: {
|
is_default: {
|
||||||
helpText: this.$t('SetToDefaultStorage'),
|
|
||||||
hidden: (formValue) => formValue.type === 'sftp'
|
hidden: (formValue) => formValue.type === 'sftp'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -14,7 +14,6 @@ export default {
|
|||||||
GenericCreateUpdateForm
|
GenericCreateUpdateForm
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
const comp = this.$t('Component')
|
|
||||||
return {
|
return {
|
||||||
fields: [
|
fields: [
|
||||||
[
|
[
|
||||||
@ -24,7 +23,7 @@ export default {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
`SSH ${comp}(KoKo)`,
|
`SSH & KoKo`,
|
||||||
[
|
[
|
||||||
'TERMINAL_KOKO_SSH_ENABLED',
|
'TERMINAL_KOKO_SSH_ENABLED',
|
||||||
'TERMINAL_PASSWORD_AUTH', 'TERMINAL_PUBLIC_KEY_AUTH',
|
'TERMINAL_PASSWORD_AUTH', 'TERMINAL_PUBLIC_KEY_AUTH',
|
||||||
@ -33,33 +32,26 @@ export default {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
`RDP ${comp}(Razor)`,
|
`RDP & Razor`,
|
||||||
[
|
[
|
||||||
'TERMINAL_RAZOR_ENABLED'
|
'TERMINAL_RAZOR_ENABLED'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
`DB ${comp}(Magnus)`,
|
`DB & Magnus`,
|
||||||
[
|
[
|
||||||
'TERMINAL_MAGNUS_ENABLED'
|
'TERMINAL_MAGNUS_ENABLED'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
TERMINAL_KOKO_SSH_ENABLED: {
|
|
||||||
helpText: this.$i18n.t('Info') + ': ' + this.$i18n.t('EnableKoKoSSHHelpText')
|
|
||||||
},
|
|
||||||
TERMINAL_RAZOR_ENABLED: {
|
TERMINAL_RAZOR_ENABLED: {
|
||||||
helpText: this.$i18n.t('Info') + ': ' + this.$i18n.t('SettingInEndpointHelpText'),
|
|
||||||
hidden: () => {
|
hidden: () => {
|
||||||
return !this.$store.getters.hasValidLicense
|
return !this.$store.getters.hasValidLicense
|
||||||
},
|
},
|
||||||
el: {
|
el: {
|
||||||
hiddenGroup: true
|
hiddenGroup: true
|
||||||
}
|
}
|
||||||
},
|
|
||||||
TERMINAL_MAGNUS_ENABLED: {
|
|
||||||
helpText: this.$i18n.t('Info') + ': ' + this.$i18n.t('SettingInEndpointHelpText')
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getUrl: () => '/api/v1/settings/setting/?category=terminal',
|
getUrl: () => '/api/v1/settings/setting/?category=terminal',
|
||||||
|
@ -139,13 +139,11 @@ export default {
|
|||||||
sortable: 'custom'
|
sortable: 'custom'
|
||||||
},
|
},
|
||||||
is_active: {
|
is_active: {
|
||||||
width: '80px',
|
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
is_alive: {
|
is_alive: {
|
||||||
},
|
},
|
||||||
session_online: {
|
session_online: {
|
||||||
width: '120px'
|
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
formatterArgs: {
|
formatterArgs: {
|
||||||
|
@ -21,13 +21,13 @@ export default {
|
|||||||
fields: [
|
fields: [
|
||||||
[this.$t('Basic'), ['name', 'host']],
|
[this.$t('Basic'), ['name', 'host']],
|
||||||
[
|
[
|
||||||
this.$t('BasePort'),
|
this.$t('Port'),
|
||||||
[
|
[
|
||||||
'http_port', 'https_port', 'ssh_port', 'rdp_port'
|
'http_port', 'https_port', 'ssh_port', 'rdp_port'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
this.$t('DatabasePort'),
|
'',
|
||||||
[
|
[
|
||||||
'mysql_port', 'mariadb_port', 'postgresql_port',
|
'mysql_port', 'mariadb_port', 'postgresql_port',
|
||||||
'redis_port', 'sqlserver_port', 'oracle_port_range'
|
'redis_port', 'sqlserver_port', 'oracle_port_range'
|
||||||
|
Loading…
Reference in New Issue
Block a user