fix: 修复vue-tsc类型错误 - 移除未使用变量和函数

This commit is contained in:
miao-moe
2026-06-20 12:25:10 +08:00
parent b57b40e873
commit 3a63ee93bc
2 changed files with 4 additions and 64 deletions

View File

@@ -274,22 +274,10 @@ const utilModule: any = {
types: { isDate: (x: any) => x instanceof Date, isRegExp: (x: any) => x instanceof RegExp, isError: (x: any) => x instanceof Error, isArray: Array.isArray, isFunction: (x: any) => typeof x === 'function' }, types: { isDate: (x: any) => x instanceof Date, isRegExp: (x: any) => x instanceof RegExp, isError: (x: any) => x instanceof Error, isArray: Array.isArray, isFunction: (x: any) => typeof x === 'function' },
}; };
// Crypto helpers using Web Crypto API
async function subtleDigest(algo: string, data: Uint8Array): Promise<Uint8Array> {
const alg = algo === 'md5' ? 'MD5' : algo.toUpperCase();
const name = alg === 'MD5' ? 'MD5' : alg === 'SHA1' ? 'SHA-1' : alg === 'SHA256' ? 'SHA-256' : alg === 'SHA512' ? 'SHA-512' : alg;
const sub = (globalThis as any).crypto?.subtle;
if (sub) {
try { return new Uint8Array(await sub.digest(name, data)); } catch { /* fallthrough */ }
}
return simpleHash(algo, data);
}
function simpleHash(algo: string, data: Uint8Array): Uint8Array { function simpleHash(algo: string, data: Uint8Array): Uint8Array {
let s = ''; let s = '';
for (let i = 0; i < data.length; i++) s += String.fromCharCode(data[i]); for (let i = 0; i < data.length; i++) s += String.fromCharCode(data[i]);
const algoKey = algo.toLowerCase(); const algoKey = algo.toLowerCase();
let h: number;
if (algoKey === 'md5') { if (algoKey === 'md5') {
let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476; let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476;
const msg = new Uint8Array(data.length + 1); const msg = new Uint8Array(data.length + 1);
@@ -372,8 +360,6 @@ function aesEcbEncrypt(data: Uint8Array, key: Uint8Array): Uint8Array {
} }
w[i*4] = w[(i-Nk)*4] ^ temp[0]; w[i*4+1] = w[(i-Nk)*4+1] ^ temp[1]; w[i*4+2] = w[(i-Nk)*4+2] ^ temp[2]; w[i*4+3] = w[(i-Nk)*4+3] ^ temp[3]; w[i*4] = w[(i-Nk)*4] ^ temp[0]; w[i*4+1] = w[(i-Nk)*4+1] ^ temp[1]; w[i*4+2] = w[(i-Nk)*4+2] ^ temp[2]; w[i*4+3] = w[(i-Nk)*4+3] ^ temp[3];
} }
function subWord(r: Uint8Array) { for (let i = 0; i < 4; i++) r[i] = sbox[r[i]]; }
function rotWord(r: Uint8Array) { const t = r[0]; r[0] = r[1]; r[1] = r[2]; r[2] = r[3]; r[3] = t; }
function addRoundKey(state: Uint8Array, round: number) { for (let i = 0; i < 16; i++) state[i] ^= w[round * 16 + i]; } function addRoundKey(state: Uint8Array, round: number) { for (let i = 0; i < 16; i++) state[i] ^= w[round * 16 + i]; }
function subBytes(state: Uint8Array) { for (let i = 0; i < 16; i++) state[i] = sbox[state[i]]; } function subBytes(state: Uint8Array) { for (let i = 0; i < 16; i++) state[i] = sbox[state[i]]; }
function shiftRows(state: Uint8Array) { function shiftRows(state: Uint8Array) {
@@ -481,48 +467,6 @@ function aesEcbDecrypt(data: Uint8Array, key: Uint8Array): Uint8Array {
return out; return out;
} }
async function aesCbcEncrypt(data: Uint8Array, key: Uint8Array, iv: Uint8Array): Promise<Uint8Array> {
const sub = (globalThis as any).crypto?.subtle;
if (sub) {
const alg = { name: 'AES-CBC', iv };
const k = await sub.importKey('raw', key, alg, false, ['encrypt']);
return new Uint8Array(await sub.encrypt(alg, k, data));
}
const padded = data.length % 16 === 0 ? data : (() => { const p = 16 - (data.length % 16); const out = new Uint8Array(data.length + p); out.set(data); for (let i = 0; i < p; i++) out[data.length + i] = p; return out; })();
const blocks = padded.length / 16;
const out = new Uint8Array(padded.length);
let prev = new Uint8Array(iv);
for (let b = 0; b < blocks; b++) {
const block = new Uint8Array(padded.subarray(b * 16, (b + 1) * 16));
for (let i = 0; i < 16; i++) block[i] ^= prev[i];
const encrypted = aesEcbEncrypt(block, key);
out.set(encrypted, b * 16);
prev = encrypted;
}
return out;
}
async function aesCbcDecrypt(data: Uint8Array, key: Uint8Array, iv: Uint8Array): Promise<Uint8Array> {
const sub = (globalThis as any).crypto?.subtle;
if (sub) {
const alg = { name: 'AES-CBC', iv };
const k = await sub.importKey('raw', key, alg, false, ['decrypt']);
return new Uint8Array(await sub.decrypt(alg, k, data));
}
const blocks = data.length / 16;
const out = new Uint8Array(data.length);
let prev = new Uint8Array(iv);
for (let b = 0; b < blocks; b++) {
const block = new Uint8Array(data.subarray(b * 16, (b + 1) * 16));
const decrypted = aesEcbDecrypt(block, key);
for (let i = 0; i < 16; i++) out[b * 16 + i] = decrypted[i] ^ prev[i];
prev = block;
}
const padLen = out[out.length - 1];
if (padLen > 0 && padLen <= 16) return out.subarray(0, out.length - padLen);
return out;
}
function rsaPublicEncrypt(data: Uint8Array, keyPem: string): Uint8Array { function rsaPublicEncrypt(data: Uint8Array, keyPem: string): Uint8Array {
const pemHeader = '-----BEGIN PUBLIC KEY-----'; const pemHeader = '-----BEGIN PUBLIC KEY-----';
const pemFooter = '-----END PUBLIC KEY-----'; const pemFooter = '-----END PUBLIC KEY-----';
@@ -551,10 +495,10 @@ function rsaPublicEncrypt(data: Uint8Array, keyPem: string): Uint8Array {
readLen(); readLen();
if (der[offset] === 0x30) { if (der[offset] === 0x30) {
readTag(0x30); readTag(0x30);
const algoOid = readTag(0x06); readTag(0x06);
offset++; readLen(); offset++; readLen();
if (der[offset++] !== 0x03) throw new Error('Invalid DER bit string'); if (der[offset++] !== 0x03) throw new Error('Invalid DER bit string');
const bitLen = readLen(); readLen();
offset++; offset++;
if (der[offset++] !== 0x00) throw new Error('Invalid DER padding'); if (der[offset++] !== 0x00) throw new Error('Invalid DER padding');
if (der[offset++] !== 0x30) throw new Error('Invalid DER inner sequence'); if (der[offset++] !== 0x30) throw new Error('Invalid DER inner sequence');
@@ -659,9 +603,8 @@ const cryptoModule: any = {
return v.toString(16); return v.toString(16);
}); });
}, },
createCipheriv: function(algo: string, key: any, iv: any) { createCipheriv: function(algo: string, key: any, _iv: any) {
const keyBuf = toBuffer(key); const keyBuf = toBuffer(key);
const ivBuf = iv ? toBuffer(iv) : new Uint8Array(0);
return { return {
update: function(data: any) { update: function(data: any) {
const dataBuf = toBuffer(data); const dataBuf = toBuffer(data);
@@ -671,9 +614,8 @@ const cryptoModule: any = {
final: function() { return new Uint8Array(0); }, final: function() { return new Uint8Array(0); },
}; };
}, },
createDecipheriv: function(algo: string, key: any, iv: any) { createDecipheriv: function(algo: string, key: any, _iv: any) {
const keyBuf = toBuffer(key); const keyBuf = toBuffer(key);
const ivBuf = iv ? toBuffer(iv) : new Uint8Array(0);
return { return {
update: function(data: any) { update: function(data: any) {
const dataBuf = toBuffer(data); const dataBuf = toBuffer(data);

View File

@@ -34,8 +34,6 @@ function getPluginSourcePrefixes(): string[] {
]; ];
} }
const PLUGIN_SOURCE_PREFIXES = getPluginSourcePrefixes();
interface LoadedPlugin { interface LoadedPlugin {
id: string; id: string;
name: string; name: string;