Browse Source

change uuid

master
godo 7 months ago
parent
commit
13aba70154
  1. 56
      frontend/src/system/config.ts

56
frontend/src/system/config.ts

@ -299,32 +299,42 @@ export const clearSystemConfig = () => {
localStorage.setItem('GodoOS-storeType', storetype) localStorage.setItem('GodoOS-storeType', storetype)
//localStorage.removeItem('GodoOS-config'); //localStorage.removeItem('GodoOS-config');
}; };
function bin2hex(s: string) { // function bin2hex(s: string) {
s = encodeURI(s);//只会有0-127的ascii不转化 // s = encodeURI(s);//只会有0-127的ascii不转化
let m: any = s.match(/%[\dA-F]{2}/g), a: any = s.split(/%[\dA-F]{2}/), i, j, n, t; // let m: any = s.match(/%[\dA-F]{2}/g), a: any = s.split(/%[\dA-F]{2}/), i, j, n, t;
m.push("") // m.push("")
for (i in a) { // for (i in a) {
if (a[i] === "") { a[i] = m[i]; continue } // if (a[i] === "") { a[i] = m[i]; continue }
n = "" // n = ""
for (j in a[i]) { // for (j in a[i]) {
t = a[i][j].charCodeAt().toString(16).toUpperCase() // t = a[i][j].charCodeAt().toString(16).toUpperCase()
if (t.length === 1) t = "0" + t // if (t.length === 1) t = "0" + t
n += "%" + t // n += "%" + t
} // }
a[i] = n + m[i] // a[i] = n + m[i]
} // }
return a.join("").split("%").join("") // return a.join("").split("%").join("")
} // }
// export const getClientId = () => {
// let uuid: any = localStorage.getItem("godoosClientId");
// if (!uuid) {
// let canvas = document.createElement('canvas');
// let ctx: any = canvas.getContext('2d');
// ctx.fillStyle = '#FF0000';
// ctx.fillRect(0, 0, 8, 10);
// let b64 = canvas.toDataURL().replace("data:image/png;base64,", "");
// let bin = window.atob(b64);
// uuid = bin2hex(bin.slice(-16, -12));
// localStorage.setItem("godoosClientId", uuid);
// }
// return uuid;
// }
export const getClientId = () => { export const getClientId = () => {
let uuid: any = localStorage.getItem("godoosClientId"); let uuid: any = localStorage.getItem("godoosClientId");
if (!uuid) { if (!uuid) {
let canvas = document.createElement('canvas'); const timestamp = new Date().getTime();
let ctx: any = canvas.getContext('2d'); const random = Math.floor(Math.random() * 1000000);
ctx.fillStyle = '#FF0000'; uuid = `${timestamp}${random}`;
ctx.fillRect(0, 0, 8, 10);
let b64 = canvas.toDataURL().replace("data:image/png;base64,", "");
let bin = window.atob(b64);
uuid = bin2hex(bin.slice(-16, -12));
localStorage.setItem("godoosClientId", uuid); localStorage.setItem("godoosClientId", uuid);
} }
return uuid; return uuid;

Loading…
Cancel
Save