项目背景技术:vue + electron
方法:1.新建一个preload.js
const childProcess = require('child_process');
module.exports = {
getCPUSerialNumber() {
let res = ""
try {
let cmd = `wmic CPU get ProcessorID`; //cmd里获取cpu序列号的指令
res = childProcess.execSync(cmd); //输出指令返回
}catch (e){
res = childProcess.execSync(cmd);
console.error("获取CPU序列号错误!")
}
return res.toString().split('\n');
},
}
2.vue.config.js里配置预加载preload.js
module.exports = {
pluginOptions: {
electronBuilder: {
preload: { preload: 'src/preload.js',},
}
}
}
3.添加global.d.ts(备注:使用ts时需要,否则可忽略次步骤)
type CallbackFunctionVariadicAnyReturn = (...args: any[]) => any;
declare global {
interface Window {
getCPUSerialNumber: CallbackFunctionVariadicAnyReturn
}
}
4.使用
const CPUSerialNumber = window?.getCPUSerialNumber()?.[1]?.trim()