From 1c8267330607d50e15664943fe4dad32e1f4de0c Mon Sep 17 00:00:00 2001 From: medcl Date: Thu, 19 Nov 2020 21:59:04 +0800 Subject: [PATCH] update system settings --- web/config/router.config.js | 82 ++++---- web/src/locales/zh-CN.js | 29 +-- web/src/pages/Settings/Global/Global.js | 175 ------------------ .../pages/{Settings => System}/Logs/Audit.js | 0 .../pages/{Settings => System}/Logs/Base.js | 0 .../{Settings => System}/Logs/Overview.js | 0 .../{Settings => System}/Security/Base.js | 0 .../{Settings => System}/Security/Certs.js | 0 .../{Settings => System}/Security/General.js | 0 .../Security/General.less | 0 .../{Settings => System}/Security/Roles.js | 0 .../{Settings => System}/Security/SSO.js | 0 .../{Settings => System}/Security/Users.js | 0 web/src/pages/System/Settings/Base.js | 59 ++++++ web/src/pages/System/Settings/Gateway.js | 25 +++ web/src/pages/System/Settings/Global.js | 139 ++++++++++++++ 16 files changed, 288 insertions(+), 221 deletions(-) delete mode 100644 web/src/pages/Settings/Global/Global.js rename web/src/pages/{Settings => System}/Logs/Audit.js (100%) rename web/src/pages/{Settings => System}/Logs/Base.js (100%) rename web/src/pages/{Settings => System}/Logs/Overview.js (100%) rename web/src/pages/{Settings => System}/Security/Base.js (100%) rename web/src/pages/{Settings => System}/Security/Certs.js (100%) rename web/src/pages/{Settings => System}/Security/General.js (100%) rename web/src/pages/{Settings => System}/Security/General.less (100%) rename web/src/pages/{Settings => System}/Security/Roles.js (100%) rename web/src/pages/{Settings => System}/Security/SSO.js (100%) rename web/src/pages/{Settings => System}/Security/Users.js (100%) create mode 100644 web/src/pages/System/Settings/Base.js create mode 100644 web/src/pages/System/Settings/Gateway.js create mode 100644 web/src/pages/System/Settings/Global.js diff --git a/web/config/router.config.js b/web/config/router.config.js index cf86246a..b7ec9cc5 100644 --- a/web/config/router.config.js +++ b/web/config/router.config.js @@ -247,73 +247,89 @@ export default [ //settings { - path: '/settings', - name: 'settings', + path: '/system', + name: 'system', icon: 'setting', - // component: './List/TableList', routes: [ { - path: '/settings/global', - name: 'global', - component: './Settings/Global/Global', - }, { - path: '/settings/security', + path: '/system/settings', + name: 'settings', + component: './System/Settings/Base', + hideChildrenInMenu: true, + routes: [ + { + path: '/system/settings', + redirect: '/system/settings/global', + }, + { + path: '/system/settings/global', + name: 'global', + component: './System/Settings/Global', + }, { + path: '/system/settings/gateway', + name: 'gateway', + component: './System/Settings/Gateway', + }, + ] + }, + { + path: '/system/security', name: 'security', - component: './Settings/Security/Base', + component: './System/Security/Base', hideChildrenInMenu: true, routes: [ { - path: '/settings/security', - redirect: '/settings/security/general', + path: '/system/security', + redirect: '/system/security/general', }, { - path: '/settings/security/general', + path: '/system/security/general', name: 'general', - component: './Settings/Security/General', + component: './System/Security/General', }, { - path: '/settings/security/sso', + path: '/system/security/sso', name: 'sso', - component: './Settings/Security/SSO', + component: './System/Security/SSO', }, { - path: '/settings/security/roles', + path: '/system/security/roles', name: 'roles', - component: './Settings/Security/Roles', + component: './System/Security/Roles', }, { - path: '/settings/security/users', + path: '/system/security/users', name: 'users', - component: './Settings/Security/Users', + component: './System/Security/Users', }, { - path: '/settings/security/certs', + path: '/system/security/certs', name: 'certs', - component: './Settings/Security/Certs', + component: './System/Security/Certs', }, ] }, { - path: '/settings/logs', + path: '/system/logs', name: 'logs', - component: './Settings/Logs/Base', + component: './System/Logs/Base', hideChildrenInMenu: true, routes: [ { - path: '/settings/logs', - redirect: '/settings/logs/overview', + path: '/system/logs', + redirect: '/system/logs/overview', }, { - path: '/settings/logs/overview', + path: '/system/logs/overview', name: 'overview', - component: './Settings/Logs/Overview', + component: './System/Logs/Overview', }, { - path: '/settings/logs/audit', + path: '/system/logs/audit', name: 'audit', - component: './Settings/Logs/Audit', + component: './System/Logs/Audit', }, { - path: '/settings/logs/query', + path: '/system/logs/query', name: 'query', - component: './Settings/Logs/Audit', + component: './System/Logs/Audit', }, { - path: '/settings/logs/slow', + path: '/system/logs/slow', name: 'slow', - component: './Settings/Logs/Audit', + component: './System/Logs/Audit', }, ] }, diff --git a/web/src/locales/zh-CN.js b/web/src/locales/zh-CN.js index b73b27a8..8b02cc24 100644 --- a/web/src/locales/zh-CN.js +++ b/web/src/locales/zh-CN.js @@ -104,20 +104,23 @@ export default { 'menu.search.analyzer': '分词管理', 'menu.search.nlp': '自然语言处理', - 'menu.settings': '系统设置', - 'menu.settings.global': '全局设置', - 'menu.settings.security': '安全设置', - 'menu.settings.security.general': '基础设置', - 'menu.settings.security.sso': '单点登录', - 'menu.settings.security.roles': '角色管理', - 'menu.settings.security.users': '用户管理', - 'menu.settings.security.certs': '证书管理', + 'menu.system': '系统管理', + 'menu.system.settings': '系统设置', + 'menu.system.settings.global': '全局设置', + 'menu.system.settings.gateway': '网关设置', - 'menu.settings.logs': '系统日志', - 'menu.settings.logs.overview': '日志概要', - 'menu.settings.logs.audit': '审计日志', - 'menu.settings.logs.query': '查询日志', - 'menu.settings.logs.slow': '慢日志', + 'menu.system.security': '安全设置', + 'menu.system.security.general': '基础设置', + 'menu.system.security.sso': '单点登录', + 'menu.system.security.roles': '角色管理', + 'menu.system.security.users': '用户管理', + 'menu.system.security.certs': '证书管理', + + 'menu.system.logs': '系统日志', + 'menu.system.logs.overview': '日志概要', + 'menu.system.logs.audit': '审计日志', + 'menu.system.logs.query': '查询日志', + 'menu.system.logs.slow': '慢日志', 'menu.form': '表单页', diff --git a/web/src/pages/Settings/Global/Global.js b/web/src/pages/Settings/Global/Global.js deleted file mode 100644 index 0a831963..00000000 --- a/web/src/pages/Settings/Global/Global.js +++ /dev/null @@ -1,175 +0,0 @@ -import React, {Component, Fragment} from 'react'; -import {connect} from 'dva'; -import {Card, Form, Input,Switch, Select, Button, message, Divider, Drawer, Descriptions} from 'antd'; - -const {Option} = Select; -import {formatMessage, FormattedMessage} from 'umi/locale'; - -const FormItem = Form.Item; -const {TextArea} = Input; -import {Row, Col} from 'antd'; - -const operationTabList = [ - { - key: 'tab1', - tab: '全局设置', - }, -]; - -@Form.create() -class Global extends Component { - state = { - operationkey: 'tab1', - }; - - componentDidMount() { - } - - onOperationTabChange = key => { - this.setState({operationkey: key}); - }; - - globalSettings = () => { - const { - form: {getFieldDecorator}, - } = this.props; - return ( - < div > - < Row - type = "flex" - justify = "end" > - < Col - span = {16} > - < div > < Form - layout = "vertical" - hideRequiredMark > - - < FormItem - label = {formatMessage({id: 'app.settings.global.site_name'})} > - {getFieldDecorator('site_name', - { - rules: [ - { - required: true, - message: formatMessage({id: 'app.settings.global.site_name-message'}, {}), - }, - ], - } - ) - ( < Input / >) - } - - - < FormItem - label = {formatMessage({id: 'app.settings.global.domain'})} > - {getFieldDecorator('domain', - { - rules: [ - { - required: true, - message: formatMessage({id: 'app.settings.global.domain-message'}, {}), - }, - ], - } - ) - ( < Input / >) - } - - < FormItem - label = {formatMessage({id: 'app.settings.global.listen_addr'})} > - {getFieldDecorator('listen_addr', - { - rules: [ - { - required: true, - message: formatMessage({id: 'app.settings.global.listen_addr-message'}, {}), - }, - ], - } - ) - ( < Input / >) - } - - - {getFieldDecorator('isTLS', { - initialValue: true, - rules: [ - { - required: true, - message: formatMessage({id: 'app.settings.global.is_tls-message'}, {}), - }, - ], - })( - {}} /> - )} - - - - < FormItem - label = {formatMessage({id: 'app.settings.global.data_path'})} > - {getFieldDecorator('work_dir', - { - rules: [ - { - required: true, - message: formatMessage({id: 'app.settings.global.data_path-message'}, {}), - }, - ], - } - ) - ( < Input / >) - } - - - < FormItem - label = {formatMessage({id: 'app.settings.global.log_path'})} > - {getFieldDecorator('work_dir', - { - rules: [ - { - required: true, - message: formatMessage({id: 'app.settings.global.log_path-message'}, {}), - }, - ], - } - ) - ( < Input / >) - } - - - - < Button type = "primary" > - < FormattedMessage - id = "app.settings.global.update" - defaultMessage = "Update Setting" /> - < /Form> - < /Col> - < Col span = {8} >< /Col> - < /Row> - < /div> - ) - ; - }; - - render() { - const {operationkey} = this.state; - const contentList = { - tab1: ( < div > {this.globalSettings()} < /div>), - } - ; - return ( - < Fragment > - < Card - bordered = {false} - tabList = {operationTabList} - onTabChange = {this.onOperationTabChange} - > - {contentList[operationkey]} - < /Card> - < /Fragment> - ) - ; - } -} - -export default Global; diff --git a/web/src/pages/Settings/Logs/Audit.js b/web/src/pages/System/Logs/Audit.js similarity index 100% rename from web/src/pages/Settings/Logs/Audit.js rename to web/src/pages/System/Logs/Audit.js diff --git a/web/src/pages/Settings/Logs/Base.js b/web/src/pages/System/Logs/Base.js similarity index 100% rename from web/src/pages/Settings/Logs/Base.js rename to web/src/pages/System/Logs/Base.js diff --git a/web/src/pages/Settings/Logs/Overview.js b/web/src/pages/System/Logs/Overview.js similarity index 100% rename from web/src/pages/Settings/Logs/Overview.js rename to web/src/pages/System/Logs/Overview.js diff --git a/web/src/pages/Settings/Security/Base.js b/web/src/pages/System/Security/Base.js similarity index 100% rename from web/src/pages/Settings/Security/Base.js rename to web/src/pages/System/Security/Base.js diff --git a/web/src/pages/Settings/Security/Certs.js b/web/src/pages/System/Security/Certs.js similarity index 100% rename from web/src/pages/Settings/Security/Certs.js rename to web/src/pages/System/Security/Certs.js diff --git a/web/src/pages/Settings/Security/General.js b/web/src/pages/System/Security/General.js similarity index 100% rename from web/src/pages/Settings/Security/General.js rename to web/src/pages/System/Security/General.js diff --git a/web/src/pages/Settings/Security/General.less b/web/src/pages/System/Security/General.less similarity index 100% rename from web/src/pages/Settings/Security/General.less rename to web/src/pages/System/Security/General.less diff --git a/web/src/pages/Settings/Security/Roles.js b/web/src/pages/System/Security/Roles.js similarity index 100% rename from web/src/pages/Settings/Security/Roles.js rename to web/src/pages/System/Security/Roles.js diff --git a/web/src/pages/Settings/Security/SSO.js b/web/src/pages/System/Security/SSO.js similarity index 100% rename from web/src/pages/Settings/Security/SSO.js rename to web/src/pages/System/Security/SSO.js diff --git a/web/src/pages/Settings/Security/Users.js b/web/src/pages/System/Security/Users.js similarity index 100% rename from web/src/pages/Settings/Security/Users.js rename to web/src/pages/System/Security/Users.js diff --git a/web/src/pages/System/Settings/Base.js b/web/src/pages/System/Settings/Base.js new file mode 100644 index 00000000..9f18b2a5 --- /dev/null +++ b/web/src/pages/System/Settings/Base.js @@ -0,0 +1,59 @@ +import router from 'umi/router'; +import { connect } from 'dva'; +import PageHeaderWrapper from '@/components/PageHeaderWrapper'; + +import React, {Component, Fragment} from 'react'; + +import {Col, Divider,Card, Form, Icon, Input, Row, Select, Table} from 'antd'; +import {formatMessage} from 'umi/locale'; + +const {Option} = Select; + +const FormItem = Form.Item; +const {TextArea} = Input; + + + +@connect() +class Base extends Component { + handleTabChange = key => { + const { match,children } = this.props; + switch (key) { + case 'global': + router.push(`${match.url}/global`); + break; + case 'gateway': + router.push(`${match.url}/gateway`); + break; + default: + break; + } + } + + render() { + const tabList = [ + { + key: 'global', + tab: '全局设置', + }, + { + key: 'gateway', + tab: '网关设置', + }, + ]; + + const { match, children, location } = this.props; + + return ( + + {children} + + ); + } +} + +export default Base; diff --git a/web/src/pages/System/Settings/Gateway.js b/web/src/pages/System/Settings/Gateway.js new file mode 100644 index 00000000..f0098f3b --- /dev/null +++ b/web/src/pages/System/Settings/Gateway.js @@ -0,0 +1,25 @@ +import router from 'umi/router'; +import { connect } from 'dva'; +import PageHeaderWrapper from '@/components/PageHeaderWrapper'; + +import React, {Component, Fragment} from 'react'; + +import {Col, Divider,Card, Form, Icon, Input, Row, Select, Table} from 'antd'; +import {formatMessage} from 'umi/locale'; + +const {Option} = Select; + +const FormItem = Form.Item; +const {TextArea} = Input; + +@connect() +class Gateway extends Component { + + render() { + return ( + Gateway + ); + } +} + +export default Gateway; diff --git a/web/src/pages/System/Settings/Global.js b/web/src/pages/System/Settings/Global.js new file mode 100644 index 00000000..ef593758 --- /dev/null +++ b/web/src/pages/System/Settings/Global.js @@ -0,0 +1,139 @@ +import React, {Component, Fragment} from 'react'; +import {Button, Card, Col, Form, Input, Row, Select, Switch} from 'antd'; +import {formatMessage, FormattedMessage} from 'umi/locale'; + +const {Option} = Select; + +const FormItem = Form.Item; +const {TextArea} = Input; + +@Form.create() +class Global extends Component { + + componentDidMount() { + } + + render() { + const { + form: {getFieldDecorator}, + } = this.props; + return ( + + + +
+ + + {getFieldDecorator('site_name', + { + rules: [ + { + required: true, + message: formatMessage({id: 'app.settings.global.site_name-message'}, {}), + }, + ], + } + ) + () + } + + + + {getFieldDecorator('domain', + { + rules: [ + { + required: true, + message: formatMessage({id: 'app.settings.global.domain-message'}, {}), + }, + ], + } + ) + () + } + + + {getFieldDecorator('listen_addr', + { + rules: [ + { + required: true, + message: formatMessage({id: 'app.settings.global.listen_addr-message'}, {}), + }, + ], + } + ) + () + } + + + {getFieldDecorator('isTLS', { + initialValue: true, + rules: [ + { + required: true, + message: formatMessage({id: 'app.settings.global.is_tls-message'}, {}), + }, + ], + })( + { + }}/> + )} + + + + + {getFieldDecorator('work_dir', + { + rules: [ + { + required: true, + message: formatMessage({id: 'app.settings.global.data_path-message'}, {}), + }, + ], + } + ) + () + } + + + + {getFieldDecorator('work_dir', + { + rules: [ + { + required: true, + message: formatMessage({id: 'app.settings.global.log_path-message'}, {}), + }, + ], + } + ) + () + } + + + + +
+ + +
+
+ ); + } +} + +export default Global;