增加`#版本`命令
This commit is contained in:
parent
4938028e24
commit
74f5d7a861
|
@ -1,16 +1,16 @@
|
||||||
import template from 'art-template'
|
import fs from 'node:fs'
|
||||||
import fs from 'fs'
|
import os from 'node:os'
|
||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
|
import template from 'art-template'
|
||||||
import chokidar from 'chokidar'
|
import chokidar from 'chokidar'
|
||||||
import cfg from '../config/config.js'
|
import cfg from '../config/config.js'
|
||||||
import os from 'os'
|
|
||||||
|
|
||||||
const _path = process.cwd()
|
const _path = process.cwd()
|
||||||
|
|
||||||
let puppeteer = {}
|
let puppeteer = {}
|
||||||
|
|
||||||
// mac地址
|
// mac地址
|
||||||
let mac =''
|
let mac = ''
|
||||||
|
|
||||||
class Puppeteer {
|
class Puppeteer {
|
||||||
constructor () {
|
constructor () {
|
||||||
|
@ -78,15 +78,15 @@ class Puppeteer {
|
||||||
//如果是pm2启动,尝试连接已有实例
|
//如果是pm2启动,尝试连接已有实例
|
||||||
if (process.env.pm_id) {
|
if (process.env.pm_id) {
|
||||||
//获取Mac地址
|
//获取Mac地址
|
||||||
if (!mac){
|
if (!mac) {
|
||||||
mac = await this.getMac()
|
mac = await this.getMac()
|
||||||
this.browserMacKey = `Yz:chromium:browserWSEndpoint:${mac}`
|
this.browserMacKey = `Yz:chromium:browserWSEndpoint:${mac}`
|
||||||
}
|
}
|
||||||
//是否有browser实例
|
//是否有browser实例
|
||||||
const browserUrl = await redis.get(this.browserMacKey)
|
const browserUrl = await redis.get(this.browserMacKey)
|
||||||
if (browserUrl){
|
if (browserUrl) {
|
||||||
const browserWSEndpoint = await puppeteer.connect({browserWSEndpoint: browserUrl}).catch((err) => {
|
const browserWSEndpoint = await puppeteer.connect({ browserWSEndpoint: browserUrl }).catch((err) => {
|
||||||
logger.error("puppeteer Chromium 缓存的实例已关闭")
|
logger.error('puppeteer Chromium 缓存的实例已关闭')
|
||||||
redis.del(this.browserMacKey)
|
redis.del(this.browserMacKey)
|
||||||
})
|
})
|
||||||
//如果有实例,直接使用
|
//如果有实例,直接使用
|
||||||
|
@ -98,12 +98,12 @@ class Puppeteer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (e) {
|
} catch (e) {
|
||||||
logger.error("puppeteer Chromium 尝试连接已有实例失败")
|
logger.error('puppeteer Chromium 尝试连接已有实例失败')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!this.browser||!connectFlag){
|
if (!this.browser || !connectFlag) {
|
||||||
//如果没有实例,初始化puppeteer
|
//如果没有实例,初始化puppeteer
|
||||||
this.browser = await puppeteer.launch(this.config).catch((err, trace) => {
|
this.browser = await puppeteer.launch(this.config).catch((err, trace) => {
|
||||||
let errMsg = err.toString() + (trace ? trace.toString() : '')
|
let errMsg = err.toString() + (trace ? trace.toString() : '')
|
||||||
|
@ -127,10 +127,10 @@ class Puppeteer {
|
||||||
logger.error('puppeteer Chromium 启动失败')
|
logger.error('puppeteer Chromium 启动失败')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (connectFlag){
|
if (connectFlag) {
|
||||||
logger.mark('puppeteer Chromium 已连接启动的实例')
|
logger.mark('puppeteer Chromium 已连接启动的实例')
|
||||||
}else {
|
} else {
|
||||||
console.log("chromium",this.browser.wsEndpoint())
|
console.log('chromium', this.browser.wsEndpoint())
|
||||||
if (this.browserMacKey) {
|
if (this.browserMacKey) {
|
||||||
//缓存一下实例30天
|
//缓存一下实例30天
|
||||||
const expireTime = 60 * 60 * 24 * 30
|
const expireTime = 60 * 60 * 24 * 30
|
||||||
|
@ -151,7 +151,7 @@ class Puppeteer {
|
||||||
//获取Mac地址
|
//获取Mac地址
|
||||||
async getMac () {
|
async getMac () {
|
||||||
//获取Mac地址
|
//获取Mac地址
|
||||||
let mac="00:00:00:00:00:00"
|
let mac = '00:00:00:00:00:00'
|
||||||
try {
|
try {
|
||||||
const network = os.networkInterfaces()
|
const network = os.networkInterfaces()
|
||||||
let osMac
|
let osMac
|
||||||
|
@ -159,17 +159,17 @@ class Puppeteer {
|
||||||
if (os.platform() === 'win32') {
|
if (os.platform() === 'win32') {
|
||||||
//windows下获取mac地址
|
//windows下获取mac地址
|
||||||
let osMacList = Object.keys(network).map(key => network[key]).flat()
|
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
|
osMac = osMacList[0].mac
|
||||||
} else if (os.platform() === 'linux') {
|
} else if (os.platform() === 'linux') {
|
||||||
//linux下获取mac地址
|
//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) {
|
if (osMac) {
|
||||||
mac = String(osMac)
|
mac = String(osMac)
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("获取Mac地址失败", e.toString())
|
console.log('获取Mac地址失败', e.toString())
|
||||||
}
|
}
|
||||||
mac = mac.replace(/:/g, '')
|
mac = mac.replace(/:/g, '')
|
||||||
return mac
|
return mac
|
||||||
|
|
|
@ -14,6 +14,7 @@ other/**
|
||||||
!other/sendLog.js
|
!other/sendLog.js
|
||||||
!other/update.js
|
!other/update.js
|
||||||
!other/setPubCk.js
|
!other/setPubCk.js
|
||||||
|
!other/version.js
|
||||||
|
|
||||||
!example
|
!example
|
||||||
example/**
|
example/**
|
||||||
|
|
|
@ -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()
|
Loading…
Reference in New Issue