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
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
|
|
}; |