mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-09-23 20:44:42 +08:00
编排添加系统信息
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
const exec = require("./exec");
|
||||
const os = require("./os");
|
||||
|
||||
module.exports = {
|
||||
exec,
|
||||
os,
|
||||
};
|
||||
|
84
plugin/lib/quickcomposer/system/os.js
Normal file
84
plugin/lib/quickcomposer/system/os.js
Normal file
@@ -0,0 +1,84 @@
|
||||
const os = require("os");
|
||||
|
||||
// 获取系统架构
|
||||
function arch() {
|
||||
return os.arch();
|
||||
}
|
||||
|
||||
// 获取CPU信息
|
||||
function cpus({ format = "full" } = {}) {
|
||||
const cpuInfo = os.cpus();
|
||||
if (format === "simple") {
|
||||
return cpuInfo.map(({ model, speed }) => ({ model, speed }));
|
||||
}
|
||||
return cpuInfo;
|
||||
}
|
||||
|
||||
// 获取内存信息
|
||||
function memory({ type = "totalmem" } = {}) {
|
||||
switch (type) {
|
||||
case "totalmem":
|
||||
return os.totalmem();
|
||||
case "freemem":
|
||||
return os.freemem();
|
||||
default:
|
||||
throw new Error("不支持的内存信息类型");
|
||||
}
|
||||
}
|
||||
|
||||
// 获取网络信息
|
||||
function network({ type = "hostname", internal = false } = {}) {
|
||||
switch (type) {
|
||||
case "hostname":
|
||||
return os.hostname();
|
||||
case "networkInterfaces": {
|
||||
const interfaces = os.networkInterfaces();
|
||||
if (!internal) {
|
||||
// 过滤掉内部接口
|
||||
Object.keys(interfaces).forEach((key) => {
|
||||
interfaces[key] = interfaces[key].filter((iface) => !iface.internal);
|
||||
if (interfaces[key].length === 0) {
|
||||
delete interfaces[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
return interfaces;
|
||||
}
|
||||
default:
|
||||
throw new Error("不支持的网络信息类型");
|
||||
}
|
||||
}
|
||||
|
||||
// 获取平台信息
|
||||
function platform({ type = "platform" } = {}) {
|
||||
switch (type) {
|
||||
case "platform":
|
||||
return os.platform();
|
||||
case "type":
|
||||
return os.type();
|
||||
case "release":
|
||||
return os.release();
|
||||
case "arch":
|
||||
return os.arch();
|
||||
case "endianness":
|
||||
return os.endianness();
|
||||
case "tmpdir":
|
||||
return os.tmpdir();
|
||||
case "homedir":
|
||||
return os.homedir();
|
||||
case "uptime":
|
||||
return os.uptime();
|
||||
case "userInfo":
|
||||
return os.userInfo();
|
||||
default:
|
||||
throw new Error("不支持的平台信息类型");
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
arch,
|
||||
cpus,
|
||||
memory,
|
||||
network,
|
||||
platform,
|
||||
};
|
Reference in New Issue
Block a user