日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

注意!Electron 無法獲取設備ID了!

來源: 責編: 時間:2024-03-18 09:42:19 235觀看
導讀大家好,我是楊成功。在桌面應用開發(fā)中,常常需要獲取設備唯一 ID 來表示當前客戶端的唯一性。一般的設備 ID 需要滿足兩個條件:基于硬件和系統(tǒng)配置生成,確保設備的唯一性。只要不重裝系統(tǒng),設備 ID 多次獲取都是唯一的。node

CKR28資訊網(wǎng)——每日最新資訊28at.com

大家好,我是楊成功。CKR28資訊網(wǎng)——每日最新資訊28at.com

在桌面應用開發(fā)中,常常需要獲取設備唯一 ID 來表示當前客戶端的唯一性。一般的設備 ID 需要滿足兩個條件:CKR28資訊網(wǎng)——每日最新資訊28at.com

  • 基于硬件和系統(tǒng)配置生成,確保設備的唯一性。
  • 只要不重裝系統(tǒng),設備 ID 多次獲取都是唯一的。

node-machine-id 是一個常用的 Node.js 模塊,它能夠在 Electron 中獲取機器的唯一標識。CKR28資訊網(wǎng)——每日最新資訊28at.com

我們的產品就是使用該模塊,用法也很簡單:CKR28資訊網(wǎng)——每日最新資訊28at.com

import { machineIdSync } from 'node-machine-id';let id = machineIdSync();

但是昨天出現(xiàn)了問題,排查結果是多臺設備獲取的 ID 竟然是一樣的,造成了一些設備的數(shù)據(jù)被篡改,我從 issues 中找到了一些端倪。CKR28資訊網(wǎng)——每日最新資訊28at.com

圖片CKR28資訊網(wǎng)——每日最新資訊28at.com

也就是在 Window Ghost 系統(tǒng)中會出現(xiàn)問題(啥是 Window Ghost ?)。CKR28資訊網(wǎng)——每日最新資訊28at.com

Window 中還經(jīng)常遇到權限問題,而且這個 ID 總歸不可控,所以還是用自定義的方式實現(xiàn)吧。CKR28資訊網(wǎng)——每日最新資訊28at.com

自定義設置設備 ID

自定義的設備 ID 首先需要唯一,其次在安裝和卸載應用時設備 ID 不變。CKR28資訊網(wǎng)——每日最新資訊28at.com

滿足這兩個要求,最佳的方案就是將自己生成的設備 ID 存儲在用戶目錄下。CKR28資訊網(wǎng)——每日最新資訊28at.com

假設當前用戶叫張三,他的用戶目錄:CKR28資訊網(wǎng)——每日最新資訊28at.com

  • Window:C:/Users/張三/
  • MacOS:/Users/張三/

很多應用程序都把配置寫到用戶目錄下,且該目錄一般不會遇到權限問題。CKR28資訊網(wǎng)——每日最新資訊28at.com

使用 uuid 生成設備 ID:CKR28資訊網(wǎng)——每日最新資訊28at.com

import { v4 as uuidv4 } from 'uuid';const device_id = uuidv4();

在主進程中獲取到用戶目錄,非常簡單:CKR28資訊網(wǎng)——每日最新資訊28at.com

import { app } from 'electron';const user_path = app.getPath('home'); // 自動獲取 Win 或 Mac 的用戶目錄

在用戶目錄下創(chuàng)建 .elappid 文件,存放生成的設備 ID:CKR28資訊網(wǎng)——每日最新資訊28at.com

import { join } from 'node:path';import fs from 'node:fs';// 獲取配置文件地址let appid_path = join(user_path, '.elappid');// 判斷文件是否存在,不存在就先創(chuàng)建,并寫入設備IDif (!fs.existsSync(appid_path)) {  fs.writeFileSync(appid_path, device_id, 'utf8');}

讀取設備 ID,并發(fā)送給渲染進程:CKR28資訊網(wǎng)——每日最新資訊28at.com

let appid = fs.readFileSync(appid_path, 'utf8');win.webContents.send('susr-config', { appid });

寫一個進程間交互的方法,就能拿到設備 ID 了。CKR28資訊網(wǎng)——每日最新資訊28at.com

什么時候獲取設備 ID

正常情況下,我們希望用戶打開應用的時候,主動獲取設備 ID 并發(fā)給渲染進程。CKR28資訊網(wǎng)——每日最新資訊28at.com

然而經(jīng)過測試,在創(chuàng)建瀏覽器窗口的同時立即獲取設備 ID 并通知渲染進程,在正式環(huán)境中,渲染進程往往接受不到消息。CKR28資訊網(wǎng)——每日最新資訊28at.com

這是因為創(chuàng)建窗口時,頁面還沒有初始化完成,自然接收不到消息。CKR28資訊網(wǎng)——每日最新資訊28at.com

保險的方法就是在頁面加載完成后再獲取設備 ID,方法如下:CKR28資訊網(wǎng)——每日最新資訊28at.com

win = new BrowserWindow({...})// 頁面加載完成后觸發(fā):win.webContents.on("did-finish-load", () => {  console.log('在這里獲取設備ID吧')})

大功告成,你也試試吧!CKR28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-76538-0.html注意!Electron 無法獲取設備ID了!

聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 談談JS二進制:File、Blob、FileReader、ArrayBuffer、Base64

下一篇: 贈你13張圖,助你20分鐘打敗了「V8垃圾回收機制」!!!

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美不卡视频一区发布| 亚洲福利久久| 欧美日韩亚洲视频一区| 欧美日韩在线三级| 国产精品久久久久久久久免费 | 国产偷自视频区视频一区二区| 国产精品久久久久久久久久尿 | 欧美日韩伦理在线免费| 欧美日韩在线高清| 国产精品久久久久久模特| 国产午夜精品全部视频播放| 伊人久久久大香线蕉综合直播| 亚洲美女精品成人在线视频| 亚洲欧美国产毛片在线| 久久久久久久久久久久久女国产乱| 美乳少妇欧美精品| 欧美午夜国产| 黄色欧美成人| 一区二区三区免费观看| 久久精品国产第一区二区三区最新章节 | 99国产精品久久久久老师| 性欧美大战久久久久久久久| 美女主播一区| 国产精品中文字幕欧美| 亚洲经典三级| 欧美一区二区三区精品| 欧美精品一区在线播放| 国产一区二区三区在线观看免费 | 曰本成人黄色| 亚洲自拍三区| 欧美高清成人| 国产亚洲激情| 亚洲深夜福利在线| 美女主播一区| 国产一区二区三区免费不卡| 一本色道久久综合狠狠躁篇怎么玩| 久久久999精品免费| 国产精品成人一区| 亚洲精品日产精品乱码不卡| 久久久综合网站| 国产精品青草综合久久久久99| 91久久精品美女| 久久免费黄色| 国产欧美一区视频| 亚洲无毛电影| 欧美日韩 国产精品| 亚洲高清久久网| 久久久91精品国产一区二区精品| 国产精品免费看久久久香蕉| 99国内精品久久| 欧美福利在线| 在线欧美福利| 久久久免费精品| 国产网站欧美日韩免费精品在线观看 | 黄色工厂这里只有精品| 亚洲一区久久| 欧美日韩视频专区在线播放| 亚洲高清在线精品| 久久精品亚洲一区| 国产日韩精品久久久| 亚洲夜间福利| 欧美日韩另类国产亚洲欧美一级| 亚洲国产精品va在线看黑人 | 一本一本久久a久久精品综合妖精| 鲁鲁狠狠狠7777一区二区| 国产一区二区精品久久| 亚洲欧美一区二区三区在线| 欧美性大战xxxxx久久久| 亚洲精品一级| 欧美激情久久久| 亚洲国内精品| 欧美1区视频| 亚洲丰满在线| 免费的成人av| 亚洲国产一区二区三区高清| 久久在线观看视频| 亚洲福利在线看| 欧美成人一区二区| 亚洲国产美女久久久久| 久久综合网络一区二区| 在线观看视频一区| 另类成人小视频在线| 在线日韩日本国产亚洲| 噜噜噜91成人网| 亚洲欧洲日产国码二区| 欧美黄色影院| 99av国产精品欲麻豆| 欧美久久一级| 在线中文字幕不卡| 国产精品久久综合| 亚洲欧美日韩国产中文| 国产精品女主播在线观看| 亚洲综合视频在线| 国产日韩欧美制服另类| 久久久99久久精品女同性| 怡红院精品视频| 欧美极品一区| 一区二区高清视频| 国产精品成人va在线观看| 欧美亚洲视频一区二区| 韩国女主播一区二区三区| 久久天天综合| 亚洲片国产一区一级在线观看| 欧美—级a级欧美特级ar全黄| 夜夜躁日日躁狠狠久久88av| 国产精品久久久久久久久久尿| 欧美一区二区在线| 在线看国产一区| 欧美美女视频| 亚洲欧美日韩视频一区| 国产一区深夜福利| 欧美va天堂| 在线一区二区三区四区五区| 国产精品视频精品视频| 久久久久国产成人精品亚洲午夜| 亚洲国产高清高潮精品美女| 欧美日本精品一区二区三区| 亚洲综合精品四区| 精久久久久久| 欧美精品一区二区在线播放| 亚洲欧美日韩精品| 一区在线影院| 欧美日韩一区高清| 久久aⅴ国产欧美74aaa| 亚洲国产导航| 国产精品三级视频| 玖玖玖国产精品| 在线亚洲自拍| 精品69视频一区二区三区| 蜜桃久久av一区| 亚洲私人影院| 精品成人一区| 欧美视频一区二区三区四区| 久久久www成人免费无遮挡大片| 亚洲剧情一区二区| 国产一区日韩欧美| 欧美日本国产一区| 久久不射中文字幕| 99精品视频一区| 国产午夜精品久久| 欧美日韩国产精品一区二区亚洲| 久久国产婷婷国产香蕉| 99精品国产在热久久下载| 国产在线视频欧美| 欧美日韩妖精视频| 麻豆精品在线视频| 亚洲欧美三级在线| 亚洲啪啪91| 国产一区香蕉久久| 国产精品ⅴa在线观看h| 鲁大师影院一区二区三区| 亚洲免费一在线| 亚洲看片网站| 国内精品久久久久影院 日本资源| 欧美了一区在线观看| 久久久久成人网| 午夜精品免费在线| 日韩视频在线观看免费| 国模私拍视频一区| 国产精品美女在线| 欧美日本中文| 免费观看成人www动漫视频| 午夜在线视频观看日韩17c| 一本不卡影院| 亚洲国产天堂久久综合网| 国精产品99永久一区一区| 国产精品裸体一区二区三区| 欧美精品一区二区三区在线看午夜| 久久久久久伊人| 亚洲一级在线观看| 日韩一级网站| 亚洲国产精品一区在线观看不卡 | 久久久久久久欧美精品| 亚洲宅男天堂在线观看无病毒| 亚洲精品乱码久久久久久| 精品电影一区| 国产日韩欧美一区二区| 国产精品久久久久久久久搜平片| 欧美精品一区视频| 久久久亚洲国产美女国产盗摄| 午夜在线观看欧美| 亚洲欧美国产一区二区三区| 一区二区三区四区国产精品| 亚洲精品久久久久久久久久久久| 在线日韩欧美视频| 伊人精品成人久久综合软件| 国产一区二区中文字幕免费看| 国产精品视频九色porn| 国产精品国产三级国产专区53| 欧美日韩另类字幕中文| 欧美理论大片| 欧美国产视频一区二区| 美女成人午夜| 老司机免费视频久久| 久久久91精品国产| 久久国产精品99久久久久久老狼| 午夜精品久久一牛影视| 亚洲一区二区三区成人在线视频精品| 一本久久青青| 夜夜夜精品看看| 亚洲永久精品大片| 亚洲欧美日韩精品综合在线观看 | 久久精品久久99精品久久| 香蕉久久夜色精品|