updte 不强制安装依赖,不安装将无法使用椰奶状态

This commit is contained in:
yeyang
2023-01-07 18:43:55 +08:00
parent db7774d968
commit 90776f701a
3 changed files with 21 additions and 3 deletions

View File

@@ -3,7 +3,8 @@ import os from 'os';
import { render, Config } from '../components/index.js'
import { CPU, Cfg, common } from '../model/index.js'
import moment from 'moment';
import si from 'systeminformation'
// import si from 'systeminformation'
let si = await redis.get('yenai:node_modules') ? await import("systeminformation") : false
import lodash from 'lodash'
let interval = false;
export class example extends plugin {
@@ -26,6 +27,7 @@ export class example extends plugin {
if (!/椰奶/.test(e.msg) && !Config.Notice.state) {
return false;
}
if (!si) return e.reply("❎ 没有检测到systeminformation依赖请运行'pnpm add systeminformation -w'进行安装")
//防止多次触发
if (interval) { return } else interval = true;
//系统

View File

@@ -1,7 +1,6 @@
import fs from 'node:fs'
import Ver from './components/Version.js'
import chalk from 'chalk'
import si from 'systeminformation'
const files = fs.readdirSync('./plugins/yenai-plugin/apps').filter(file => file.endsWith('.js'))
@@ -11,6 +10,21 @@ logger.info(chalk.rgb(253, 235, 255)('----ヾ( ̄▽ ̄)Bye~Bye~----'))
logger.info(chalk.rgb(255, 207, 247)(`椰奶插件${Ver.ver}初始化~`))
logger.info(chalk.rgb(253, 235, 255)('-------------------------'))
try {
await import('systeminformation')
await redis.set('yenai:node_modules', '1')
} catch (error) {
if (error.stack.includes('Cannot find package')) {
logger.warn('--------椰奶依赖缺失--------')
logger.warn("yenai-plugin 没有检测到systeminformation依赖将无法使用椰奶状态")
logger.warn(`如需使用请运行:${logger.red('pnpm add systeminformation -w')}`)
logger.warn('---------------------')
} else {
logger.error(`椰奶载入依赖错误:${logger.red('systeminformation')}`)
logger.error(decodeURI(error.stack))
}
await redis.del('yenai:node_modules')
}
files.forEach((file) => {
ret.push(import(`./apps/${file}`))

View File

@@ -1,9 +1,10 @@
import os from 'os';
import si from 'systeminformation'
// import si from 'systeminformation'
import lodash from 'lodash'
import fs from 'fs'
import { common } from './index.js'
import { Config } from '../components/index.js'
let si = await redis.get('yenai:node_modules') ? await import("systeminformation") : false
class OSUtils {
constructor() {
this.cpuUsageMSDefault = 1000; // CPU 利用率默认时间段
@@ -14,6 +15,7 @@ class OSUtils {
}
async init() {
if (!si) return
//初始化GPU获取
if ((await si.graphics()).controllers.find(item => item.memoryUsed && item.memoryFree && item.utilizationGpu)) {
this.isGPU = true