From ef9fa021457dedea26147a83276e228699bcd7fd Mon Sep 17 00:00:00 2001 From: whyour Date: Mon, 18 Oct 2021 17:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A3=80=E6=9F=A5=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=97=A5=E5=BF=97=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 ++ shell/share.sh | 1 + src/pages/setting/checkUpdate.tsx | 22 ++++++++----- src/utils/http.ts | 10 +++++- yarn.lock | 54 +++++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 9cf7f8a3..d9b35807 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "@types/sockjs": "^0.3.33", + "@types/sockjs-client": "^1.5.1", "@umijs/plugin-antd": "^0.11.0", "@umijs/test": "^3.3.9", "antd": "^4.17.0-alpha.6", @@ -84,6 +85,7 @@ "react-dnd-html5-backend": "^14.0.0", "react-dom": "17.x", "react-split-pane": "^0.1.92", + "sockjs-client": "^1.5.2", "ts-node": "^9.0.0", "typescript": "^4.1.2", "umi": "^3.5.0", diff --git a/shell/share.sh b/shell/share.sh index 3a6ac7ef..6656e405 100755 --- a/shell/share.sh +++ b/shell/share.sh @@ -304,6 +304,7 @@ reset_romote_url() { if [ -d "$dir_work/.git" ]; then cd $dir_work + [[ -f ".git/index.lock" ]] && rm -f .git/index.lock >/dev/null git remote set-url origin $url >/dev/null git reset --hard $part_cmd >/dev/null cd $dir_current diff --git a/src/pages/setting/checkUpdate.tsx b/src/pages/setting/checkUpdate.tsx index eaec7562..d16571ae 100644 --- a/src/pages/setting/checkUpdate.tsx +++ b/src/pages/setting/checkUpdate.tsx @@ -8,7 +8,6 @@ const { Countdown } = Statistic; const CheckUpdate = ({ ws }: any) => { const [updateLoading, setUpdateLoading] = useState(false); - const [value, setValue] = useState(''); const modalRef = useRef(); const checkUpgrade = () => { @@ -92,12 +91,11 @@ const CheckUpdate = ({ ws }: any) => { style={{ wordBreak: 'break-all', whiteSpace: 'pre-wrap', - paddingTop: 15, fontSize: 12, fontWeight: 400, }} > - {value} + 更新中... ), @@ -105,8 +103,12 @@ const CheckUpdate = ({ ws }: any) => { }; useEffect(() => { - ws.onmessage = (e) => { - setValue(value + e.data); + let _message = ''; + ws.onmessage = (e: any) => { + if (!modalRef.current) { + return; + } + _message = `${_message}\n${e.data}`; modalRef.current.update({ content: (
@@ -114,16 +116,21 @@ const CheckUpdate = ({ ws }: any) => { style={{ wordBreak: 'break-all', whiteSpace: 'pre-wrap', - paddingTop: 15, fontSize: 12, fontWeight: 400, }} > - {value + e.data} + {_message} +
), }); + document.getElementById('log-identifier') && + document + .getElementById('log-identifier')! + .scrollIntoView({ behavior: 'smooth', block: 'nearest' }); + if (e.data.includes('重启面板')) { message.warning({ content: ( @@ -148,7 +155,6 @@ const CheckUpdate = ({ ws }: any) => { return ( <> - {value} diff --git a/src/utils/http.ts b/src/utils/http.ts index 84c30e6a..bf2c93d1 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -33,10 +33,18 @@ const errorHandler = function (error: any) { }; const _request = extend({ timeout: 60000, params: { t: time }, errorHandler }); +const apiWhiteList = [ + '/api/login', + '/open/auth/token', + '/api/user/two-factor/login', + '/api/system', + '/api/init/user', + '/api/init/notification', +]; _request.interceptors.request.use((url, options) => { const token = localStorage.getItem(config.authKey); - if (token) { + if (token && !apiWhiteList.includes(url)) { const headers = { Authorization: `Bearer ${token}`, }; diff --git a/yarn.lock b/yarn.lock index 6485fb55..a6a0d33e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1288,6 +1288,11 @@ "@types/mime" "^1" "@types/node" "*" +"@types/sockjs-client@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@types/sockjs-client/-/sockjs-client-1.5.1.tgz#7ed2093da89305af370511c4e3beb7e4ef0d7e87" + integrity sha512-bmZM6A1GPdjF0bcuIUC+50hZEMGkzMsiG9by6X9U+7IZFOiPtz7MJ9h05FSpPVxlj4i+TzzoG3ESo1FJlbLb6A== + "@types/sockjs@^0.3.33": version "0.3.33" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" @@ -3834,6 +3839,13 @@ events@^3.0.0, events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -5784,6 +5796,11 @@ json2mq@^0.2.0: dependencies: string-convert "^0.2.0" +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -6727,6 +6744,13 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -7544,6 +7568,11 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + quick-lru@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" @@ -8587,6 +8616,11 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" @@ -9158,6 +9192,18 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sockjs-client@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.3" + sockjs@^0.3.21: version "0.3.21" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" @@ -9989,6 +10035,14 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" +url-parse@^1.4.3, url-parse@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" + integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"