fix worker

This commit is contained in:
pompurin404 2024-08-26 18:49:53 +08:00
parent 6abba81187
commit 857a21ab34
No known key found for this signature in database
2 changed files with 7 additions and 3 deletions

View File

@ -7,7 +7,7 @@ import WebSocket from 'ws'
import { tray } from '../resolve/tray' import { tray } from '../resolve/tray'
import { calcTraffic } from '../utils/calc' import { calcTraffic } from '../utils/calc'
import { getRuntimeConfig } from './factory' import { getRuntimeConfig } from './factory'
import { dialog, nativeImage } from 'electron' import { nativeImage } from 'electron'
import parseSvg from '../utils/parseSvg' import parseSvg from '../utils/parseSvg'
const icon = nativeImage.createFromPath(svgIcon) const icon = nativeImage.createFromPath(svgIcon)
@ -213,7 +213,7 @@ const mihomoTraffic = async (): Promise<void> => {
tray?.setImage(image) tray?.setImage(image)
hasShowTraffic = true hasShowTraffic = true
} catch (e) { } catch (e) {
dialog.showErrorBox('Parse SVG Error', JSON.stringify(e)) // ignore
} finally { } finally {
drawing = false drawing = false
} }

View File

@ -4,6 +4,9 @@ export default function parseSvg(svgStr: string): Promise<Buffer> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const worker = new Worker(workerString, { const worker = new Worker(workerString, {
eval: true, eval: true,
env: {
__dirname
},
workerData: svgStr workerData: svgStr
}) })
worker.on('message', resolve) worker.on('message', resolve)
@ -16,7 +19,8 @@ export default function parseSvg(svgStr: string): Promise<Buffer> {
const workerString = ` const workerString = `
const { parentPort, workerData } = require('worker_threads') const { parentPort, workerData } = require('worker_threads')
const svg2img = require('svg2img') const path = require('path')
const svg2img = require(path.resolve(process.env.__dirname, '../../node_modules/svg2img'))
const svgStr = workerData const svgStr = workerData
svg2img(svgStr, (err, buffer) => { svg2img(svgStr, (err, buffer) => {