diff --git a/alg/pre.wx.js b/alg/pre.wx.js index 9ce3a74..edc8bd6 100644 --- a/alg/pre.wx.js +++ b/alg/pre.wx.js @@ -8,8 +8,11 @@ var performance = { Module['instantiateWasm'] = (info, receiveInstance) => { console.log("loading wasm...", info); - // Use provided wasmPath parameter, fallback to hardcoded path - var wasmPath = Module.wasmFilePath || "pages/emblemscanner/qrtool.wx.wasm.br"; + // Use global wasmFilePath (should always be set by the main app) + var wasmPath = global.wasmFilePath; + if (!wasmPath) { + throw new Error("wasmFilePath must be provided via global.wasmFilePath"); + } console.log("Using WASM path:", wasmPath); WebAssembly.instantiate(wasmPath, info).then((result) => { diff --git a/scanner/pages/emblemscanner/libemblemscanner.js b/scanner/pages/emblemscanner/libemblemscanner.js index f155cc5..c2f1c37 100644 --- a/scanner/pages/emblemscanner/libemblemscanner.js +++ b/scanner/pages/emblemscanner/libemblemscanner.js @@ -164,6 +164,7 @@ function get_current_package_path() { */ function get_wasm_file_path(filename) { const packagePath = get_current_package_path(); + console.log('current package path', packagePath); return `${packagePath}/${filename}`; } diff --git a/scanner/pages/emblemscanner/qrprocessor.js b/scanner/pages/emblemscanner/qrprocessor.js index 7e2a9f9..9ce736e 100644 --- a/scanner/pages/emblemscanner/qrprocessor.js +++ b/scanner/pages/emblemscanner/qrprocessor.js @@ -8,12 +8,12 @@ var qrtool_ready = false; * Load qrtool WASM module */ function load_qrtool(wasmFilePath) { + // Set global WASM file path before loading the module + global.wasmFilePath = wasmFilePath; + // Load the WASM module var m = require('./qrtool.wx.js'); - // Set the WASM file path - m.wasmFilePath = wasmFilePath; - m.onRuntimeInitialized = () => { qrtool_ready = true; qrtool = m; diff --git a/scanner/pages/emblemscanner/qrtool.wx.js b/scanner/pages/emblemscanner/qrtool.wx.js index 09366b0..2f5ae1c 100644 --- a/scanner/pages/emblemscanner/qrtool.wx.js +++ b/scanner/pages/emblemscanner/qrtool.wx.js @@ -34,8 +34,11 @@ var performance = { }; Module["instantiateWasm"] = (info, receiveInstance) => { console.log("loading wasm...", info); - // Use provided wasmPath parameter, fallback to hardcoded path - var wasmPath = Module.wasmFilePath || "pages/emblemscanner/qrtool.wx.wasm.br"; + // Use global wasmFilePath (should always be set by the main app) + var wasmPath = global.wasmFilePath; + if (!wasmPath) { + throw new Error("wasmFilePath must be provided via global.wasmFilePath"); + } console.log("Using WASM path:", wasmPath); WebAssembly.instantiate(wasmPath, info).then(result => { console.log("result:", result); diff --git a/scanner/pages/emblemscanner/worker/index.js b/scanner/pages/emblemscanner/worker/index.js index a2a3ba7..7b883b8 100644 --- a/scanner/pages/emblemscanner/worker/index.js +++ b/scanner/pages/emblemscanner/worker/index.js @@ -1,11 +1,10 @@ console.log("hello from emblemscanner worker"); -// Set WASM file path before loading qrtool +// Set global WASM file path before loading qrtool // The wasmFilePath will be passed from the main thread when the worker is created if (typeof worker !== "undefined" && worker.wasmFilePath) { - let qrtoolModule = require('./qrtool.wx.js'); - qrtoolModule.wasmFilePath = worker.wasmFilePath; - let qrtool = qrtoolModule; + global.wasmFilePath = worker.wasmFilePath; + let qrtool = require('./qrtool.wx.js'); } else { let qrtool = require('./qrtool.wx.js'); } diff --git a/scanner/pages/emblemscanner/worker/qrtool.wx.js b/scanner/pages/emblemscanner/worker/qrtool.wx.js index 09366b0..2f5ae1c 100644 --- a/scanner/pages/emblemscanner/worker/qrtool.wx.js +++ b/scanner/pages/emblemscanner/worker/qrtool.wx.js @@ -34,8 +34,11 @@ var performance = { }; Module["instantiateWasm"] = (info, receiveInstance) => { console.log("loading wasm...", info); - // Use provided wasmPath parameter, fallback to hardcoded path - var wasmPath = Module.wasmFilePath || "pages/emblemscanner/qrtool.wx.wasm.br"; + // Use global wasmFilePath (should always be set by the main app) + var wasmPath = global.wasmFilePath; + if (!wasmPath) { + throw new Error("wasmFilePath must be provided via global.wasmFilePath"); + } console.log("Using WASM path:", wasmPath); WebAssembly.instantiate(wasmPath, info).then(result => { console.log("result:", result);