细节优化
This commit is contained in:
parent
625d7ec88e
commit
9fc7a1dd4a
|
@ -1,12 +1,39 @@
|
|||
const os = require("os")
|
||||
const { existsSync } = require("fs")
|
||||
const { existsSync, realpathSync } = require("fs")
|
||||
const { execSync } = require("child_process")
|
||||
const arch = os.arch()
|
||||
|
||||
let skipDownload = false
|
||||
let executablePath
|
||||
if (process.platform == "win32" && existsSync("C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe")) {
|
||||
skipDownload = true
|
||||
executablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
|
||||
} else if (process.platform == "linux" && existsSync("/usr/bin/chromium")) {
|
||||
skipDownload = true
|
||||
executablePath = "/usr/bin/chromium"
|
||||
|
||||
if (process.platform == "linux" || process.platform == "android")
|
||||
for (const item of [
|
||||
"chromium",
|
||||
"chromium-browser",
|
||||
"chrome",
|
||||
"chrome-browser",
|
||||
]) try {
|
||||
const chromiumPath = execSync(`command -v ${item}`).toString().trim()
|
||||
if (chromiumPath && existsSync(chromiumPath)) {
|
||||
executablePath = realpathSync(chromiumPath)
|
||||
break
|
||||
}
|
||||
} catch (err) {}
|
||||
|
||||
if (!executablePath) for (const item of [
|
||||
"C:/Program Files/Google/Chrome/Application/chrome.exe",
|
||||
"C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe",
|
||||
"/usr/bin/chromium",
|
||||
"/usr/bin/chromium-browser",
|
||||
"/snap/bin/chromium",
|
||||
]) if (existsSync(item)) {
|
||||
executablePath = item
|
||||
break
|
||||
}
|
||||
|
||||
if (executablePath || arch == "arm64" || arch == "aarch64") {
|
||||
(typeof logger == "object" ? logger : console).info(`[Chromium] ${executablePath}`)
|
||||
skipDownload = true
|
||||
}
|
||||
|
||||
module.exports = { skipDownload, executablePath }
|
|
@ -1,3 +1,10 @@
|
|||
# 3.1.1
|
||||
|
||||
* 支持协议端:米游社大别野Bot
|
||||
* 初步适配原神4.0版本,增加对应资源及信息展示,感谢**Ca(HCO₃)₂**、**@touchscale**、**@teriri7**
|
||||
* 升级`#探索`内容,支持更多内容展示 **@bangbanbab**
|
||||
* 增加 `#全部抽卡记录` **@story-x**
|
||||
|
||||
# 3.1.0
|
||||
|
||||
* 支持协议端:GSUIDCore、微信
|
||||
|
|
|
@ -26,7 +26,7 @@ async function execSync (cmd) {
|
|||
}
|
||||
|
||||
function pm2Cfg () {
|
||||
let cfg = fs.readFileSync('./config/pm2/pm2.json')
|
||||
let cfg = fs.readFileSync('config/pm2/pm2.json')
|
||||
cfg = JSON.parse(cfg)
|
||||
return cfg
|
||||
}
|
||||
|
|
|
@ -15,14 +15,14 @@ class Cfg {
|
|||
|
||||
/** 初始化配置 */
|
||||
initCfg () {
|
||||
let path = "./config/config/"
|
||||
let pathDef = "./config/default_config/"
|
||||
let path = "config/config/"
|
||||
let pathDef = "config/default_config/"
|
||||
const files = fs.readdirSync(pathDef).filter(file => file.endsWith(".yaml"))
|
||||
for (let file of files)
|
||||
if (!fs.existsSync(`${path}${file}`))
|
||||
fs.copyFileSync(`${pathDef}${file}`, `${path}${file}`)
|
||||
if (!fs.existsSync("./data")) fs.mkdirSync("./data")
|
||||
if (!fs.existsSync("./resources")) fs.mkdirSync("./resources")
|
||||
if (!fs.existsSync("data")) fs.mkdirSync("data")
|
||||
if (!fs.existsSync("resources")) fs.mkdirSync("resources")
|
||||
}
|
||||
|
||||
/** Bot配置 */
|
||||
|
@ -89,7 +89,7 @@ class Cfg {
|
|||
get package () {
|
||||
if (this._package) return this._package
|
||||
|
||||
this._package = JSON.parse(fs.readFileSync("./package.json", "utf8"))
|
||||
this._package = JSON.parse(fs.readFileSync("package.json", "utf8"))
|
||||
return this._package
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ class Cfg {
|
|||
* @param name 名称
|
||||
*/
|
||||
getYaml (type, name) {
|
||||
let file = `./config/${type}/${name}.yaml`
|
||||
let file = `config/${type}/${name}.yaml`
|
||||
let key = `${type}.${name}`
|
||||
if (this.config[key]) return this.config[key]
|
||||
|
||||
|
|
|
@ -16,13 +16,13 @@ export default async function redisInit() {
|
|||
let client = createClient({ url: redisUrl })
|
||||
|
||||
try {
|
||||
logger.mark(`正在连接 ${logger.blue(redisUrl)}`)
|
||||
logger.info(`正在连接 ${logger.blue(redisUrl)}`)
|
||||
await client.connect()
|
||||
} catch (err) {
|
||||
logger.error(`Redis 错误:${logger.red(err)}`)
|
||||
|
||||
const cmd = "redis-server --save 900 1 --save 300 10 --daemonize yes" + await aarch64()
|
||||
logger.mark("正在启动 Redis...")
|
||||
logger.info("正在启动 Redis...")
|
||||
await execSync(cmd)
|
||||
await common.sleep(1000)
|
||||
|
||||
|
@ -45,7 +45,7 @@ export default async function redisInit() {
|
|||
|
||||
/** 全局变量 redis */
|
||||
global.redis = client
|
||||
logger.mark("Redis 连接成功")
|
||||
logger.info("Redis 连接成功")
|
||||
return client
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ async function registerRendererBackends () {
|
|||
logger.warn('渲染后端 ' + (renderer.id || subFolder.name) + ' 不可用')
|
||||
}
|
||||
rendererBackends[renderer.id] = renderer
|
||||
logger.mark('[渲染后端加载]: 导入 ' + renderer.id)
|
||||
logger.info(`加载渲染后端 ${renderer.id}`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -127,7 +127,7 @@ export class update extends plugin {
|
|||
}
|
||||
|
||||
async getTime(plugin = '') {
|
||||
let cm = 'git log -1 --pretty=format:"%cd" --date=format:"%F %T"'
|
||||
let cm = 'git log -1 --pretty=%cd --date=format:"%F %T"'
|
||||
if (plugin) cm = `cd "plugins/${plugin}" && ${cm}`
|
||||
|
||||
let time = ''
|
||||
|
@ -191,7 +191,7 @@ export class update extends plugin {
|
|||
}
|
||||
|
||||
async getLog(plugin = '') {
|
||||
let cm = 'git log -100 --pretty=format:"%h||[%cd] %s" --date=format:"%F %T"'
|
||||
let cm = 'git log -100 --pretty="%h||[%cd] %s" --date=format:"%F %T"'
|
||||
if (plugin) cm = `cd "plugins/${plugin}" && ${cm}`
|
||||
|
||||
let logAll
|
||||
|
|
|
@ -65,7 +65,7 @@ export default class PuppeteerRenderer {
|
|||
if (this.lock) return false
|
||||
this.lock = true
|
||||
|
||||
logger.mark('puppeteer Chromium 启动中...')
|
||||
logger.info('puppeteer Chromium 启动中...')
|
||||
|
||||
let connectFlag = false
|
||||
try {
|
||||
|
@ -77,7 +77,7 @@ export default class PuppeteerRenderer {
|
|||
// 是否有browser实例
|
||||
const browserUrl = (await redis.get(this.browserMacKey)) || this.config.wsEndpoint
|
||||
if (browserUrl) {
|
||||
logger.mark(`puppeteer Chromium from ${browserUrl}`)
|
||||
logger.info(`puppeteer Chromium from ${browserUrl}`)
|
||||
const browserWSEndpoint = await puppeteer.connect({ browserWSEndpoint: browserUrl }).catch((err) => {
|
||||
logger.error('puppeteer Chromium 缓存的实例已关闭')
|
||||
redis.del(this.browserMacKey)
|
||||
|
@ -91,7 +91,7 @@ export default class PuppeteerRenderer {
|
|||
}
|
||||
}
|
||||
} catch (e) {
|
||||
logger.mark('puppeteer Chromium 不存在已有实例')
|
||||
logger.info('puppeteer Chromium 不存在已有实例')
|
||||
}
|
||||
|
||||
if (!this.browser || !connectFlag) {
|
||||
|
@ -119,7 +119,7 @@ export default class PuppeteerRenderer {
|
|||
return false
|
||||
}
|
||||
if (connectFlag) {
|
||||
logger.mark('puppeteer Chromium 已连接启动的实例')
|
||||
logger.info('puppeteer Chromium 已连接启动的实例')
|
||||
} else {
|
||||
console.log('chromium', this.browser.wsEndpoint())
|
||||
if (process.env.pm_id && this.browserMacKey) {
|
||||
|
@ -127,7 +127,7 @@ export default class PuppeteerRenderer {
|
|||
const expireTime = 60 * 60 * 24 * 30
|
||||
await redis.set(this.browserMacKey, this.browser.wsEndpoint(), { EX: expireTime })
|
||||
}
|
||||
logger.mark('puppeteer Chromium 启动成功')
|
||||
logger.info('puppeteer Chromium 启动成功')
|
||||
}
|
||||
|
||||
/** 监听Chromium实例是否断开 */
|
||||
|
@ -226,7 +226,7 @@ export default class PuppeteerRenderer {
|
|||
buff = await body.screenshot(randData)
|
||||
/** 计算图片大小 */
|
||||
const kb = (buff.length / 1024).toFixed(2) + 'kb'
|
||||
logger.mark(`[图片生成][${name}][${this.renderNum}次] ${kb} ${logger.green(`${Date.now() - start}ms`)}`)
|
||||
logger.info(`[图片生成][${name}][${this.renderNum}次] ${kb} ${logger.green(`${Date.now() - start}ms`)}`)
|
||||
this.renderNum++
|
||||
ret.push(buff)
|
||||
} else {
|
||||
|
@ -257,11 +257,11 @@ export default class PuppeteerRenderer {
|
|||
|
||||
/** 计算图片大小 */
|
||||
const kb = (buff.length / 1024).toFixed(2) + 'kb'
|
||||
logger.mark(`[图片生成][${name}][${i}/${num}] ${kb}`)
|
||||
logger.info(`[图片生成][${name}][${i}/${num}] ${kb}`)
|
||||
ret.push(buff)
|
||||
}
|
||||
if (num > 1) {
|
||||
logger.mark(`[图片生成][${name}] 处理完成`)
|
||||
logger.info(`[图片生成][${name}] 处理完成`)
|
||||
}
|
||||
}
|
||||
page.close().catch((err) => logger.error(err))
|
||||
|
@ -328,7 +328,7 @@ export default class PuppeteerRenderer {
|
|||
const watcher = chokidar.watch(tplFile)
|
||||
watcher.on('change', path => {
|
||||
delete this.html[tplFile]
|
||||
logger.mark(`[修改html模板] ${tplFile}`)
|
||||
logger.info(`[修改html模板] ${tplFile}`)
|
||||
})
|
||||
|
||||
this.watcher[tplFile] = watcher
|
||||
|
@ -344,10 +344,9 @@ export default class PuppeteerRenderer {
|
|||
await this.browser.close().catch((err) => logger.error(err))
|
||||
}
|
||||
this.browser = false
|
||||
logger.mark('puppeteer 关闭重启...')
|
||||
logger.info('puppeteer 关闭重启...')
|
||||
}, 100)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue