如何生成设备ID?(node-machine-id)
业务场景:前端需要在请求登录接口的时候传一个设备ID,用于后台记录同一台设备异常登录的次数,然后返回一个字段让前端判断是否展示异常信息的弹框。
分析:首先说下,为什么这里是生成设备ID,而不是获取设备ID:因为安装此插件后,编写好代码,运行的结果发现这个ID和我们本机中的设备ID是不一样的。以此推断可能这个插件实际上是生成了一个随机数,然后以某种方式把随机数保存了下来,等使用了其他的设备登录时,又生成了新的随机数。
下边提供一下具体步骤:
一、安装插件
npm install node-machine-id
二、在vue.config配置文件中配置configureWebpack
1 const { machineIdSync } = require('node-machine-id') 2 const webpack = require('webpack') 3 4 module.exports = { 5 configureWebpack: { 6 plugins: [ 7 new webpack.DefinePlugin({ 8 VERSION: JSON.stringify(machineIdSync({ original: true })) 9 }) 10 ] 11 } 12 }
三、把上述的VERSION放在main.js中vue的原型上
Vue.prototype.$VERSION = VERSION
四、在需要的页面中直接使用
this.$VERSION
这样就可以拿到这个设备ID了。。。