From caf1d7e550425a0ab23b117caed8e6fdd750e693 Mon Sep 17 00:00:00 2001 From: zhiyu1998 <542716863@qq.com> Date: Fri, 22 Nov 2024 20:20:14 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8feat:=20=E4=BF=AE=E5=A4=8D=E9=83=A8?= =?UTF-8?q?=E5=88=86=E7=94=B5=E8=84=91=E6=97=A0=E6=B3=95=E7=9C=8B=E5=88=B0?= =?UTF-8?q?=20Bot=20=E7=8A=B6=E6=80=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/webUI.js | 56 ++++++++++++++++++++++++++ constants/constant.js | 4 +- package.json | 1 + server/app/page.jsx | 11 ++++- server/app/r/api/bot/route.js | 12 ++++++ server/app/r/api/napcat/[pid]/route.js | 10 ----- server/app/r/page.js | 12 ------ server/components/header.jsx | 16 +++++--- server/components/home/bot-item.jsx | 30 +++++++------- server/components/home/bot-network.jsx | 2 +- server/components/home/system.jsx | 2 +- server/constants/{system.js => api.js} | 2 + server/constants/napcat.js | 11 ----- server/utils/axiosInstance.js | 50 ----------------------- server/utils/napact.js | 17 -------- server/utils/redis.js | 17 ++++++++ start-nextjs.js | 18 +++++---- utils/redis-util.js | 48 ---------------------- utils/yunzai-util.js | 29 ++++++++++++- 19 files changed, 164 insertions(+), 184 deletions(-) create mode 100644 apps/webUI.js create mode 100644 server/app/r/api/bot/route.js delete mode 100644 server/app/r/api/napcat/[pid]/route.js delete mode 100644 server/app/r/page.js rename server/constants/{system.js => api.js} (73%) delete mode 100644 server/constants/napcat.js delete mode 100644 server/utils/axiosInstance.js delete mode 100644 server/utils/napact.js create mode 100644 server/utils/redis.js diff --git a/apps/webUI.js b/apps/webUI.js new file mode 100644 index 0000000..06c23d7 --- /dev/null +++ b/apps/webUI.js @@ -0,0 +1,56 @@ +import { REDIS_YUNZAI_WEBUI } from "../constants/constant.js"; +import config from "../model/config.js"; +import { redisSetKey } from "../utils/redis-util.js"; +import { getBotLoginInfo, getBotStatus, getBotVersionInfo } from "../utils/yunzai-util.js"; + +export class WebUI extends plugin { + constructor() { + super({ + name: "R插件 WebUI 开关", + dsc: "R插件 WebUI 开关", + event: "message", + priority: 4000, + rule: [ + { + reg: "^#(r|R)wss$", + fnc: "rWebSwitch", + permission: "master", + }, + { + reg: "^#(r|R)ws$", + fnc: "rWebStatus", + permission: "master", + } + ] + }); + // 配置文件 + this.toolsConfig = config.getConfig("tools"); + // 加载WebUI开关 + this.isOpenWebUI = this.toolsConfig.isOpenWebUI; + } + + async rWebSwitch(e) { + config.updateField("tools", "isOpenWebUI", !this.isOpenWebUI); + const realIsOpenWebUI = config.getConfig("tools").isOpenWebUI; + if (realIsOpenWebUI) { + Promise.all([getBotStatus(e), getBotVersionInfo(e), getBotLoginInfo(e)]).then(values => { + const status = values[0].data; + const versionInfo = values[1].data; + const loginInfo = values[2].data; + redisSetKey(REDIS_YUNZAI_WEBUI, { + ...status, + ...versionInfo, + ...loginInfo + }) + }) + } + // 这里有点延迟,需要写反 + e.reply(`R插件 WebUI:${ realIsOpenWebUI ? "开启\n🚀 请重启以启动 WebUI" : "关闭" }`); + return true; + } + + async rWebStatus(e) { + e.reply(`R插件 WebUI:${ this.toolsConfig.isOpenWebUI ? "开启" : "关闭" }`); + return true; + } +} diff --git a/constants/constant.js b/constants/constant.js index 0becdb5..930046f 100644 --- a/constants/constant.js +++ b/constants/constant.js @@ -93,10 +93,10 @@ export const REDIS_YUNZAI_CLOUDSONGLIST = "Yz:rconsole:tools:cloudsonglist"; export const REDIS_YUNZAI_WHITELIST = "Yz:rconsole:tools:whitelist"; /** - * 番剧列表缓存 + * WEBUI需要数据的缓存 * @type {string} */ -export const REDIS_YUNZAI_ANIMELIST = "Yz:rconsole:tools:anime"; +export const REDIS_YUNZAI_WEBUI = "Yz:rconsole:tools:webui"; export const TWITTER_BEARER_TOKEN = ""; diff --git a/package.json b/package.json index a30c81a..f62f624 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "axios": "^1.3.4", "chart.js": "^4.4.6", "form-data": "^4.0.1", + "ioredis": "^5.4.1", "js-yaml": "^4.1.0", "next": "^14.2.16", "node-id3": "^0.2.6", diff --git a/server/app/page.jsx b/server/app/page.jsx index 4e3a190..63aed4c 100644 --- a/server/app/page.jsx +++ b/server/app/page.jsx @@ -1,3 +1,12 @@ +import Header from "../components/header.jsx"; +import Sidebar from "../components/sidebar.jsx"; +import { DrawerProvider } from "../contexts/drawer-context.js"; + export default function Page() { - return