You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.6 KiB

//开启严格模式
'use strict';
const os = require('os');
function deviceInfo() {
if (!os) {
return null;
}
const info = {
platform: '',
hostname: '',
cpu: '',
mac: ''
};
//操作系统平台
const pf = os.platform();
switch (pf) {
case 'darwin':
info.platform = 'macOS'
break;
case 'win32':
info.platform = 'Windows'
break;
default:
break;
}
//主机名
info.hostname = os.hostname();
//cpu
const cpus = os.cpus();
if (cpus.length) {
info.cpu = cpus[0].model;
}
//网卡
const netmap = os.networkInterfaces();
const conf = ['en0', 'WLAN', '以太网'];
// console.log(netmap);
for (let index = 0; index < conf.length; index++) {
const key = conf[index];
const item = netmap[key];
if (item) {
info.mac = item[0].mac
// console.log('mac:'+ mac);
break;
}
}
return info;
}
console.log(deviceInfo())
console.log(os.cpus())
console.log(os.arch())
console.log(os.endianness)
// console.log(os.getFreeMem())
console.log(os.getPriority())
console.log(os.loadavg())
console.log(os.networkInterfaces())
console.log(os.loadavg())
console.log(os.getOSRelease)
console.log(os.tmpdir())
console.log(os.getTotalMem)
console.log(os.getOSType)
console.log(os.getUptime)
console.log(os.getOSVersion)
console.log(os.constants)
//module.exports 暴露接口的方法
module.exports = {
deviceInfo: deviceInfo
};