mirror of
https://git.unlock-music.dev/um/web.git
synced 2024-12-30 01:25:02 +08:00
feat(storage): Pass over config to worker thread on decryption call
(cherry picked from commit 36d616398eac4e8d51863863fa5205fe1c91267f)
This commit is contained in:
parent
d8b362efbe
commit
eaf457e6a0
@ -39,6 +39,7 @@
|
||||
import { spawn, Worker, Pool } from 'threads';
|
||||
import { CommonDecrypt } from '@/decrypt/common.ts';
|
||||
import { DecryptQueue } from '@/utils/utils';
|
||||
import { storage } from '@/utils/storage';
|
||||
|
||||
export default {
|
||||
name: 'FileSelector',
|
||||
@ -76,7 +77,7 @@ export default {
|
||||
this.queue.queue(async (dec = CommonDecrypt) => {
|
||||
console.log('start handling', file.name);
|
||||
try {
|
||||
this.$emit('success', await dec(file));
|
||||
this.$emit('success', await dec(file, await storage.getAll()));
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
this.$emit('error', e, file.name);
|
||||
|
@ -10,8 +10,15 @@ import { Decrypt as TmDecrypt } from '@/decrypt/tm';
|
||||
import { Decrypt as JooxDecrypt } from '@/decrypt/joox';
|
||||
import { DecryptResult, FileInfo } from '@/decrypt/entity';
|
||||
import { SplitFilename } from '@/decrypt/utils';
|
||||
import { storage } from '@/utils/storage';
|
||||
import InMemoryStorage from '@/utils/storage/InMemoryStorage';
|
||||
|
||||
export async function CommonDecrypt(file: FileInfo, config: Record<string, any>): Promise<DecryptResult> {
|
||||
// Worker thread will fallback to in-memory storage.
|
||||
if (storage instanceof InMemoryStorage) {
|
||||
await storage.setAll(config);
|
||||
}
|
||||
|
||||
export async function CommonDecrypt(file: FileInfo): Promise<DecryptResult> {
|
||||
const raw = SplitFilename(file.name);
|
||||
let rt_data: DecryptResult;
|
||||
switch (raw.ext) {
|
||||
|
Loading…
Reference in New Issue
Block a user