From f7752cec3afda31e1f21c2df19e02f2b56484d50 Mon Sep 17 00:00:00 2001 From: whyour Date: Fri, 12 Nov 2021 23:55:57 +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?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/services/user.ts | 21 ++++++++++++++++++++- src/pages/setting/checkUpdate.tsx | 8 ++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/back/services/user.ts b/back/services/user.ts index 47d0cf45..37996613 100644 --- a/back/services/user.ts +++ b/back/services/user.ts @@ -414,7 +414,7 @@ export default class UserService { return { code: 200, data: { - hasNewVersion: currentVersion !== lastVersion, + hasNewVersion: this.checkHasNewVersion(currentVersion, lastVersion), lastVersion, lastLog, }, @@ -427,6 +427,25 @@ export default class UserService { } } + private checkHasNewVersion(curVersion: string, lastVersion: string) { + const curArr = curVersion.split('.').map((x) => parseInt(x, 10)); + const lastArr = lastVersion.split('.').map((x) => parseInt(x, 10)); + if (curArr[0] < lastArr[0]) { + return true; + } + if (curArr[0] === lastArr[0] && curArr[1] < lastArr[1]) { + return true; + } + if ( + curArr[0] === lastArr[0] && + curArr[1] === lastArr[1] && + curArr[2] < lastArr[2] + ) { + return true; + } + return false; + } + public async updateSystem() { const cp = spawn('ql -l update', { shell: '/bin/bash' }); diff --git a/src/pages/setting/checkUpdate.tsx b/src/pages/setting/checkUpdate.tsx index 1f54023e..cc12ca6b 100644 --- a/src/pages/setting/checkUpdate.tsx +++ b/src/pages/setting/checkUpdate.tsx @@ -14,7 +14,7 @@ const CheckUpdate = ({ socketMessage }: any) => { const checkUpgrade = () => { if (updateLoading) return; setUpdateLoading(true); - const hide = message.loading('检查更新中...', 0); + message.loading('检查更新中...', 0); request .put(`${config.apiPrefix}system/update-check`) .then((_data: any) => { @@ -107,13 +107,13 @@ const CheckUpdate = ({ socketMessage }: any) => { if (!modalRef.current || !socketMessage) { return; } - const { type, message, references } = socketMessage; + const { type, message: _message, references } = socketMessage; if (type !== 'updateSystemVersion') { return; } - const newMessage = `${value} \n ${message}`; + const newMessage = `${value}\n${_message}`; modalRef.current.update({ content: (
@@ -138,7 +138,7 @@ const CheckUpdate = ({ socketMessage }: any) => { .getElementById('log-identifier')! .scrollIntoView({ behavior: 'smooth', block: 'nearest' }); - if (newMessage.includes('重启面板')) { + if (_message.includes('重启面板')) { message.warning({ content: (