一、操作流程
此流程应用于web端nwjs打包时获取设备硬件信息,如主板、cpu序列号、ip6端口等
下载并配置好nwjs打包工具,执行安装命令,在package.json配置require以及systeminformation
模块
1.安装
npm install require --save-dev
npm install systeminformation --save
2.使用
做好上述准备工作后让我们来热个身,在入口文件配置以下代码
function getDiskSerialNum(callBack){
const si = require('systeminformation');
si.getStaticData()
console.log(si.getStaticData())
}
getDiskSerialNum();
代码执行效果如下:
![](https://img.haomeiwen.com/i15226743/2b43717c2698dc0e.png)
可以看到我们已经获取到了大部分可用数据,用法就是这样,详细了解systeminformation
模块后就可以随心所欲的获取自己想要的硬件信息了(深度了解可查看:二、systeminformation详情)
3.回调,承诺,异步等待
所有功能(版本和time除外)都实现为异步功能!现在有三种消耗它们的方法:
3.1回调样式
const si = require('systeminformation');
si.cpu(function(data) {
console.log('CPU Information:');
console.log('- manufucturer: ' + data.manufacturer);
console.log('- brand: ' + data.brand);
console.log('- speed: ' + data.speed);
console.log('- cores: ' + data.cores);
console.log('- physical cores: ' + data.physicalCores);
console.log('...');
})
3.2承诺风格
当省略回调参数(cb)时,可以以面向承诺的方式使用所有函数。所有功能(版本和time除外)都返回一个承诺,你可以使用:
const si = require('systeminformation');
si.cpu()
.then(data => {
console.log('CPU Information:');
console.log('- manufucturer: ' + data.manufacturer);
console.log('- brand: ' + data.brand);
console.log('- speed: ' + data.speed);
console.log('- cores: ' + data.cores);
console.log('- physical cores: ' + data.physicalCores);
console.log('...');
})
.catch(error => console.error(error));
3.3异步/等待样式
从节点v7.6开始,可以使用async / await模式。上面的示例将如下所示:
const si = require('systeminformation');
async function cpuData() {
try {
const data = await si.cpu();
console.log('CPU Information:');
console.log('- manufucturer: ' + data.manufacturer);
console.log('- brand: ' + data.brand);
console.log('- speed: ' + data.speed);
console.log('- cores: ' + data.cores);
console.log('- physical cores: ' + data.physicalCores);
console.log('...');
} catch (e) {
console.log(e)
}
}
二、systeminformation详情
1.一次全部获取
以下三个函数si.getStaticData(),si.getDynamicData()和si.getAllData()将在
单个结果对象中返回大多数可用数据:包括静态数据动态数据
静态数据是所有与硬件相关的(或几乎恒定的)数据,例如系统,底板,BIOS,OS,版本,CPU,网络接口,内存和磁盘布局
动态数据将返回用户,CPU速度,负载,进程,服务,温度,文件系统,网络和磁盘统计信息,...
2.系统
详情参照https://github.com/sebhildebrandt/systeminformation
网友评论