From f5f46aeda3bc3a4a75ce982b69193df9959e4510 Mon Sep 17 00:00:00 2001 From: chaos-zhu Date: Sun, 4 Aug 2024 23:10:00 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=94=AF=E6=8C=81=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=9B=B4=E6=96=B0=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 - server/app/controller/user.js | 16 ++- server/app/db.js | 13 ++- server/app/router/routes.js | 7 +- server/package.json | 1 - web/package.json | 2 +- web/src/api/index.js | 3 + web/src/assets/scss/global.scss | 5 + web/src/components/top-bar.vue | 108 +++++++++++++----- web/src/main.js | 2 + .../views/server/components/host-table.vue | 4 - .../views/setting/components/email-list.vue | 2 +- .../views/setting/components/notify-list.vue | 2 +- web/src/views/setting/components/record.vue | 2 +- 14 files changed, 121 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index 429e2ca..06ad815 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,5 @@ { "name": "easynode", - "version": "2.0.0", "description": "web ssh", "private": true, "workspaces": [ diff --git a/server/app/controller/user.js b/server/app/controller/user.js index b5a29cd..57cd392 100644 --- a/server/app/controller/user.js +++ b/server/app/controller/user.js @@ -1,4 +1,5 @@ const jwt = require('jsonwebtoken') +const axios = require('axios') const { getNetIPInfo, readKey, writeKey, RSADecryptSync, AESEncryptSync, SHA1Encrypt, sendEmailToConfList, getNotifySwByType } = require('../utils') const getpublicKey = async ({ res }) => { @@ -112,9 +113,22 @@ const getLoginRecord = async ({ res }) => { res.success({ data: global.loginRecord, msg: 'success' }) } +const getEasynodeVersion = async ({ res }) => { + try { + // const { data } = await axios.get('https://api.github.com/repos/chaos-zhu/easynode/releases/latest') + const { data } = await axios.get('https://get-easynode-latest-version.chaoszhu.workers.dev/version') + console.log(data) + res.success({ data, msg: 'success' }) + } catch (error) { + consola.error('Failed to fetch Easynode latest version:', error) + res.fail({ msg: 'Failed to fetch Easynode latest version' }) + } +} + module.exports = { login, getpublicKey, updatePwd, - getLoginRecord + getLoginRecord, + getEasynodeVersion } diff --git a/server/app/db.js b/server/app/db.js index fdcee3a..1a0e53f 100644 --- a/server/app/db.js +++ b/server/app/db.js @@ -51,12 +51,13 @@ function initNotifyDB() { 'type': 'updatePwd', 'desc': '修改密码提醒', 'sw': true - }, - { - 'type': 'host_offline', - 'desc': '客户端离线提醒(每小时最多发送一次提醒)', - 'sw': true - }] + } + // { + // 'type': 'host_offline', + // 'desc': '客户端离线提醒(每小时最多发送一次提醒)', + // 'sw': true + // } + ] await writeNotifyList(defaultData) } diff --git a/server/app/router/routes.js b/server/app/router/routes.js index 121c5d2..5421273 100644 --- a/server/app/router/routes.js +++ b/server/app/router/routes.js @@ -1,6 +1,6 @@ const { getSSHList, addSSH, updateSSH, removeSSH, getCommand } = require('../controller/ssh') const { getHostList, addHost, updateHost, removeHost, importHost } = require('../controller/host') -const { login, getpublicKey, updatePwd, getLoginRecord } = require('../controller/user') +const { login, getpublicKey, updatePwd, getLoginRecord, getEasynodeVersion } = require('../controller/user') const { getSupportEmailList, getUserEmailList, updateUserEmailList, removeUserEmail, pushEmail, getNotifyList, updateNotifyList } = require('../controller/notify') const { getGroupList, addGroupList, updateGroupList, removeGroup } = require('../controller/group') const { getScriptList, getLocalScriptList, addScript, updateScriptList, removeScript } = require('../controller/scripts') @@ -80,6 +80,11 @@ const user = [ method: 'get', path: '/get-login-record', controller: getLoginRecord + }, + { + method: 'get', + path: '/version', + controller: getEasynodeVersion } ] const notify = [ diff --git a/server/package.json b/server/package.json index 9b4994e..cce24fb 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,5 @@ { "name": "server", - "version": "2.0.0", "description": "easynode-server", "bin": "./bin/www", "scripts": { diff --git a/web/package.json b/web/package.json index eadee20..ee0b6c3 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "web", - "version": "0.0.1", + "version": "2.1.1", "description": "easynode-web", "private": true, "scripts": { diff --git a/web/src/api/index.js b/web/src/api/index.js index c6d4552..eec3127 100644 --- a/web/src/api/index.js +++ b/web/src/api/index.js @@ -108,5 +108,8 @@ export default { }, deleteOnekeyRecord(ids) { return axios({ url: '/onekey', method: 'post', data: { ids } }) + }, + getEasynodeVersion() { + return axios({ url: '/version', method: 'get' }) } } diff --git a/web/src/assets/scss/global.scss b/web/src/assets/scss/global.scss index fafe7ce..1fbfb30 100644 --- a/web/src/assets/scss/global.scss +++ b/web/src/assets/scss/global.scss @@ -46,3 +46,8 @@ html, body { // height: 100vh; // overflow: hidden; } + +.link { + color: var(--el-color-primary); + cursor: pointer; +} diff --git a/web/src/components/top-bar.vue b/web/src/components/top-bar.vue index 007d4c6..e2cb882 100644 --- a/web/src/components/top-bar.vue +++ b/web/src/components/top-bar.vue @@ -3,32 +3,76 @@

{{ title }}

- - -