From 74f5d7a861881539d39ddbcbabb27b0bb706c566 Mon Sep 17 00:00:00 2001 From: Kokomi <102026640+yoimiya-kokomi@users.noreply.github.com> Date: Fri, 10 Mar 2023 04:51:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0`#=E7=89=88=E6=9C=AC`?= =?UTF-8?q?=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/puppeteer/puppeteer.js | 36 ++++++++++++++++++------------------ plugins/.gitignore | 1 + plugins/other/version.js | 27 +++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 18 deletions(-) create mode 100644 plugins/other/version.js diff --git a/lib/puppeteer/puppeteer.js b/lib/puppeteer/puppeteer.js index f295f10..c52aeac 100644 --- a/lib/puppeteer/puppeteer.js +++ b/lib/puppeteer/puppeteer.js @@ -1,16 +1,16 @@ -import template from 'art-template' -import fs from 'fs' +import fs from 'node:fs' +import os from 'node:os' import lodash from 'lodash' +import template from 'art-template' import chokidar from 'chokidar' import cfg from '../config/config.js' -import os from 'os' const _path = process.cwd() let puppeteer = {} // mac地址 -let mac ='' +let mac = '' class Puppeteer { constructor () { @@ -78,15 +78,15 @@ class Puppeteer { //如果是pm2启动,尝试连接已有实例 if (process.env.pm_id) { //获取Mac地址 - if (!mac){ + if (!mac) { mac = await this.getMac() this.browserMacKey = `Yz:chromium:browserWSEndpoint:${mac}` } //是否有browser实例 const browserUrl = await redis.get(this.browserMacKey) - if (browserUrl){ - const browserWSEndpoint = await puppeteer.connect({browserWSEndpoint: browserUrl}).catch((err) => { - logger.error("puppeteer Chromium 缓存的实例已关闭") + if (browserUrl) { + const browserWSEndpoint = await puppeteer.connect({ browserWSEndpoint: browserUrl }).catch((err) => { + logger.error('puppeteer Chromium 缓存的实例已关闭') redis.del(this.browserMacKey) }) //如果有实例,直接使用 @@ -98,12 +98,12 @@ class Puppeteer { } } } - }catch (e) { - logger.error("puppeteer Chromium 尝试连接已有实例失败") + } catch (e) { + logger.error('puppeteer Chromium 尝试连接已有实例失败') } - if (!this.browser||!connectFlag){ + if (!this.browser || !connectFlag) { //如果没有实例,初始化puppeteer this.browser = await puppeteer.launch(this.config).catch((err, trace) => { let errMsg = err.toString() + (trace ? trace.toString() : '') @@ -127,10 +127,10 @@ class Puppeteer { logger.error('puppeteer Chromium 启动失败') return false } - if (connectFlag){ + if (connectFlag) { logger.mark('puppeteer Chromium 已连接启动的实例') - }else { - console.log("chromium",this.browser.wsEndpoint()) + } else { + console.log('chromium', this.browser.wsEndpoint()) if (this.browserMacKey) { //缓存一下实例30天 const expireTime = 60 * 60 * 24 * 30 @@ -151,7 +151,7 @@ class Puppeteer { //获取Mac地址 async getMac () { //获取Mac地址 - let mac="00:00:00:00:00:00" + let mac = '00:00:00:00:00:00' try { const network = os.networkInterfaces() let osMac @@ -159,17 +159,17 @@ class Puppeteer { if (os.platform() === 'win32') { //windows下获取mac地址 let osMacList = Object.keys(network).map(key => network[key]).flat() - osMacList=osMacList.filter(item => item.family === 'IPv4'&&item.mac!==mac) + osMacList = osMacList.filter(item => item.family === 'IPv4' && item.mac !== mac) osMac = osMacList[0].mac } else if (os.platform() === 'linux') { //linux下获取mac地址 - osMac = network.eth0.filter(item => item.family === 'IPv4'&&item.mac!==mac)[0].mac + osMac = network.eth0.filter(item => item.family === 'IPv4' && item.mac !== mac)[0].mac } if (osMac) { mac = String(osMac) } } catch (e) { - console.log("获取Mac地址失败", e.toString()) + console.log('获取Mac地址失败', e.toString()) } mac = mac.replace(/:/g, '') return mac diff --git a/plugins/.gitignore b/plugins/.gitignore index 8d7de6b..548ce67 100644 --- a/plugins/.gitignore +++ b/plugins/.gitignore @@ -14,6 +14,7 @@ other/** !other/sendLog.js !other/update.js !other/setPubCk.js +!other/version.js !example example/** diff --git a/plugins/other/version.js b/plugins/other/version.js new file mode 100644 index 0000000..d1263bf --- /dev/null +++ b/plugins/other/version.js @@ -0,0 +1,27 @@ +import { App, Common, Version } from '#miao' + +let app = App.init({ + id: 'version', + name: '版本', + desc: '版本' +}) + +app.reg({ + version: { + rule: /^#版本$/, + desc: '【#帮助】 版本介绍', + fn: async function (e) { + let { changelogs, currentVersion } = Version.readLogFile('root') + return await Common.render('help/version-info', { + currentVersion, + changelogs, + name: 'Miao-Yunzai', + elem: 'cryo', + pluginName: false, + pluginVersion: false + }, { e, scale: 1.2 }) + } + } +}) + +export const version = app.v3App()