You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2019/12/26 02:47:44 UTC

[incubator-dolphinscheduler-website] branch asf-site updated: Automated deployment: Thu Dec 26 02:47:30 UTC 2019 cbb50bea61e926077c1da68b5675e6513dc59cf9

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 02456e7  Automated deployment: Thu Dec 26 02:47:30 UTC 2019 cbb50bea61e926077c1da68b5675e6513dc59cf9
02456e7 is described below

commit 02456e7289f5bb0951fc58368c48fc59fbdb89d8
Author: lenboo <le...@users.noreply.github.com>
AuthorDate: Thu Dec 26 02:47:30 2019 +0000

    Automated deployment: Thu Dec 26 02:47:30 UTC 2019 cbb50bea61e926077c1da68b5675e6513dc59cf9
---
 build/blog.css                               | 59 +++++++++++++++++++---------
 build/blog.js                                | 16 ++++----
 build/blogDetail.css                         | 59 +++++++++++++++++++---------
 build/blogDetail.js                          | 16 ++++----
 build/community.css                          | 59 +++++++++++++++++++---------
 build/community.js                           | 16 ++++----
 build/documentation.css                      | 59 +++++++++++++++++++---------
 build/documentation.js                       | 16 ++++----
 build/home.css                               | 59 +++++++++++++++++++---------
 build/home.js                                | 16 ++++----
 en-us/docs/user_doc/frontend-deployment.html | 11 +++++-
 en-us/docs/user_doc/frontend-deployment.json |  2 +-
 zh-cn/docs/user_doc/frontend-deployment.html | 11 +++++-
 zh-cn/docs/user_doc/frontend-deployment.json |  2 +-
 14 files changed, 265 insertions(+), 136 deletions(-)

diff --git a/build/blog.css b/build/blog.css
index 00b7a0b..6ebdeea 100644
--- a/build/blog.css
+++ b/build/blog.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.3
+ * antd v3.26.4
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
@@ -7646,11 +7646,13 @@ span.ant-radio + * {
   z-index: 1;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
+  width: 0;
   height: 2px;
   background-color: #1890ff;
   -webkit-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
-  transform-origin: 0 0; }
+  transform-origin: 0 0;
+  opacity: 0; }
 
 .ant-tabs-bar {
   margin: 0 0 16px 0;
@@ -7962,7 +7964,7 @@ span.ant-radio + * {
   bottom: auto;
   left: auto;
   width: 2px;
-  height: auto; }
+  height: 0; }
 
 .ant-tabs .ant-tabs-left-bar .ant-tabs-tab-next,
 .ant-tabs .ant-tabs-right-bar .ant-tabs-tab-next {
@@ -8026,17 +8028,19 @@ span.ant-radio + * {
 
 .ant-tabs-top .ant-tabs-ink-bar-animated,
 .ant-tabs-bottom .ant-tabs-ink-bar-animated {
-  -webkit-transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .ant-tabs-left .ant-tabs-ink-bar-animated,
 .ant-tabs-right .ant-tabs-ink-bar-animated {
-  -webkit-transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .no-flex > .ant-tabs-content > .ant-tabs-content-animated,
 .ant-tabs-no-animation > .ant-tabs-content > .ant-tabs-content-animated {
@@ -15659,13 +15663,16 @@ textarea.ant-time-picker-input {
   text-align: center; }
 
 form .has-feedback .ant-input {
-  padding-right: 24px; }
+  padding-right: 30px; }
 
 form .has-feedback .ant-input-affix-wrapper .ant-input-suffix {
   padding-right: 18px; }
 
-form .has-feedback .ant-input-password-icon {
-  margin-right: 18px; }
+form .has-feedback .ant-input-affix-wrapper .ant-input {
+  padding-right: 49px; }
+
+form .has-feedback .ant-input-affix-wrapper.ant-input-affix-wrapper-input-with-clear-btn .ant-input {
+  padding-right: 68px; }
 
 form .has-feedback > .ant-select .ant-select-arrow,
 form .has-feedback > .ant-select .ant-select-selection__clear,
@@ -16000,6 +16007,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);
   box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); }
 
+.has-warning .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #faad14; }
+
 .has-error .ant-form-explain,
 .has-error .ant-form-split {
   color: #f5222d; }
@@ -16123,6 +16133,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2);
   box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); }
 
+.has-error .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #f5222d; }
+
 .has-error .ant-transfer-list {
   border-color: #f5222d; }
 
@@ -20034,18 +20047,18 @@ textarea.ant-mentions {
   overflow: visible; }
 
 .ant-steps-label-vertical .ant-steps-item-tail {
-  margin-left: 51px;
+  margin-left: 58px;
   padding: 3.5px 24px; }
 
 .ant-steps-label-vertical .ant-steps-item-content {
   display: block;
-  width: 104px;
+  width: 116px;
   margin-top: 8px;
   text-align: center; }
 
 .ant-steps-label-vertical .ant-steps-item-icon {
   display: inline-block;
-  margin-left: 36px; }
+  margin-left: 42px; }
 
 .ant-steps-label-vertical .ant-steps-item-title {
   padding-right: 0; }
@@ -20053,6 +20066,12 @@ textarea.ant-mentions {
 .ant-steps-label-vertical .ant-steps-item-title::after {
   display: none; }
 
+.ant-steps-label-vertical .ant-steps-item-subtitle {
+  display: block;
+  margin-bottom: 4px;
+  margin-left: 0;
+  line-height: 1.5; }
+
 .ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon {
   margin-left: 40px; }
 
@@ -20158,7 +20177,7 @@ textarea.ant-mentions {
   transition: opacity 0.3s; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-content {
-  max-width: 140px; }
+  max-width: auto; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {
   max-width: 100%;
@@ -22570,6 +22589,10 @@ li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hov
   outline: none;
   cursor: pointer; }
 
+.ant-tree li span.ant-tree-switcher:empty,
+.ant-tree li span.ant-tree-iconEle:empty {
+  display: none; }
+
 .ant-tree li span.ant-tree-switcher {
   position: relative; }
 
diff --git a/build/blog.js b/build/blog.js
index 35c0e4a..2715a48 100644
--- a/build/blog.js
+++ b/build/blog.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(990)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,20 +16,20 @@ var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
- * UAParser.js v0.7.20
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.20
+!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/blogDetail.css b/build/blogDetail.css
index f1a5558..85abff8 100644
--- a/build/blogDetail.css
+++ b/build/blogDetail.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.3
+ * antd v3.26.4
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
@@ -7646,11 +7646,13 @@ span.ant-radio + * {
   z-index: 1;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
+  width: 0;
   height: 2px;
   background-color: #1890ff;
   -webkit-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
-  transform-origin: 0 0; }
+  transform-origin: 0 0;
+  opacity: 0; }
 
 .ant-tabs-bar {
   margin: 0 0 16px 0;
@@ -7962,7 +7964,7 @@ span.ant-radio + * {
   bottom: auto;
   left: auto;
   width: 2px;
-  height: auto; }
+  height: 0; }
 
 .ant-tabs .ant-tabs-left-bar .ant-tabs-tab-next,
 .ant-tabs .ant-tabs-right-bar .ant-tabs-tab-next {
@@ -8026,17 +8028,19 @@ span.ant-radio + * {
 
 .ant-tabs-top .ant-tabs-ink-bar-animated,
 .ant-tabs-bottom .ant-tabs-ink-bar-animated {
-  -webkit-transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .ant-tabs-left .ant-tabs-ink-bar-animated,
 .ant-tabs-right .ant-tabs-ink-bar-animated {
-  -webkit-transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .no-flex > .ant-tabs-content > .ant-tabs-content-animated,
 .ant-tabs-no-animation > .ant-tabs-content > .ant-tabs-content-animated {
@@ -15659,13 +15663,16 @@ textarea.ant-time-picker-input {
   text-align: center; }
 
 form .has-feedback .ant-input {
-  padding-right: 24px; }
+  padding-right: 30px; }
 
 form .has-feedback .ant-input-affix-wrapper .ant-input-suffix {
   padding-right: 18px; }
 
-form .has-feedback .ant-input-password-icon {
-  margin-right: 18px; }
+form .has-feedback .ant-input-affix-wrapper .ant-input {
+  padding-right: 49px; }
+
+form .has-feedback .ant-input-affix-wrapper.ant-input-affix-wrapper-input-with-clear-btn .ant-input {
+  padding-right: 68px; }
 
 form .has-feedback > .ant-select .ant-select-arrow,
 form .has-feedback > .ant-select .ant-select-selection__clear,
@@ -16000,6 +16007,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);
   box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); }
 
+.has-warning .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #faad14; }
+
 .has-error .ant-form-explain,
 .has-error .ant-form-split {
   color: #f5222d; }
@@ -16123,6 +16133,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2);
   box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); }
 
+.has-error .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #f5222d; }
+
 .has-error .ant-transfer-list {
   border-color: #f5222d; }
 
@@ -20034,18 +20047,18 @@ textarea.ant-mentions {
   overflow: visible; }
 
 .ant-steps-label-vertical .ant-steps-item-tail {
-  margin-left: 51px;
+  margin-left: 58px;
   padding: 3.5px 24px; }
 
 .ant-steps-label-vertical .ant-steps-item-content {
   display: block;
-  width: 104px;
+  width: 116px;
   margin-top: 8px;
   text-align: center; }
 
 .ant-steps-label-vertical .ant-steps-item-icon {
   display: inline-block;
-  margin-left: 36px; }
+  margin-left: 42px; }
 
 .ant-steps-label-vertical .ant-steps-item-title {
   padding-right: 0; }
@@ -20053,6 +20066,12 @@ textarea.ant-mentions {
 .ant-steps-label-vertical .ant-steps-item-title::after {
   display: none; }
 
+.ant-steps-label-vertical .ant-steps-item-subtitle {
+  display: block;
+  margin-bottom: 4px;
+  margin-left: 0;
+  line-height: 1.5; }
+
 .ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon {
   margin-left: 40px; }
 
@@ -20158,7 +20177,7 @@ textarea.ant-mentions {
   transition: opacity 0.3s; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-content {
-  max-width: 140px; }
+  max-width: auto; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {
   max-width: 100%;
@@ -22570,6 +22589,10 @@ li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hov
   outline: none;
   cursor: pointer; }
 
+.ant-tree li span.ant-tree-switcher:empty,
+.ant-tree li span.ant-tree-iconEle:empty {
+  display: none; }
+
 .ant-tree li span.ant-tree-switcher {
   position: relative; }
 
diff --git a/build/blogDetail.js b/build/blogDetail.js
index 02ccabf..95324fa 100644
--- a/build/blogDetail.js
+++ b/build/blogDetail.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(990)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,20 +16,20 @@ var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
- * UAParser.js v0.7.20
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.20
+!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/community.css b/build/community.css
index 06fab1d..cef6e2a 100644
--- a/build/community.css
+++ b/build/community.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.3
+ * antd v3.26.4
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
@@ -7646,11 +7646,13 @@ span.ant-radio + * {
   z-index: 1;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
+  width: 0;
   height: 2px;
   background-color: #1890ff;
   -webkit-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
-  transform-origin: 0 0; }
+  transform-origin: 0 0;
+  opacity: 0; }
 
 .ant-tabs-bar {
   margin: 0 0 16px 0;
@@ -7962,7 +7964,7 @@ span.ant-radio + * {
   bottom: auto;
   left: auto;
   width: 2px;
-  height: auto; }
+  height: 0; }
 
 .ant-tabs .ant-tabs-left-bar .ant-tabs-tab-next,
 .ant-tabs .ant-tabs-right-bar .ant-tabs-tab-next {
@@ -8026,17 +8028,19 @@ span.ant-radio + * {
 
 .ant-tabs-top .ant-tabs-ink-bar-animated,
 .ant-tabs-bottom .ant-tabs-ink-bar-animated {
-  -webkit-transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .ant-tabs-left .ant-tabs-ink-bar-animated,
 .ant-tabs-right .ant-tabs-ink-bar-animated {
-  -webkit-transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .no-flex > .ant-tabs-content > .ant-tabs-content-animated,
 .ant-tabs-no-animation > .ant-tabs-content > .ant-tabs-content-animated {
@@ -15659,13 +15663,16 @@ textarea.ant-time-picker-input {
   text-align: center; }
 
 form .has-feedback .ant-input {
-  padding-right: 24px; }
+  padding-right: 30px; }
 
 form .has-feedback .ant-input-affix-wrapper .ant-input-suffix {
   padding-right: 18px; }
 
-form .has-feedback .ant-input-password-icon {
-  margin-right: 18px; }
+form .has-feedback .ant-input-affix-wrapper .ant-input {
+  padding-right: 49px; }
+
+form .has-feedback .ant-input-affix-wrapper.ant-input-affix-wrapper-input-with-clear-btn .ant-input {
+  padding-right: 68px; }
 
 form .has-feedback > .ant-select .ant-select-arrow,
 form .has-feedback > .ant-select .ant-select-selection__clear,
@@ -16000,6 +16007,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);
   box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); }
 
+.has-warning .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #faad14; }
+
 .has-error .ant-form-explain,
 .has-error .ant-form-split {
   color: #f5222d; }
@@ -16123,6 +16133,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2);
   box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); }
 
+.has-error .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #f5222d; }
+
 .has-error .ant-transfer-list {
   border-color: #f5222d; }
 
@@ -20034,18 +20047,18 @@ textarea.ant-mentions {
   overflow: visible; }
 
 .ant-steps-label-vertical .ant-steps-item-tail {
-  margin-left: 51px;
+  margin-left: 58px;
   padding: 3.5px 24px; }
 
 .ant-steps-label-vertical .ant-steps-item-content {
   display: block;
-  width: 104px;
+  width: 116px;
   margin-top: 8px;
   text-align: center; }
 
 .ant-steps-label-vertical .ant-steps-item-icon {
   display: inline-block;
-  margin-left: 36px; }
+  margin-left: 42px; }
 
 .ant-steps-label-vertical .ant-steps-item-title {
   padding-right: 0; }
@@ -20053,6 +20066,12 @@ textarea.ant-mentions {
 .ant-steps-label-vertical .ant-steps-item-title::after {
   display: none; }
 
+.ant-steps-label-vertical .ant-steps-item-subtitle {
+  display: block;
+  margin-bottom: 4px;
+  margin-left: 0;
+  line-height: 1.5; }
+
 .ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon {
   margin-left: 40px; }
 
@@ -20158,7 +20177,7 @@ textarea.ant-mentions {
   transition: opacity 0.3s; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-content {
-  max-width: 140px; }
+  max-width: auto; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {
   max-width: 100%;
@@ -22570,6 +22589,10 @@ li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hov
   outline: none;
   cursor: pointer; }
 
+.ant-tree li span.ant-tree-switcher:empty,
+.ant-tree li span.ant-tree-iconEle:empty {
+  display: none; }
+
 .ant-tree li span.ant-tree-switcher {
   position: relative; }
 
diff --git a/build/community.js b/build/community.js
index 8324937..e31be3a 100644
--- a/build/community.js
+++ b/build/community.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(990)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,20 +16,20 @@ var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
- * UAParser.js v0.7.20
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.20
+!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/documentation.css b/build/documentation.css
index b9bf063..464af84 100644
--- a/build/documentation.css
+++ b/build/documentation.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.3
+ * antd v3.26.4
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
@@ -7646,11 +7646,13 @@ span.ant-radio + * {
   z-index: 1;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
+  width: 0;
   height: 2px;
   background-color: #1890ff;
   -webkit-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
-  transform-origin: 0 0; }
+  transform-origin: 0 0;
+  opacity: 0; }
 
 .ant-tabs-bar {
   margin: 0 0 16px 0;
@@ -7962,7 +7964,7 @@ span.ant-radio + * {
   bottom: auto;
   left: auto;
   width: 2px;
-  height: auto; }
+  height: 0; }
 
 .ant-tabs .ant-tabs-left-bar .ant-tabs-tab-next,
 .ant-tabs .ant-tabs-right-bar .ant-tabs-tab-next {
@@ -8026,17 +8028,19 @@ span.ant-radio + * {
 
 .ant-tabs-top .ant-tabs-ink-bar-animated,
 .ant-tabs-bottom .ant-tabs-ink-bar-animated {
-  -webkit-transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .ant-tabs-left .ant-tabs-ink-bar-animated,
 .ant-tabs-right .ant-tabs-ink-bar-animated {
-  -webkit-transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .no-flex > .ant-tabs-content > .ant-tabs-content-animated,
 .ant-tabs-no-animation > .ant-tabs-content > .ant-tabs-content-animated {
@@ -15659,13 +15663,16 @@ textarea.ant-time-picker-input {
   text-align: center; }
 
 form .has-feedback .ant-input {
-  padding-right: 24px; }
+  padding-right: 30px; }
 
 form .has-feedback .ant-input-affix-wrapper .ant-input-suffix {
   padding-right: 18px; }
 
-form .has-feedback .ant-input-password-icon {
-  margin-right: 18px; }
+form .has-feedback .ant-input-affix-wrapper .ant-input {
+  padding-right: 49px; }
+
+form .has-feedback .ant-input-affix-wrapper.ant-input-affix-wrapper-input-with-clear-btn .ant-input {
+  padding-right: 68px; }
 
 form .has-feedback > .ant-select .ant-select-arrow,
 form .has-feedback > .ant-select .ant-select-selection__clear,
@@ -16000,6 +16007,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);
   box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); }
 
+.has-warning .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #faad14; }
+
 .has-error .ant-form-explain,
 .has-error .ant-form-split {
   color: #f5222d; }
@@ -16123,6 +16133,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2);
   box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); }
 
+.has-error .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #f5222d; }
+
 .has-error .ant-transfer-list {
   border-color: #f5222d; }
 
@@ -20034,18 +20047,18 @@ textarea.ant-mentions {
   overflow: visible; }
 
 .ant-steps-label-vertical .ant-steps-item-tail {
-  margin-left: 51px;
+  margin-left: 58px;
   padding: 3.5px 24px; }
 
 .ant-steps-label-vertical .ant-steps-item-content {
   display: block;
-  width: 104px;
+  width: 116px;
   margin-top: 8px;
   text-align: center; }
 
 .ant-steps-label-vertical .ant-steps-item-icon {
   display: inline-block;
-  margin-left: 36px; }
+  margin-left: 42px; }
 
 .ant-steps-label-vertical .ant-steps-item-title {
   padding-right: 0; }
@@ -20053,6 +20066,12 @@ textarea.ant-mentions {
 .ant-steps-label-vertical .ant-steps-item-title::after {
   display: none; }
 
+.ant-steps-label-vertical .ant-steps-item-subtitle {
+  display: block;
+  margin-bottom: 4px;
+  margin-left: 0;
+  line-height: 1.5; }
+
 .ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon {
   margin-left: 40px; }
 
@@ -20158,7 +20177,7 @@ textarea.ant-mentions {
   transition: opacity 0.3s; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-content {
-  max-width: 140px; }
+  max-width: auto; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {
   max-width: 100%;
@@ -22570,6 +22589,10 @@ li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hov
   outline: none;
   cursor: pointer; }
 
+.ant-tree li span.ant-tree-switcher:empty,
+.ant-tree li span.ant-tree-iconEle:empty {
+  display: none; }
+
 .ant-tree li span.ant-tree-switcher {
   position: relative; }
 
diff --git a/build/documentation.js b/build/documentation.js
index c76ffb1..cef4edb 100644
--- a/build/documentation.js
+++ b/build/documentation.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(990)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,20 +16,20 @@ var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
- * UAParser.js v0.7.20
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.20
+!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/home.css b/build/home.css
index bde3f7b..f7fa87b 100644
--- a/build/home.css
+++ b/build/home.css
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
  * 
- * antd v3.26.3
+ * antd v3.26.4
  * 
  * Copyright 2015-present, Alipay, Inc.
  * All rights reserved.
@@ -7646,11 +7646,13 @@ span.ant-radio + * {
   z-index: 1;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
+  width: 0;
   height: 2px;
   background-color: #1890ff;
   -webkit-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
-  transform-origin: 0 0; }
+  transform-origin: 0 0;
+  opacity: 0; }
 
 .ant-tabs-bar {
   margin: 0 0 16px 0;
@@ -7962,7 +7964,7 @@ span.ant-radio + * {
   bottom: auto;
   left: auto;
   width: 2px;
-  height: auto; }
+  height: 0; }
 
 .ant-tabs .ant-tabs-left-bar .ant-tabs-tab-next,
 .ant-tabs .ant-tabs-right-bar .ant-tabs-tab-next {
@@ -8026,17 +8028,19 @@ span.ant-radio + * {
 
 .ant-tabs-top .ant-tabs-ink-bar-animated,
 .ant-tabs-bottom .ant-tabs-ink-bar-animated {
-  -webkit-transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .ant-tabs-left .ant-tabs-ink-bar-animated,
 .ant-tabs-right .ant-tabs-ink-bar-animated {
-  -webkit-transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
+  opacity: 1;
+  -webkit-transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s;
+  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s, -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
 
 .no-flex > .ant-tabs-content > .ant-tabs-content-animated,
 .ant-tabs-no-animation > .ant-tabs-content > .ant-tabs-content-animated {
@@ -15659,13 +15663,16 @@ textarea.ant-time-picker-input {
   text-align: center; }
 
 form .has-feedback .ant-input {
-  padding-right: 24px; }
+  padding-right: 30px; }
 
 form .has-feedback .ant-input-affix-wrapper .ant-input-suffix {
   padding-right: 18px; }
 
-form .has-feedback .ant-input-password-icon {
-  margin-right: 18px; }
+form .has-feedback .ant-input-affix-wrapper .ant-input {
+  padding-right: 49px; }
+
+form .has-feedback .ant-input-affix-wrapper.ant-input-affix-wrapper-input-with-clear-btn .ant-input {
+  padding-right: 68px; }
 
 form .has-feedback > .ant-select .ant-select-arrow,
 form .has-feedback > .ant-select .ant-select-selection__clear,
@@ -16000,6 +16007,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);
   box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); }
 
+.has-warning .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #faad14; }
+
 .has-error .ant-form-explain,
 .has-error .ant-form-split {
   color: #f5222d; }
@@ -16123,6 +16133,9 @@ form .ant-input-group-wrapper {
   -webkit-box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2);
   box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); }
 
+.has-error .ant-cascader-picker:hover .ant-cascader-input {
+  border-color: #f5222d; }
+
 .has-error .ant-transfer-list {
   border-color: #f5222d; }
 
@@ -20034,18 +20047,18 @@ textarea.ant-mentions {
   overflow: visible; }
 
 .ant-steps-label-vertical .ant-steps-item-tail {
-  margin-left: 51px;
+  margin-left: 58px;
   padding: 3.5px 24px; }
 
 .ant-steps-label-vertical .ant-steps-item-content {
   display: block;
-  width: 104px;
+  width: 116px;
   margin-top: 8px;
   text-align: center; }
 
 .ant-steps-label-vertical .ant-steps-item-icon {
   display: inline-block;
-  margin-left: 36px; }
+  margin-left: 42px; }
 
 .ant-steps-label-vertical .ant-steps-item-title {
   padding-right: 0; }
@@ -20053,6 +20066,12 @@ textarea.ant-mentions {
 .ant-steps-label-vertical .ant-steps-item-title::after {
   display: none; }
 
+.ant-steps-label-vertical .ant-steps-item-subtitle {
+  display: block;
+  margin-bottom: 4px;
+  margin-left: 0;
+  line-height: 1.5; }
+
 .ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon {
   margin-left: 40px; }
 
@@ -20158,7 +20177,7 @@ textarea.ant-mentions {
   transition: opacity 0.3s; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-content {
-  max-width: 140px; }
+  max-width: auto; }
 
 .ant-steps-navigation .ant-steps-item-container .ant-steps-item-title {
   max-width: 100%;
@@ -22570,6 +22589,10 @@ li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hov
   outline: none;
   cursor: pointer; }
 
+.ant-tree li span.ant-tree-switcher:empty,
+.ant-tree li span.ant-tree-iconEle:empty {
+  display: none; }
+
 .ant-tree li span.ant-tree-switcher {
   position: relative; }
 
diff --git a/build/home.js b/build/home.js
index 2a92124..9171071 100644
--- a/build/home.js
+++ b/build/home.js
@@ -1,14 +1,14 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=121 [...]
   Copyright (c) 2017 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(989)() [...]
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var c in r)i.call(r,c)&&r[c]&&e.push(c)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){e.exports=n(990)() [...]
 object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -16,20 +16,20 @@ var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.pr
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
- * UAParser.js v0.7.20
+Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,c=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,u=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):6011 [...]
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
- * UAParser.js v0.7.20
+!function(o,i){"use strict";var a="model",c="name",s="type",l="vendor",u="version",f="mobile",p="tablet",d="smarttv",h={extend:function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){/*!
+ * UAParser.js v0.7.21
  * Lightweight JavaScript-based User-Agent string parser
  * https://github.com/faisalman/ua-parser-js
  *
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},m={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/en-us/docs/user_doc/frontend-deployment.html b/en-us/docs/user_doc/frontend-deployment.html
index 725db32..fe6f9d5 100644
--- a/en-us/docs/user_doc/frontend-deployment.html
+++ b/en-us/docs/user_doc/frontend-deployment.html
@@ -98,12 +98,19 @@ esc_proxy_port=&quot;http://192.168.xx.xx:12345&quot;
 </ul>
 <h4>jetty deployment</h4>
 <p>Enter the source package <code>dolphinscheduler-ui</code> directory and execute</p>
-<pre><code>npm run build:combined
+<pre><code>npm install
+</code></pre>
+<blockquote>
+<h5>! ! ! Special attention here. If the project reports a &quot;node-sass error&quot; error while pulling the dependency package, execute the following command again after execution.</h5>
+</blockquote>
+<pre><code>npm install node-sass --unsafe-perm //Install node-sass dependency separately
+</code></pre>
+<pre><code>npm run build:release
 </code></pre>
 <p>Create the ui directory under the backend binary package directory</p>
 <p>Copy all files in the dolphinscheduler-ui/dist directory to the backend binary package ui directory</p>
 <p>Visit the following url, interface address (modify it yourself)
-<a href="http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html">http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html</a></p>
+<a href="http://192.168.xx.xx:12345/dolphinscheduler">http://192.168.xx.xx:12345/dolphinscheduler</a></p>
 <h2>FAQ</h2>
 <h4>Upload file size limit</h4>
 <p>Edit the configuration file <code>vi /etc/nginx/nginx.conf</code></p>
diff --git a/en-us/docs/user_doc/frontend-deployment.json b/en-us/docs/user_doc/frontend-deployment.json
index a390cad..f3d5329 100644
--- a/en-us/docs/user_doc/frontend-deployment.json
+++ b/en-us/docs/user_doc/frontend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-deployment.md",
-  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation package</h4>\n<p>Please download the latest version of the installation package, download address: <a href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler\">download</a></p>\n<p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler- [...]
+  "__html": "<h1>frontend-deployment</h1>\n<p>The front-end has three deployment modes: automated deployment, manual deployment and compiled source deployment.</p>\n<h2>Preparations</h2>\n<h4>Download the installation package</h4>\n<p>Please download the latest version of the installation package, download address: <a href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler\">download</a></p>\n<p>After downloading apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler- [...]
   "link": "/en-us/docs/user_doc/frontend-deployment.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/zh-cn/docs/user_doc/frontend-deployment.html b/zh-cn/docs/user_doc/frontend-deployment.html
index 75a897a..ea52adc 100644
--- a/zh-cn/docs/user_doc/frontend-deployment.html
+++ b/zh-cn/docs/user_doc/frontend-deployment.html
@@ -98,12 +98,19 @@ esc_proxy_port=&quot;http://192.168.xx.xx:12345&quot;
 </ul>
 <h4>2.2.2 jetty方式部署</h4>
 <p>在源码包<code>dolphinscheduler-ui</code>目录下执行</p>
-<pre><code>npm run build:combined
+<pre><code>npm install
+</code></pre>
+<blockquote>
+<h5>!!!这里特别注意 项目如果在拉取依赖包的过程中报 &quot; node-sass error &quot; 错误,请在执行完后再次执行以下命令</h5>
+</blockquote>
+<pre><code>npm install node-sass --unsafe-perm //单独安装node-sass依赖
+</code></pre>
+<pre><code>npm run build:release
 </code></pre>
 <p>在后端二进制包目录下创建ui目录</p>
 <p>拷贝dolphinscheduler-ui/dist目录下所有的文件到后端二进制包ui目录下</p>
 <p>访问以下url,接口地址(自行修改)
-<a href="http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html">http://192.168.xx.xx:12345/dolphinscheduler/ui/index.html</a></p>
+<a href="http://192.168.xx.xx:12345/dolphinscheduler">http://192.168.xx.xx:12345/dolphinscheduler</a></p>
 <h2>前端常见问题</h2>
 <h4>1. 上传文件大小限制</h4>
 <p>编辑配置文件 <code>vi /etc/nginx/nginx.conf</code></p>
diff --git a/zh-cn/docs/user_doc/frontend-deployment.json b/zh-cn/docs/user_doc/frontend-deployment.json
index 021fe32..5b78b09 100644
--- a/zh-cn/docs/user_doc/frontend-deployment.json
+++ b/zh-cn/docs/user_doc/frontend-deployment.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-deployment.md",
-  "__html": "<h1>前端部署文档</h1>\n<p>前端有3种部署方式,分别为自动化部署,手动部署和编译源码部署</p>\n<h2>1、准备工作</h2>\n<h4>下载安装包</h4>\n<p>请下载最新版本的安装包,下载地址: <a href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler\">下载</a></p>\n<p>下载 apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz 后,\n解压<code>tar -zxvf apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.g ./</code>后,进入<code>dolphinscheduler-ui</code>目录</p>\n<h2>2、部署</h2>\n<p>以下两种方式任选其一部署即可,推荐自动化部署</p>\n<h3 [...]
+  "__html": "<h1>前端部署文档</h1>\n<p>前端有3种部署方式,分别为自动化部署,手动部署和编译源码部署</p>\n<h2>1、准备工作</h2>\n<h4>下载安装包</h4>\n<p>请下载最新版本的安装包,下载地址: <a href=\"https://dist.apache.org/repos/dist/dev/incubator/dolphinscheduler\">下载</a></p>\n<p>下载 apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.gz 后,\n解压<code>tar -zxvf apache-dolphinscheduler-incubating-x.x.x-dolphinscheduler-front-bin.tar.g ./</code>后,进入<code>dolphinscheduler-ui</code>目录</p>\n<h2>2、部署</h2>\n<p>以下两种方式任选其一部署即可,推荐自动化部署</p>\n<h3 [...]
   "link": "/zh-cn/docs/user_doc/frontend-deployment.html",
   "meta": {}
 }
\ No newline at end of file