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
4 months ago
|
//开启严格模式
|
||
|
'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
|
||
|
};
|