This commit is contained in:
xy
2026-03-13 01:38:40 +00:00
parent e6e4f88257
commit 28855885cd
311 changed files with 89544 additions and 94350 deletions

View File

@@ -12,13 +12,13 @@ const publicKey = fs.readFileSync(path.resolve(__dirname, `../resource/publicKey
export async function checkWhiteList(env: string, ip: string, uid: number) {
if(ip) {
if (ip) {
let result = await WhiteListModel.checkIp(env, ip);
if(!!result) return true;
if (!!result) return true;
}
if(uid) {
if (uid) {
let result = await WhiteListModel.checkUid(env, uid);
if(!!result) return true;
if (!!result) return true;
}
return false
}
@@ -30,20 +30,20 @@ export class MsgEncrypt {
private encodeV: string = '';
constructor(data: { k?: string, v?: string, encodeK?: string, encodeV?: string, originK?: string, originV?: string }) {
if(data.k && data.v) {
if (data.k && data.v) {
this.encodeAndSetKv(data.k, data.v);
}
if(data.encodeK && data.encodeV) {
if (data.encodeK && data.encodeV) {
this.decodeAndSetKv(data.encodeK, data.encodeV);
}
if(data.originK && data.originV) {
if (data.originK && data.originV) {
this.k = data.originK;
this.v = data.originV;
}
}
public decryptMsg(data: string) {
if(!data) return false
if (!data) return false
try {
const decodeStr = aesDecrypt(data, this.k, this.v);
@@ -51,32 +51,32 @@ export class MsgEncrypt {
let body = JSON.parse(decodeStr);
return body
} catch(e) {
} catch (e) {
console.error(e);
return false;
}
}
public encryptMsg(json: Object) {
if(!isJSON(json)) return false;
if (!isJSON(json)) return false;
try {
const encodeStr = aesEncrypt(JSON.stringify(json), this.k, this.v);
// console.log('encode str:', encodeStr);
return encodeStr;
} catch(e) {
} catch (e) {
console.error(e);
return false;
}
}
public decodeAndSetKv(requestK: string, requestV: string) {
if(requestK) {
if (requestK) {
this.encodeK = requestK;
this.k = this.privateDecrypt(Buffer.from(requestK, 'base64'));
}
if(requestV) {
if (requestV) {
this.encodeV = requestV;
this.v = this.privateDecrypt(Buffer.from(requestV, 'base64'));
}
@@ -93,26 +93,26 @@ export class MsgEncrypt {
private privateDecrypt(encryptMsg: Buffer) {
const decryptMsg = crypto.privateDecrypt(
{ key: privateKey, padding: crypto.constants.RSA_PKCS1_PADDING },
encryptMsg
{ key: privateKey, padding: crypto.constants.RSA_PKCS1_PADDING },
encryptMsg
);
return decryptMsg.toString();
}
private getRsaEncodedData(original: string) {
const encryptMsg = crypto.publicEncrypt(
{ key: publicKey, padding: crypto.constants.RSA_PKCS1_PADDING },
Buffer.from(original)
);
);
return encryptMsg.toString('base64');
}
private encodeAndSetKv(k: string, v: string) {
if(k) {
if (k) {
this.k = k;
this.encodeK = this.getRsaEncodedData(k);
}
if(v) {
if (v) {
this.v = v;
this.encodeV = this.getRsaEncodedData(v);
}

View File

@@ -906,11 +906,28 @@ export function getArrayOfNumber(len: number) {
// 比较以 . 分隔的版本号。返回 0 则版本号相等,返回正数则 versionA 大,返回负数则 versionB 大
export function compareVersion(versionA: string, versionB: string) {
if (!versionA && !versionB) {
return 0;
}
if (!versionA) {
return -1;
}
if (!versionB) {
return 1;
}
var vA = versionA.split('.');
var vB = versionB.split('.');
for (var i = 0; i < vA.length; ++i) {
var a = parseInt(vA[i]);
var b = parseInt(vB[i] || '0');
if (isNaN(a) || isNaN(b)) {
if (a === b) {
continue;
} else {
return isNaN(a) ? -1 : 1;
}
}
if (a === b) {
} else {