CVNSS commited on
Commit
35028fc
·
verified ·
1 Parent(s): 7a522d9

Update libredwg-parser-worker.js

Browse files
Files changed (1) hide show
  1. libredwg-parser-worker.js +39 -17
libredwg-parser-worker.js CHANGED
@@ -1,20 +1,42 @@
1
- <!DOCTYPE html>
2
- <html lang="vi">
 
3
 
4
- <head>
5
- <meta charset="UTF-8" />
6
- <link rel="icon" type="image/svg+xml" href="/cad2map-favicon.svg" />
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
- <meta name="description" content="CAD2MAP - Công cụ chuyển đổi file CAD sang bản đồ địa lý" />
9
- <meta name="author" content="CMB-AI" />
10
- <!-- favicon is served from public folder -->
11
- <title>CAD2MAP - CMB AI Tools</title>
12
- <script type="module" crossorigin src="/assets/index-Cm1h4vpW.js"></script>
13
- <link rel="stylesheet" crossorigin href="/assets/index-nLRMG7XC.css">
14
- </head>
15
 
16
- <body>
17
- <div id="app"></div>
18
- </body>
 
 
19
 
20
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // /assets/libredwg-parser-worker.js
2
+ // Bootstrap: ưu tiên worker thật local nếu có, nếu không thì load từ bản Firebase đang chạy.
3
+ // Để tự host 100% trong HF: tải worker thật về và đặt tại /assets/libredwg-parser-worker.real.js
4
 
5
+ (() => {
6
+ const CANDIDATES = [
7
+ "./libredwg-parser-worker.real.js",
8
+ "https://cad2map.web.app/assets/libredwg-parser-worker.js",
9
+ ];
 
 
 
 
 
 
10
 
11
+ function installFallback(reason) {
12
+ self.addEventListener("message", (evt) => {
13
+ const msg = evt?.data ?? {};
14
+ const id = msg.id;
15
+ if (!id) return;
16
 
17
+ self.postMessage({
18
+ id,
19
+ success: false,
20
+ data: null,
21
+ error:
22
+ "Không nạp được libredwg(DWG) parser worker thật. " +
23
+ "Lý do: " + String(reason || "unknown") + ". " +
24
+ "Hãy copy worker thật vào /assets/libredwg-parser-worker.real.js.",
25
+ });
26
+ });
27
+ }
28
+
29
+ try {
30
+ let loaded = false;
31
+ for (const url of CANDIDATES) {
32
+ try {
33
+ importScripts(url);
34
+ loaded = true;
35
+ break;
36
+ } catch (e) {}
37
+ }
38
+ if (!loaded) installFallback("importScripts failed for all candidates");
39
+ } catch (e) {
40
+ installFallback(e?.message || e);
41
+ }
42
+ })();