@flyfish-group/file-viewer 1.0.16 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/README.md +14 -13
  2. package/dist/components/3MFLoader.js +1 -1
  3. package/dist/components/AMFLoader.js +1 -1
  4. package/dist/components/AudioViewer.js +1 -1
  5. package/dist/components/CadViewer.js +1 -1
  6. package/dist/components/CodeViewer.js +1 -1
  7. package/dist/components/ColladaLoader.js +1 -1
  8. package/dist/components/DrawingViewer.js +1 -1
  9. package/dist/components/EdaViewer.js +1 -1
  10. package/dist/components/EmailViewer.js +1 -1
  11. package/dist/components/EpubViewer.js +1 -1
  12. package/dist/components/FBXLoader.js +1 -1
  13. package/dist/components/GLTFLoader.js +1 -1
  14. package/dist/components/ImageViewer.js +1 -1
  15. package/dist/components/KMZLoader.js +1 -1
  16. package/dist/components/MarkdownViewer.js +1 -1
  17. package/dist/components/OBJLoader.js +1 -1
  18. package/dist/components/OfdViewer.js +1 -1
  19. package/dist/components/PCDLoader.js +1 -1
  20. package/dist/components/PLYLoader.js +1 -1
  21. package/dist/components/PdfView.js +2 -1
  22. package/dist/components/STLLoader.js +1 -1
  23. package/dist/components/TDSLoader.js +1 -1
  24. package/dist/components/USDLoader.js +1 -1
  25. package/dist/components/UmdViewer.js +2 -2
  26. package/dist/components/VRMLLoader.js +1 -1
  27. package/dist/components/VTKLoader.js +1 -1
  28. package/dist/components/XYZLoader.js +1 -1
  29. package/dist/components/XlsxTable.js +1 -1
  30. package/dist/components/___vite-browser-external_commonjs-proxy.js +1 -1
  31. package/dist/components/_commonjs-dynamic-modules.js +1 -1
  32. package/dist/components/_commonjsHelpers.js +1 -1
  33. package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
  34. package/dist/components/arc.js +1 -1
  35. package/dist/components/architecture-7EHR7CIX.js +1 -1
  36. package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
  37. package/dist/components/az-AZ-76LH7QW2.js +1 -1
  38. package/dist/components/bg-BG-XCXSNQG7.js +1 -1
  39. package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
  40. package/dist/components/bn-BD-2XOGV67Q.js +1 -1
  41. package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
  42. package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
  43. package/dist/components/cfb.js +1 -1
  44. package/dist/components/channel.js +1 -1
  45. package/dist/components/chunk-2J33WTMH.js +1 -1
  46. package/dist/components/chunk-4BX2VUAB.js +1 -1
  47. package/dist/components/chunk-55IACEB6.js +1 -1
  48. package/dist/components/chunk-727SXJPM.js +1 -1
  49. package/dist/components/chunk-AQP2D5EJ.js +1 -1
  50. package/dist/components/chunk-FMBD7UC4.js +1 -1
  51. package/dist/components/chunk-ND2GUHAM.js +1 -1
  52. package/dist/components/chunk-QZHKN3VN.js +1 -1
  53. package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
  54. package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
  55. package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
  56. package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
  57. package/dist/components/cytoscape.esm.js +1 -1
  58. package/dist/components/da-DK-5WZEPLOC.js +1 -1
  59. package/dist/components/dagre-BM42HDAG.js +1 -1
  60. package/dist/components/de-DE-XR44H4JA.js +1 -1
  61. package/dist/components/defaultLocale.js +1 -1
  62. package/dist/components/diagram-2AECGRRQ.js +1 -1
  63. package/dist/components/diagram-5GNKFQAL.js +1 -1
  64. package/dist/components/diagram-KO2AKTUF.js +1 -1
  65. package/dist/components/diagram-LMA3HP47.js +1 -1
  66. package/dist/components/diagram-OG6HWLK6.js +1 -1
  67. package/dist/components/directory-open-01563666.js +1 -1
  68. package/dist/components/directory-open-4ed118d0.js +1 -1
  69. package/dist/components/docx-preview.js +2 -2
  70. package/dist/components/el-GR-BZB4AONW.js +1 -1
  71. package/dist/components/en-B4ZKOASM.js +1 -1
  72. package/dist/components/erDiagram-TEJ5UH35.js +1 -1
  73. package/dist/components/es-ES-U4NZUMDT.js +1 -1
  74. package/dist/components/eu-ES-A7QVB2H4.js +1 -1
  75. package/dist/components/eventmodeling-FCH6USID.js +1 -1
  76. package/dist/components/fa-IR-HGAKTJCU.js +1 -1
  77. package/dist/components/fflate.module.js +1 -1
  78. package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
  79. package/dist/components/file-open-002ab408.js +1 -1
  80. package/dist/components/file-open-7c801643.js +1 -1
  81. package/dist/components/file-save-3189631c.js +1 -1
  82. package/dist/components/file-save-745eba88.js +1 -1
  83. package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
  84. package/dist/components/fr-FR-RHASNOE6.js +1 -1
  85. package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
  86. package/dist/components/gitGraph-WXDBUCRP.js +1 -1
  87. package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
  88. package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
  89. package/dist/components/graph.js +1 -1
  90. package/dist/components/he-IL-6SHJWFNN.js +1 -1
  91. package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
  92. package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
  93. package/dist/components/id-ID-SAP4L64H.js +1 -1
  94. package/dist/components/image-GAAHSSAO.js +1 -1
  95. package/dist/components/image-blob-reduce.esm.js +1 -1
  96. package/dist/components/index10.js +1 -1
  97. package/dist/components/index11.js +1 -1
  98. package/dist/components/index12.js +1 -1
  99. package/dist/components/index13.js +1 -1
  100. package/dist/components/index14.js +1 -1
  101. package/dist/components/index15.js +1 -1
  102. package/dist/components/index16.js +1 -1
  103. package/dist/components/index17.js +1 -1
  104. package/dist/components/index18.js +1 -1
  105. package/dist/components/index19.js +1 -1
  106. package/dist/components/index2.js +1 -1
  107. package/dist/components/index20.js +1 -1
  108. package/dist/components/index21.js +2 -2
  109. package/dist/components/index22.js +1 -1
  110. package/dist/components/index23.js +1 -1
  111. package/dist/components/index24.js +1 -1
  112. package/dist/components/index3.js +1 -1
  113. package/dist/components/index4.js +1 -1
  114. package/dist/components/index5.js +1 -1
  115. package/dist/components/index6.js +1 -1
  116. package/dist/components/index7.js +1 -1
  117. package/dist/components/index8.js +1 -1
  118. package/dist/components/index9.js +1 -1
  119. package/dist/components/info-J43DQDTF.js +1 -1
  120. package/dist/components/infoDiagram-5YYISTIA.js +1 -1
  121. package/dist/components/init.js +1 -1
  122. package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
  123. package/dist/components/it-IT-JPQ66NNP.js +1 -1
  124. package/dist/components/ja-JP-DBVTYXUO.js +1 -1
  125. package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
  126. package/dist/components/jszip.min.js +1 -1
  127. package/dist/components/kaa-6HZHGXH3.js +1 -1
  128. package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
  129. package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
  130. package/dist/components/katex.js +1 -1
  131. package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
  132. package/dist/components/km-KH-HSX4SM5Z.js +1 -1
  133. package/dist/components/ko-KR-MTYHY66A.js +1 -1
  134. package/dist/components/ku-TR-6OUDTVRD.js +1 -1
  135. package/dist/components/layout.js +1 -1
  136. package/dist/components/libarchive.js +1 -1
  137. package/dist/components/linear.js +1 -1
  138. package/dist/components/lt-LT-XHIRWOB4.js +1 -1
  139. package/dist/components/lv-LV-5QDEKY6T.js +1 -1
  140. package/dist/components/mermaid-parser.core.js +2 -2
  141. package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
  142. package/dist/components/mr-IN-CRQNXWMA.js +1 -1
  143. package/dist/components/my-MM-5M5IBNSE.js +1 -1
  144. package/dist/components/nb-NO-T6EIAALU.js +1 -1
  145. package/dist/components/nestedRender.js +1 -1
  146. package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
  147. package/dist/components/nn-NO-6E72VCQL.js +1 -1
  148. package/dist/components/oc-FR-POXYY2M6.js +1 -1
  149. package/dist/components/ofd.js +1 -1
  150. package/dist/components/ordinal.js +1 -1
  151. package/dist/components/pa-IN-N4M65BXN.js +1 -1
  152. package/dist/components/packet-YPE3B663.js +1 -1
  153. package/dist/components/percentages-BXMCSKIN.js +1 -1
  154. package/dist/components/pica.js +1 -1
  155. package/dist/components/pie-LRSECV5Y.js +1 -1
  156. package/dist/components/pie.js +1 -1
  157. package/dist/components/pieDiagram-4H26LBE5.js +1 -1
  158. package/dist/components/pl-PL-T2D74RX3.js +1 -1
  159. package/dist/components/postal-mime.js +1 -1
  160. package/dist/components/pt-BR-5N22H2LF.js +1 -1
  161. package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
  162. package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
  163. package/dist/components/radar-GUYGQ44K.js +1 -1
  164. package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
  165. package/dist/components/ro-RO-JPDTUUEW.js +1 -1
  166. package/dist/components/rough.esm.js +1 -1
  167. package/dist/components/roundRect.js +1 -1
  168. package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
  169. package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
  170. package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
  171. package/dist/components/si-LK-N5RQ5JYF.js +1 -1
  172. package/dist/components/sk-SK-C5VTKIMK.js +1 -1
  173. package/dist/components/sl-SI-NN7IZMDC.js +1 -1
  174. package/dist/components/stateDiagram-AJRCARHV.js +1 -1
  175. package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
  176. package/dist/components/subset-shared.chunk.js +1 -1
  177. package/dist/components/subset-worker.chunk.js +1 -1
  178. package/dist/components/sv-SE-XGPEYMSR.js +1 -1
  179. package/dist/components/ta-IN-2NMHFXQM.js +1 -1
  180. package/dist/components/th-TH-HPSO5L25.js +1 -1
  181. package/dist/components/time.js +1 -1
  182. package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
  183. package/dist/components/tr-TR-DEFEU3FU.js +1 -1
  184. package/dist/components/transform.js +1 -1
  185. package/dist/components/treeView-BLDUP644.js +1 -1
  186. package/dist/components/treemap-LRROVOQU.js +1 -1
  187. package/dist/components/uk-UA-QMV73CPH.js +1 -1
  188. package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
  189. package/dist/components/vi-VN-M7AON7JQ.js +1 -1
  190. package/dist/components/wardley-L42UT6IY.js +1 -1
  191. package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
  192. package/dist/components/worker-ref.js +1 -1
  193. package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
  194. package/dist/components/zh-CN-LNUGB5OW.js +1 -1
  195. package/dist/components/zh-HK-E62DVLB3.js +1 -1
  196. package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
  197. package/dist/index.d.ts +63 -1
  198. package/dist/index.mjs +1 -1
  199. package/dist/package/index.d.ts +1 -1
  200. package/dist/style.css +3 -3
  201. package/package.json +1 -1
package/README.md CHANGED
@@ -19,16 +19,16 @@
19
19
 
20
20
  | 技术栈 | npm 包 | 最新版本 | 推荐分支 | 说明 |
21
21
  | --- | --- | --- | --- | --- |
22
- | Vue3 | `@flyfish-group/file-viewer3` | `1.0.16` | `v3` | 主推版本,也是 React / 纯 Web 私有化 iframe 适配层的构建基线 |
23
- | Vue2.7 | `@flyfish-group/file-viewer` | `1.0.16` | `main` | 兼容 Vue2 项目,格式能力与 Vue3 保持一致 |
24
- | React 17 / 18 / 19 | `@flyfish-group/file-viewer-react` | `1.0.16` | 当前仓库子工程 | iframe 组件,默认加载 `/file-viewer/index.html` |
25
- | 纯 JS | `@flyfish-group/file-viewer-web` | `1.0.16` | 当前仓库子工程 | iframe helper 和 viewer 产物复制工具 |
22
+ | Vue3 | `@flyfish-group/file-viewer3` | `1.0.17` | `v3` | 主推版本,也是 React / 纯 Web 私有化 iframe 适配层的构建基线 |
23
+ | Vue2.7 | `@flyfish-group/file-viewer` | `1.0.17` | `main` | 兼容 Vue2 项目,格式能力与 Vue3 保持一致 |
24
+ | React 17 / 18 / 19 | `@flyfish-group/file-viewer-react` | `1.0.17` | 当前仓库子工程 | iframe 组件,默认加载 `/file-viewer/index.html` |
25
+ | 纯 JS | `@flyfish-group/file-viewer-web` | `1.0.17` | 当前仓库子工程 | iframe helper 和 viewer 产物复制工具 |
26
26
 
27
27
  如果你在内网、离线环境,或者 npm 发布权限还没有完成配置,也可以直接使用公开成品仓库 `artifacts/` 里的 tarball。离线安装 React 包时请先安装同版本 web 包:
28
28
 
29
29
  ```bash
30
- npm install ./artifacts/flyfish-group-file-viewer-web-1.0.16.tgz
31
- npm install ./artifacts/flyfish-group-file-viewer-react-1.0.16.tgz
30
+ npm install ./artifacts/flyfish-group-file-viewer-web-1.0.17.tgz
31
+ npm install ./artifacts/flyfish-group-file-viewer-react-1.0.17.tgz
32
32
  ```
33
33
 
34
34
  React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm 10 默认会拦截依赖包的 `postinstall`,如果看到 `Ignored build scripts: @flyfish-group/file-viewer-web`,请执行 `pnpm approve-builds` 允许该包,或安装后运行 `pnpm exec file-viewer-copy-assets ./public/file-viewer`。
@@ -40,9 +40,10 @@ React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm
40
40
  - **纯前端 Serverless。** 文档解析和展示全部在浏览器内完成,部署简单,不依赖 Office 服务端、LibreOffice 守护进程或额外转码链路。
41
41
  - **格式覆盖完整。** 当前内置 135 个扩展名映射,覆盖 Word、Excel、PowerPoint、PDF、OFD、压缩包、邮件、OLB/DRA、CAD、3D 模型、Excalidraw、draw.io、EPUB、UMD、Markdown、图片、音频、代码/文本和 MP4,能覆盖绝大多数业务附件场景。
42
42
  - **按需异步加载。** PDF、OFD、压缩包、邮件、OLB/DRA、CAD、3D 模型、绘图、Office、EPUB、UMD、Markdown 和代码高亮渲染器都按需加载,重型解析依赖不会进入其他格式的首屏路径。
43
- - **预览器操作完整。** 内置下载原文件、打印完整渲染结果、导出渲染后 HTML、水印开关和水印 optionsPDF 会逐页输出完整页面,不依赖当前视口,适合合同、归档和审批类场景。
43
+ - **预览器操作完整。** 内置下载原文件、打印完整渲染结果、导出渲染后 HTML、水印开关和水印 options;打印按钮会按当前格式和渲染链路动态显隐,Word / PDF 使用专属完整页导出适配器,不依赖当前视口,适合合同、归档和审批类场景。
44
44
  - **集成控制更完整。** 提供加载/卸载生命周期钩子、iframe 事件回传和按钮前置校验机制,下载、打印、导出前可以接入权限验证、审计确认或业务二次弹窗。
45
45
  - **阅读体验更像产品。** `.doc`、`.docx`、PDF 都保留灰色工作台、白色纸张、居中阅读和自适应缩放,避免“内容能打开但不好读”的落差。
46
+ - **明暗主题有边界。** Demo 外壳、Markdown 和代码预览会适配系统暗色模式;PDF、Word、Excel 等带原始版式的内容保持独立纸张或表格背景,避免全局主题污染文档。
46
47
  - **Demo 更适合验收。** 示例文件按文档、表格、图纸、代码、图片等类型分组展示,点击样例即可打开并自动收起选择器。
47
48
  - **Vue2 / Vue3 体验一致。** `main` 分支面向 Vue2.7,`v3` 分支面向 Vue3;两边共享完整格式覆盖、示例文件盒子、文档站和 iframe 集成体验。
48
49
  - **组件和独立站两用。** 既支持在 Vue 项目里直接作为组件使用,也支持独立部署后通过 iframe 嵌入到任意系统,方便多业务线复用。
@@ -56,8 +57,8 @@ React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm
56
57
  | --- | --- | --- | --- |
57
58
  | Word | `docx` | `docx-preview`,更适合保留文档结构和版式 | 新生成的 Word 文档、正式文档 |
58
59
  | Word | `doc` | `msdoc-viewer` + Word 风格页面容器 | 历史 `.doc` 老文档 |
59
- | Excel | `xlsx` | `styled-exceljs` + 虚拟滚动,支持尺寸、合并和常见样式 | 需要保留表格结构和样式的业务 |
60
- | Excel 兼容格式 | `xlsm`、`xlsb`、`xls`、`csv`、`ods`、`fods`、`numbers` | 统一解析,按格式可用信息渐进还原样式 | 老表格、轻量数据查看 |
60
+ | Excel | `xlsx` | `styled-exceljs` + 虚拟滚动,支持尺寸、合并和常见样式;打印按钮按能力隐藏,避免只打印当前视口 | 需要保留表格结构和样式的业务 |
61
+ | Excel 兼容格式 | `xlsm`、`xlsb`、`xls`、`csv`、`ods`、`fods`、`numbers` | 统一解析,按格式可用信息渐进还原样式;同样遵循虚拟表格打印边界 | 老表格、轻量数据查看 |
61
62
  | PowerPoint | `pptx` | 浏览幻灯片内容,增强组合图形、主题背景、图片裁剪与 EMF 矢量图预览 | 汇报材料、课件、方案 |
62
63
  | PDF | `pdf` | 基于 `pdfjs-dist` 预览,支持缩放工具栏、页侧边栏/目录树侧边栏切换、宽度自适应、完整打印和导出 HTML | 合同、票据、版式成品 |
63
64
  | OFD | `ofd` | 基于 `DLTech21/ofd.js` 仓库源码在线预览国产版式文档,避开 npm dist 授权 wasm 分支 | 电子发票、公文、归档材料 |
@@ -71,7 +72,7 @@ React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm
71
72
  | draw.io | `drawio`、`dio` | 基于官方 diagrams.net `GraphViewer` 预览 mxGraphModel / mxfile | 流程图、架构图、业务泳道图 |
72
73
  | 电子书 | `epub` | 基于 `epubjs` 解析目录和章节资源,使用兼容性更好的滚动阅读 | 电子书、培训手册、长篇阅读材料 |
73
74
  | 电子书 | `umd` | 按 UMD 移动电子书结构解析元数据、目录和 zlib 压缩正文 | 旧移动电子书、历史小说附件 |
74
- | Markdown | `md`、`markdown` | Markdown 阅读样式 | README、知识文档、说明文档 |
75
+ | Markdown | `md`、`markdown` | Markdown 阅读样式,支持明暗主题阅读面 | README、知识文档、说明文档 |
75
76
  | 图片 | `gif`、`jpg`、`jpeg`、`bmp`、`tiff`、`tif`、`png`、`svg`、`webp` | 原生图片浏览 | 图片附件、设计稿、Logo |
76
77
  | 代码/文本 | `txt`、`json`、`js`、`mjs`、`cjs`、`css`、`java`、`py`、`html`、`htm`、`jsx`、`ts`、`tsx`、`xml`、`log`、`vue`、`yaml`、`yml`、`ini`、`sh`、`bash`、`sql`、`go`、`rs`、`php`、`c`、`cpp`、`cc`、`h`、`hpp`、`cs`、`diff` | 使用 `highlight.js` 轻量高亮,HTML 按源码展示 | 日志、配置、代码片段、接口响应 |
77
78
  | 音频 | `mp3`、`mpeg`、`wav`、`ogg`、`oga`、`opus`、`m4a`、`aac`、`flac`、`weba` | 浏览器原生音频播放,带控制条和基础进度信息 | 录音、播客、语音附件、音效素材 |
@@ -170,8 +171,8 @@ React 与纯 Web 适配层不再复制渲染器,只通过 iframe 加载 Vue3
170
171
  官网 Demo 可用于快速验证预览效果,但 React / 纯 JS 组件不会把官网 Demo 地址作为内置 viewer 地址。
171
172
 
172
173
  ```bash
173
- npm install @flyfish-group/file-viewer-react@1.0.16
174
- npm install @flyfish-group/file-viewer-web@1.0.16
174
+ npm install @flyfish-group/file-viewer-react@1.0.17
175
+ npm install @flyfish-group/file-viewer-web@1.0.17
175
176
  ```
176
177
 
177
178
  ```tsx
@@ -215,7 +216,7 @@ pnpm --filter @flyfish-group/file-viewer-demo preview
215
216
  - 如果下载地址本身没有明确扩展名,建议先在业务侧取回文件,再包装成 `File`
216
217
  - PPTX 渲染器会尽量还原常见组合图形、旋转/翻转、主题背景、图片裁剪和 EMF 矢量图片;复杂 Office 特效仍建议用真实业务文件做回归
217
218
  - OFD、压缩包、邮件、OLB/DRA、CAD、3D 模型、绘图、EPUB、UMD、PDF、Office、Markdown、音频和代码高亮渲染器都按需异步加载,只有命中格式时才拉取对应代码块
218
- - `options.watermark` 支持文字或图片水印;`options.toolbar` 可控制下载原文件、打印完整渲染结果和导出 HTML;`options.hooks` 可接收加载/卸载生命周期;`options.beforeOperation` 可在下载、打印、导出前做权限校验;PDF Word 打印会尽量生成完整页面,避免只打印当前视口
219
+ - `options.watermark` 支持文字或图片水印;`options.toolbar` 可控制下载原文件、打印完整渲染结果和导出 HTML;`options.hooks` 可接收加载/卸载生命周期;`options.beforeOperation` 可在下载、打印、导出前做权限校验;打印按钮会结合当前文件类型、渲染完成状态和导出适配器动态显隐,Word / PDF 会生成完整页面,Excel 等虚拟表格会隐藏打印按钮,避免只打印当前视口或第一页
219
220
 
220
221
  ```ts
221
222
  const blob = await response.blob()
@@ -1 +1 @@
1
- (function(w,x){const b4=b,y=w();while(!![]){try{const z=parseInt(b4(0x1f9))/0x1*(-parseInt(b4(0x1f8))/0x2)+-parseInt(b4(0x20d))/0x3+parseInt(b4(0x1f3))/0x4+-parseInt(b4(0x219))/0x5*(parseInt(b4(0x224))/0x6)+-parseInt(b4(0x21e))/0x7*(-parseInt(b4(0x1e9))/0x8)+parseInt(b4(0x1fc))/0x9+parseInt(b4(0x1ea))/0xa;if(z===x)break;else y['push'](y['shift']());}catch(A){y['push'](y['shift']());}}}(a,0xb7051));import{L as c,F as d,T as e,G,C as f,i as g,S as h,B as i,a as j,f as k,c as l,g as m,j as n,R as o,k as p,l as r,m as s,n as t,N as u}from'./ModelViewer.js';import{u as v}from'./fflate.module.js';function b(c,d){c=c-0x1e9;const e=a();let f=e[c];return f;}import'vue';function a(){const bB=['generateMipmaps','3318320VeaPLm','displaypropertiesid','default','getAttribute','model','84iKYuEW','32051JPhQCv','inputs','texture2d','3361617JMZmmq','availableExtensions','tilestylev','wrapS','magFilter','resources','error','colorgroup','nodeName','querySelectorAll','vertices','add','i:out','length','tex2coord','position','wrapT','3370422anIzZv','pindex','roughness','transform','millimeter','pid','auto','texture2dgroup','Copyright','name','querySelector','colors','20HHiEAB','match','i:in','objectId','partnumber','63aocAbr','children','split','load','texture','substring','1851144ImyQtg','xml','keys','940136MDyrgO','21926150EQxBMV','object','applyMatrix4','target','material','metadata','push','Description'];a=function(){return bB;};return a();}import'./index7.js';const U=h;class Be extends c{constructor(x){super(x),this['availableExtensions']=[];}['load'](x,y,z,A){const B=this,F=new d(B['manager']);F['setPath'](B['path']),F['setResponseType']('arraybuffer'),F['setRequestHeader'](B['requestHeader']),F['setWithCredentials'](B['withCredentials']),F['load'](x,function(H){try{y(B['parse'](H));}catch(N){A?A(N):console['error'](N),B['manager']['itemError'](x);}},z,A);}['parse'](x){const y=this,A=new e(this['manager']);function B(az){const b5=b;let aA=null,aB=null,aC,aD;const aE=[],aF=[];let aG;const aH={},aI={},aJ={},aK=new TextDecoder();try{aA=v(new Uint8Array(az));}catch(aP){if(aP instanceof ReferenceError)return console['error']('THREE.3MFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}let aL=null;for(aB in aA)aB['match'](/\_rels\/.rels$/)?aC=aB:aB['match'](/3D\/_rels\/.*\.model\.rels$/)?aD=aB:aB[b5(0x21a)](/^3D\/[^\/]*\.model$/)?aL=aB:aB['match'](/^3D\/.*\/.*\.model$/)?aE['push'](aB):aB['match'](/^3D\/Textures?\/.*/)&&aF['push'](aB);if(aE['push'](aL),aC===void 0x0)throw new Error('THREE.ThreeMFLoader:\x20Cannot\x20find\x20relationship\x20file\x20`rels`\x20in\x203MF\x20archive.');const aM=aA[aC],aN=aK['decode'](aM),aO=F(aN);if(aD){const aQ=aA[aD],aR=aK['decode'](aQ);aG=F(aR);}for(let aS=0x0;aS<aE[b5(0x209)];aS++){const aT=aE[aS],aU=aA[aT],aV=aK['decode'](aU),aW=new DOMParser()['parseFromString'](aV,'application/xml');aW['documentElement']['nodeName']['toLowerCase']()!==b5(0x1f7)&&console[b5(0x202)]('THREE.3MFLoader:\x20Error\x20loading\x203MF\x20-\x20no\x203MF\x20document\x20found:\x20',aT);const aX=aW['querySelector']('model'),aY={};for(let b0=0x0;b0<aX['attributes'][b5(0x209)];b0++){const b1=aX['attributes'][b0];b1['name']['match'](/^xmlns:(.+)$/)&&(aY[b1['value']]=RegExp['$1']);}const aZ=af(aX);aZ[b5(0x225)]=aX,0x0<Object['keys'](aY)[b5(0x209)]&&(aZ['extensions']=aY),aH[aT]=aZ;}for(let b2=0x0;b2<aF['length'];b2++){const b3=aF[b2];aJ[b3]=aA[b3]['buffer'];}return{'rels':aO,'modelRels':aG,'model':aH,'printTicket':aI,'texture':aJ};}function F(az){const b6=b,aA=[],aB=new DOMParser()['parseFromString'](az,'application/xml')[b6(0x205)]('Relationship');for(let aC=0x0;aC<aB[b6(0x209)];aC++){const aD=aB[aC],aE={'target':aD['getAttribute']('Target'),'id':aD['getAttribute']('Id'),'type':aD['getAttribute']('Type')};aA['push'](aE);}return aA;}function N(az){const b7=b,aA={};for(let aB=0x0;aB<az['length'];aB++){const aC=az[aB],aD=aC['getAttribute'](b7(0x216));0x0<=['Title','Designer',b7(0x1f1),b7(0x215),'LicenseTerms','Rating','CreationDate','ModificationDate']['indexOf'](aD)&&(aA[aD]=aC['textContent']);}return aA;}function W(az){const b8=b,aA={'id':az[b8(0x1f6)]('id'),'basematerials':[]},aB=az[b8(0x205)]('base');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE=a6(aD);aE['index']=aC,aA['basematerials']['push'](aE);}return aA;}function a0(az){const b9=b;return{'id':az[b9(0x1f6)]('id'),'path':az['getAttribute']('path'),'contenttype':az['getAttribute']('contenttype'),'tilestyleu':az['getAttribute']('tilestyleu'),'tilestylev':az['getAttribute'](b9(0x1fe)),'filter':az[b9(0x1f6)]('filter')};}function a1(az){const ba=b,aA={'id':az[ba(0x1f6)]('id'),'texid':az['getAttribute']('texid'),'displaypropertiesid':az['getAttribute']('displaypropertiesid')},aB=az[ba(0x205)](ba(0x20a)),aC=[];for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD],aF=aE[ba(0x1f6)]('u'),aG=aE['getAttribute']('v');aC['push'](parseFloat(aF),parseFloat(aG));}return aA['uvs']=new Float32Array(aC),aA;}function a2(az){const bb=b,aA={'id':az['getAttribute']('id'),'displaypropertiesid':az[bb(0x1f6)]('displaypropertiesid')},aB=az['querySelectorAll']('color'),aC=[],aD=new f();for(let aE=0x0;aE<aB[bb(0x209)];aE++){const aF=aB[aE]['getAttribute']('color');aD['setStyle'](aF['substring'](0x0,0x7),U),aC['push'](aD['r'],aD['g'],aD['b']);}return aA[bb(0x218)]=new Float32Array(aC),aA;}function a3(az){const bc=b,aA=az[bc(0x21f)],aB={};for(let aC=0x0;aC<aA[bc(0x209)];aC++){const aD={'type':aA[aC]['nodeName']['substring'](0x2)};for(let aE=0x0;aE<aA[aC]['attributes']['length'];aE++){const aF=aA[aC]['attributes'][aE];aF['specified']&&(aD[aF['name']]=aF['value']);}aB[aA[aC][bc(0x1f6)]('identifier')]=aD;}return aB;}function a4(az){const bd=b,aA={'id':az['getAttribute']('id'),'displayname':az['getAttribute']('displayname')},aB=az[bd(0x21f)],aC={};for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD];if(aE[bd(0x204)]===bd(0x21b)||aE['nodeName']===bd(0x208))aC[aE['nodeName']==='i:in'?bd(0x1fa):'outputs']=a3(aE);else{const aF=aE['children'],aG={'op':aE[bd(0x204)]['substring'](0x2),'identifier':aE['getAttribute']('identifier')};for(let aH=0x0;aH<aF['length'];aH++)aG[aF[aH][bd(0x204)][bd(0x223)](0x2)]=a3(aF[aH]);aC[aG['identifier']]=aG;}}return aA['operations']=aC,aA;}function a5(az){const be=b,aA={'id':az['getAttribute']('id')},aB=az['querySelectorAll']('pbmetallic'),aC=[];for(let aD=0x0;aD<aB[be(0x209)];aD++){const aE=aB[aD];aC['push']({'name':aE[be(0x1f6)]('name'),'metallicness':parseFloat(aE['getAttribute']('metallicness')),'roughness':parseFloat(aE['getAttribute']('roughness'))});}return aA['data']=aC,aA;}function a6(az){const bf=b,aA={};return aA['name']=az[bf(0x1f6)]('name'),aA['displaycolor']=az[bf(0x1f6)]('displaycolor'),aA['displaypropertiesid']=az['getAttribute'](bf(0x1f4)),aA;}function a7(az){const bg=b,aA={},aB=[],aC=az[bg(0x205)]('vertices\x20vertex');for(let aG=0x0;aG<aC['length'];aG++){const aH=aC[aG],aI=aH['getAttribute']('x'),aJ=aH[bg(0x1f6)]('y'),aK=aH['getAttribute']('z');aB['push'](parseFloat(aI),parseFloat(aJ),parseFloat(aK));}aA[bg(0x206)]=new Float32Array(aB);const aD=[],aE=[],aF=az['querySelectorAll']('triangles\x20triangle');for(let aL=0x0;aL<aF['length'];aL++){const aM=aF[aL],aN=aM['getAttribute']('v1'),aO=aM['getAttribute']('v2'),aP=aM['getAttribute']('v3'),aQ=aM['getAttribute']('p1'),aR=aM['getAttribute']('p2'),aS=aM['getAttribute']('p3'),aT=aM['getAttribute'](bg(0x212)),aU={};aU['v1']=parseInt(aN,0xa),aU['v2']=parseInt(aO,0xa),aU['v3']=parseInt(aP,0xa),aE[bg(0x1f0)](aU['v1'],aU['v2'],aU['v3']),aQ&&(aU['p1']=parseInt(aQ,0xa)),aR&&(aU['p2']=parseInt(aR,0xa)),aS&&(aU['p3']=parseInt(aS,0xa)),aT&&(aU[bg(0x212)]=aT),0x0<Object['keys'](aU)['length']&&aD['push'](aU);}return aA['triangleProperties']=aD,aA['triangles']=new Uint32Array(aE),aA;}function a8(az){const bh=b,aA=[],aB=az[bh(0x205)]('component');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE=a9(aD);aA['push'](aE);}return aA;}function a9(az){const aA={};aA['objectId']=az['getAttribute']('objectid');const aB=az['getAttribute']('transform');return aB&&(aA['transform']=aa(aB)),aA;}function aa(az){const aA=[];az['split']('\x20')['forEach'](function(aC){aA['push'](parseFloat(aC));});const aB=new g();return aB['set'](aA[0x0],aA[0x3],aA[0x6],aA[0x9],aA[0x1],aA[0x4],aA[0x7],aA[0xa],aA[0x2],aA[0x5],aA[0x8],aA[0xb],0x0,0x0,0x0,0x1),aB;}function ab(az){const bi=b,aA={'type':az['getAttribute']('type')},aB=az['getAttribute']('id');aB&&(aA['id']=aB);const aC=az['getAttribute']('pid');aC&&(aA[bi(0x212)]=aC);const aD=az[bi(0x1f6)](bi(0x20e));aD&&(aA['pindex']=aD);const aE=az[bi(0x1f6)]('thumbnail');aE&&(aA['thumbnail']=aE);const aF=az['getAttribute'](bi(0x21d));aF&&(aA['partnumber']=aF);const aG=az['getAttribute']('name');aG&&(aA['name']=aG);const aH=az['querySelector']('mesh');aH&&(aA['mesh']=a7(aH));const aI=az['querySelector']('components');return aI&&(aA['components']=a8(aI)),aA;}function ac(az){const bj=b,aA={};aA['basematerials']={};const aB=az['querySelectorAll']('basematerials');for(let aI=0x0;aI<aB['length'];aI++){const aJ=aB[aI],aK=W(aJ);aA['basematerials'][aK['id']]=aK;}aA['texture2d']={};const aC=az['querySelectorAll'](bj(0x1fb));for(let aL=0x0;aL<aC['length'];aL++){const aM=aC[aL],aN=a0(aM);aA['texture2d'][aN['id']]=aN;}aA['colorgroup']={};const aD=az['querySelectorAll'](bj(0x203));for(let aO=0x0;aO<aD['length'];aO++){const aP=aD[aO],aQ=a2(aP);aA['colorgroup'][aQ['id']]=aQ;}const aE=az['querySelectorAll']('implicitfunction');aE['length']>0x0&&(aA['implicitfunction']={});for(let aR=0x0;aR<aE['length'];aR++){const aS=aE[aR],aT=a4(aS);aA['implicitfunction'][aT['id']]=aT;}aA['pbmetallicdisplayproperties']={};const aF=az['querySelectorAll']('pbmetallicdisplayproperties');for(let aU=0x0;aU<aF['length'];aU++){const aV=aF[aU],aW=a5(aV);aA['pbmetallicdisplayproperties'][aW['id']]=aW;}aA[bj(0x214)]={};const aG=az['querySelectorAll']('texture2dgroup');for(let aX=0x0;aX<aG[bj(0x209)];aX++){const aY=aG[aX],aZ=a1(aY);aA['texture2dgroup'][aZ['id']]=aZ;}aA['object']={};const aH=az['querySelectorAll']('object');for(let b0=0x0;b0<aH['length'];b0++){const b1=aH[b0],b2=ab(b1);aA[bj(0x1eb)][b2['id']]=b2;}return aA;}function ad(az){const bk=b,aA=[],aB=az[bk(0x205)]('item');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE={'objectId':aD[bk(0x1f6)]('objectid')},aF=aD['getAttribute'](bk(0x210));aF&&(aE['transform']=aa(aF)),aA[bk(0x1f0)](aE);}return aA;}function af(az){const bl=b,aA={'unit':az['getAttribute']('unit')||bl(0x211)},aB=az['querySelectorAll'](bl(0x1ef));aB&&(aA['metadata']=N(aB));const aC=az[bl(0x217)]('resources');aC&&(aA['resources']=ac(aC));const aD=az['querySelector']('build');return aD&&(aA['build']=ad(aD)),aA;}function ag(az,aA,aB,aC){const bm=b,aD=az['texid'],aE=aB[bm(0x201)]['texture2d'][aD];if(aE){const aF=aC[aE['path']],aG=aE['contenttype'],aH=new Blob([aF],{'type':aG}),aI=URL['createObjectURL'](aH),aJ=A[bm(0x221)](aI,function(){URL['revokeObjectURL'](aI);});switch(aJ['colorSpace']=U,aE['tilestyleu']){case'wrap':aJ['wrapS']=o;break;case'mirror':aJ[bm(0x1ff)]=r;break;case'none':case'clamp':aJ[bm(0x1ff)]=p;break;default:aJ['wrapS']=o;}switch(aE['tilestylev']){case'wrap':aJ[bm(0x20c)]=o;break;case'mirror':aJ[bm(0x20c)]=r;break;case'none':case'clamp':aJ['wrapT']=p;break;default:aJ['wrapT']=o;}switch(aE['filter']){case bm(0x213):aJ['magFilter']=s,aJ['minFilter']=t;break;case'linear':aJ[bm(0x200)]=s,aJ['minFilter']=s,aJ['generateMipmaps']=!0x1;break;case'nearest':aJ['magFilter']=u,aJ['minFilter']=u,aJ[bm(0x1f2)]=!0x1;break;default:aJ['magFilter']=s,aJ['minFilter']=t;}return aJ;}else return null;}function ah(az,aA,aB,aC,aD,aE,aF){const bn=b,aG=aF['pindex'],aH={};for(let aK=0x0,aL=aA['length'];aK<aL;aK++){const aM=aA[aK],aN=aM['p1']!==void 0x0?aM['p1']:aG;aH[aN]===void 0x0&&(aH[aN]=[]),aH[aN]['push'](aM);}const aI=Object['keys'](aH),aJ=[];for(let aO=0x0,aP=aI['length'];aO<aP;aO++){const aQ=aI[aO],aR=aH[aQ],aS=az['basematerials'][aQ],aT=aq(aS,aC,aD,aE,aF,ar),aU=new i(),aV=[],aW=aB[bn(0x206)];for(let aY=0x0,aZ=aR['length'];aY<aZ;aY++){const b0=aR[aY];aV['push'](aW[b0['v1']*0x3+0x0]),aV[bn(0x1f0)](aW[b0['v1']*0x3+0x1]),aV[bn(0x1f0)](aW[b0['v1']*0x3+0x2]),aV['push'](aW[b0['v2']*0x3+0x0]),aV['push'](aW[b0['v2']*0x3+0x1]),aV['push'](aW[b0['v2']*0x3+0x2]),aV[bn(0x1f0)](aW[b0['v3']*0x3+0x0]),aV['push'](aW[b0['v3']*0x3+0x1]),aV[bn(0x1f0)](aW[b0['v3']*0x3+0x2]);}aU['setAttribute'](bn(0x20b),new j(aV,0x3));const aX=new k(aU,aT);aJ[bn(0x1f0)](aX);}return aJ;}function ai(az,aA,aB,aC,aD,aE,aF){const bo=b,aG=new i(),aH=[],aI=[],aJ=aB['vertices'],aK=az['uvs'];for(let aN=0x0,aO=aA['length'];aN<aO;aN++){const aP=aA[aN];aH[bo(0x1f0)](aJ[aP['v1']*0x3+0x0]),aH['push'](aJ[aP['v1']*0x3+0x1]),aH['push'](aJ[aP['v1']*0x3+0x2]),aH['push'](aJ[aP['v2']*0x3+0x0]),aH['push'](aJ[aP['v2']*0x3+0x1]),aH['push'](aJ[aP['v2']*0x3+0x2]),aH['push'](aJ[aP['v3']*0x3+0x0]),aH['push'](aJ[aP['v3']*0x3+0x1]),aH[bo(0x1f0)](aJ[aP['v3']*0x3+0x2]),aI['push'](aK[aP['p1']*0x2+0x0]),aI['push'](aK[aP['p1']*0x2+0x1]),aI[bo(0x1f0)](aK[aP['p2']*0x2+0x0]),aI[bo(0x1f0)](aK[aP['p2']*0x2+0x1]),aI[bo(0x1f0)](aK[aP['p3']*0x2+0x0]),aI[bo(0x1f0)](aK[aP['p3']*0x2+0x1]);}aG['setAttribute']('position',new j(aH,0x3)),aG['setAttribute']('uv',new j(aI,0x2));const aL=aq(az,aC,aD,aE,aF,ag),aM=new l({'map':aL,'flatShading':!0x0});return new k(aG,aM);}function aj(az,aA,aB,aC){const bp=b,aD=new i(),aE=[],aF=[],aG=aB['vertices'],aH=az[bp(0x218)];for(let aJ=0x0,aK=aA['length'];aJ<aK;aJ++){const aL=aA[aJ],aM=aL['v1'],aN=aL['v2'],aO=aL['v3'];aE['push'](aG[aM*0x3+0x0]),aE[bp(0x1f0)](aG[aM*0x3+0x1]),aE['push'](aG[aM*0x3+0x2]),aE['push'](aG[aN*0x3+0x0]),aE['push'](aG[aN*0x3+0x1]),aE['push'](aG[aN*0x3+0x2]),aE[bp(0x1f0)](aG[aO*0x3+0x0]),aE['push'](aG[aO*0x3+0x1]),aE['push'](aG[aO*0x3+0x2]);const aP=aL['p1']!==void 0x0?aL['p1']:aC['pindex'],aQ=aL['p2']!==void 0x0?aL['p2']:aP,aR=aL['p3']!==void 0x0?aL['p3']:aP;aF['push'](aH[aP*0x3+0x0]),aF[bp(0x1f0)](aH[aP*0x3+0x1]),aF['push'](aH[aP*0x3+0x2]),aF['push'](aH[aQ*0x3+0x0]),aF[bp(0x1f0)](aH[aQ*0x3+0x1]),aF['push'](aH[aQ*0x3+0x2]),aF['push'](aH[aR*0x3+0x0]),aF[bp(0x1f0)](aH[aR*0x3+0x1]),aF['push'](aH[aR*0x3+0x2]);}aD['setAttribute']('position',new j(aE,0x3)),aD['setAttribute']('color',new j(aF,0x3));const aI=new l({'vertexColors':!0x0,'flatShading':!0x0});return new k(aD,aI);}function ak(az){const aA=new i();aA['setIndex'](new m(az['triangles'],0x1)),aA['setAttribute']('position',new m(az['vertices'],0x3));const aB=new l({'name':c['DEFAULT_MATERIAL_NAME'],'color':0xffffff,'flatShading':!0x0});return new k(aA,aB);}function al(az,aA,aB,aC,aD,aE){const bq=b,aF=Object['keys'](az),aG=[];for(let aH=0x0,aI=aF['length'];aH<aI;aH++){const aJ=aF[aH],aK=az[aJ];switch(am(aJ,aC)){case'material':const aL=aC['resources']['basematerials'][aJ],aM=ah(aL,aK,aA,aB,aC,aD,aE);for(let aP=0x0,aQ=aM['length'];aP<aQ;aP++)aG['push'](aM[aP]);break;case bq(0x222):const aN=aC['resources']['texture2dgroup'][aJ];aG['push'](ai(aN,aK,aA,aB,aC,aD,aE));break;case'vertexColors':const aO=aC['resources'][bq(0x203)][aJ];aG['push'](aj(aO,aK,aA,aE));break;case'default':aG['push'](ak(aA));break;default:console['error']('THREE.3MFLoader:\x20Unsupported\x20resource\x20type.');}}if(aE['name']){for(let aR=0x0;aR<aG[bq(0x209)];aR++)aG[aR]['name']=aE['name'];}return aG;}function am(az,aA){const br=b;return aA[br(0x201)]['texture2dgroup'][az]!==void 0x0?'texture':aA[br(0x201)]['basematerials'][az]!==void 0x0?br(0x1ee):aA['resources']['colorgroup'][az]!==void 0x0?'vertexColors':az==='default'?br(0x1f5):void 0x0;}function an(az,aA){const bs=b,aB={},aC=az['triangleProperties'],aD=aA['pid'];for(let aE=0x0,aF=aC['length'];aE<aF;aE++){const aG=aC[aE];let aH=aG[bs(0x212)]!==void 0x0?aG['pid']:aD;aH===void 0x0&&(aH='default'),aB[aH]===void 0x0&&(aB[aH]=[]),aB[aH][bs(0x1f0)](aG);}return aB;}function ao(az,aA,aB,aC,aD){const bt=b,aE=new G(),aF=an(az,aD),aG=al(aF,az,aA,aB,aC,aD);for(let aH=0x0,aI=aG[bt(0x209)];aH<aI;aH++)aE['add'](aG[aH]);return aE;}function ap(az,aA,aB){const bu=b;if(!az)return;const aC=[],aD=Object['keys'](az);for(let aE=0x0;aE<aD['length'];aE++){const aF=aD[aE];for(let aG=0x0;aG<y['availableExtensions']['length'];aG++){const aH=y[bu(0x1fd)][aG];aH['ns']===aF&&aC['push'](aH);}}for(let aI=0x0;aI<aC[bu(0x209)];aI++){const aJ=aC[aI];aJ['apply'](aB,az[aJ['ns']],aA);}}function aq(az,aA,aB,aC,aD,aE){return az['build']!==void 0x0||(az['build']=aE(az,aA,aB,aC,aD)),az['build'];}function ar(az,aA,aB){const bv=b;let aC;const aD=az['displaypropertiesid'],aE=aB['resources']['pbmetallicdisplayproperties'];if(aD!==null&&aE[aD]!==void 0x0){const aH=aE[aD]['data'][az['index']];aC=new n({'flatShading':!0x0,'roughness':aH[bv(0x20f)],'metalness':aH['metallicness']});}else aC=new l({'flatShading':!0x0});aC[bv(0x216)]=az[bv(0x216)];const aF=az['displaycolor'],aG=aF['substring'](0x0,0x7);return aC['color']['setStyle'](aG,U),aF['length']===0x9&&(aC['opacity']=parseInt(aF['charAt'](0x7)+aF['charAt'](0x8),0x10)/0xff),aC;}function as(az,aA,aB,aC){const bw=b,aD=new G();for(let aE=0x0;aE<az['length'];aE++){const aF=az[aE];let aG=aA[aF['objectId']];aG===void 0x0&&(at(aF['objectId'],aA,aB,aC),aG=aA[aF[bw(0x21c)]]);const aH=aG['clone'](),aI=aF['transform'];aI&&aH['applyMatrix4'](aI),aD[bw(0x207)](aH);}return aD;}function at(az,aA,aB,aC){const aD=aB['resources']['object'][az];if(aD['mesh']){const aE=aD['mesh'],aF=aB['extensions'],aG=aB['xml'];ap(aF,aE,aG),aA[aD['id']]=aq(aE,aA,aB,aC,aD,ao);}else{const aH=aD['components'];aA[aD['id']]=aq(aH,aA,aB,aC,aD,as);}aD['name']&&(aA[aD['id']]['name']=aD['name']),aB['resources']['implicitfunction']&&console['warn']('THREE.ThreeMFLoader:\x20Implicit\x20Functions\x20are\x20implemented\x20in\x20data-only.',aB['resources']['implicitfunction']);}function au(az){const bx=b,aA=az['model'],aB=az['modelRels'],aC={},aD=Object['keys'](aA),aE={};if(aB)for(let aF=0x0,aG=aB['length'];aF<aG;aF++){const aH=aB[aF],aI=aH['target']['substring'](0x1);az['texture'][aI]&&(aE[aH['target']]=az[bx(0x222)][aI]);}for(let aJ=0x0;aJ<aD['length'];aJ++){const aK=aD[aJ],aL=aA[aK],aM=Object[bx(0x226)](aL['resources'][bx(0x1eb)]);for(let aN=0x0;aN<aM['length'];aN++){const aO=aM[aN];at(aO,aC,aL,aE);}}return aC;}function av(az){const by=b;for(let aA=0x0;aA<az['length'];aA++){const aB=az[aA];if(aB[by(0x1ed)][by(0x220)]('.')['pop']()['toLowerCase']()==='model')return aB;}}function aw(az,aA){const bz=b,aB=new G(),aC=av(aA['rels']),aD=aA['model'][aC['target']['substring'](0x1)]['build'];for(let aE=0x0;aE<aD['length'];aE++){const aF=aD[aE],aG=az[aF['objectId']]['clone'](),aH=aF['transform'];aH&&aG[bz(0x1ec)](aH),aB['add'](aG);}return aB;}const ax=B(x),ay=au(ax);return aw(ay,ax);}['addExtension'](x){const bA=b;this['availableExtensions'][bA(0x1f0)](x);}}export{Be as ThreeMFLoader};
1
+ function a(){const bD=['contenttype','component','mesh','arraybuffer','load','getAttribute','thumbnail','54744lwMvJy','keys','1233ZrEIKo','roughness','1697243jaopvO','texture2d','color','length','setRequestHeader','resources','filter','clone','nodeName','model','children','211280VxMZUv','tilestyleu','3911859vmuVAM','basematerials','9235tjgtXC','unit','setResponseType','type','wrapT','generateMipmaps','parse','querySelector','inputs','linear','18ABbGUd','2536ZdKiFa','implicitfunction','wrapS','metallicness','querySelectorAll','DEFAULT_MATERIAL_NAME','Title','partnumber','substring','12068700EUcNwX','components','setAttribute','textContent','displaypropertiesid','4681827QbKvLJ','name','texture2dgroup','pid','2KcrAbU','341iCwFsj','colors','availableExtensions','push','build'];a=function(){return bD;};return a();}const b5=b;(function(w,x){const b4=b,y=w();while(!![]){try{const z=parseInt(b4(0x1ef))/0x1+-parseInt(b4(0x21b))/0x2*(-parseInt(b4(0x217))/0x3)+-parseInt(b4(0x209))/0x4*(parseInt(b4(0x1fe))/0x5)+-parseInt(b4(0x208))/0x6*(parseInt(b4(0x1fc))/0x7)+-parseInt(b4(0x1eb))/0x8*(-parseInt(b4(0x1ed))/0x9)+parseInt(b4(0x1fa))/0xa*(parseInt(b4(0x21c))/0xb)+-parseInt(b4(0x212))/0xc;if(z===x)break;else y['push'](y['shift']());}catch(A){y['push'](y['shift']());}}}(a,0xf36d5));import{L as c,F as d,T as e,G,C as f,i as g,S as h,B as i,a as j,f as k,c as l,g as m,j as n,R as o,k as p,l as r,m as s,n as t,N as u}from'./ModelViewer.js';import{u as v}from'./fflate.module.js';import'vue';function b(c,d){c=c-0x1e1;const e=a();let f=e[c];return f;}import'./index7.js';const U=h;class Be extends c{constructor(x){super(x),this['availableExtensions']=[];}[b5(0x1e8)](x,y,z,A){const b6=b5,B=this,F=new d(B['manager']);F['setPath'](B['path']),F[b6(0x200)](b6(0x1e7)),F[b6(0x1f3)](B['requestHeader']),F['setWithCredentials'](B['withCredentials']),F['load'](x,function(H){const b7=b6;try{y(B[b7(0x204)](H));}catch(N){A?A(N):console['error'](N),B['manager']['itemError'](x);}},z,A);}['parse'](x){const y=this,A=new e(this['manager']);function B(az){const b8=b;let aA=null,aB=null,aC,aD;const aE=[],aF=[];let aG;const aH={},aI={},aJ={},aK=new TextDecoder();try{aA=v(new Uint8Array(az));}catch(aP){if(aP instanceof ReferenceError)return console['error']('THREE.3MFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}let aL=null;for(aB in aA)aB['match'](/\_rels\/.rels$/)?aC=aB:aB['match'](/3D\/_rels\/.*\.model\.rels$/)?aD=aB:aB['match'](/^3D\/[^\/]*\.model$/)?aL=aB:aB['match'](/^3D\/.*\/.*\.model$/)?aE['push'](aB):aB['match'](/^3D\/Textures?\/.*/)&&aF[b8(0x1e2)](aB);if(aE[b8(0x1e2)](aL),aC===void 0x0)throw new Error('THREE.ThreeMFLoader:\x20Cannot\x20find\x20relationship\x20file\x20`rels`\x20in\x203MF\x20archive.');const aM=aA[aC],aN=aK['decode'](aM),aO=F(aN);if(aD){const aQ=aA[aD],aR=aK['decode'](aQ);aG=F(aR);}for(let aS=0x0;aS<aE['length'];aS++){const aT=aE[aS],aU=aA[aT],aV=aK['decode'](aU),aW=new DOMParser()['parseFromString'](aV,'application/xml');aW['documentElement']['nodeName']['toLowerCase']()!=='model'&&console['error']('THREE.3MFLoader:\x20Error\x20loading\x203MF\x20-\x20no\x203MF\x20document\x20found:\x20',aT);const aX=aW[b8(0x205)](b8(0x1f8)),aY={};for(let b0=0x0;b0<aX['attributes']['length'];b0++){const b1=aX['attributes'][b0];b1['name']['match'](/^xmlns:(.+)$/)&&(aY[b1['value']]=RegExp['$1']);}const aZ=af(aX);aZ['xml']=aX,0x0<Object['keys'](aY)['length']&&(aZ['extensions']=aY),aH[aT]=aZ;}for(let b2=0x0;b2<aF['length'];b2++){const b3=aF[b2];aJ[b3]=aA[b3]['buffer'];}return{'rels':aO,'modelRels':aG,'model':aH,'printTicket':aI,'texture':aJ};}function F(az){const b9=b,aA=[],aB=new DOMParser()['parseFromString'](az,'application/xml')['querySelectorAll']('Relationship');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE={'target':aD['getAttribute']('Target'),'id':aD['getAttribute']('Id'),'type':aD[b9(0x1e9)]('Type')};aA[b9(0x1e2)](aE);}return aA;}function N(az){const ba=b,aA={};for(let aB=0x0;aB<az[ba(0x1f2)];aB++){const aC=az[aB],aD=aC['getAttribute']('name');0x0<=[ba(0x20f),'Designer','Description','Copyright','LicenseTerms','Rating','CreationDate','ModificationDate']['indexOf'](aD)&&(aA[aD]=aC[ba(0x215)]);}return aA;}function W(az){const aA={'id':az['getAttribute']('id'),'basematerials':[]},aB=az['querySelectorAll']('base');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE=a6(aD);aE['index']=aC,aA['basematerials']['push'](aE);}return aA;}function a0(az){const bb=b;return{'id':az['getAttribute']('id'),'path':az['getAttribute']('path'),'contenttype':az['getAttribute'](bb(0x1e4)),'tilestyleu':az[bb(0x1e9)]('tilestyleu'),'tilestylev':az['getAttribute']('tilestylev'),'filter':az['getAttribute']('filter')};}function a1(az){const bc=b,aA={'id':az['getAttribute']('id'),'texid':az[bc(0x1e9)]('texid'),'displaypropertiesid':az['getAttribute']('displaypropertiesid')},aB=az['querySelectorAll']('tex2coord'),aC=[];for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD],aF=aE[bc(0x1e9)]('u'),aG=aE[bc(0x1e9)]('v');aC['push'](parseFloat(aF),parseFloat(aG));}return aA['uvs']=new Float32Array(aC),aA;}function a2(az){const bd=b,aA={'id':az[bd(0x1e9)]('id'),'displaypropertiesid':az[bd(0x1e9)](bd(0x216))},aB=az['querySelectorAll'](bd(0x1f1)),aC=[],aD=new f();for(let aE=0x0;aE<aB['length'];aE++){const aF=aB[aE][bd(0x1e9)]('color');aD['setStyle'](aF[bd(0x211)](0x0,0x7),U),aC['push'](aD['r'],aD['g'],aD['b']);}return aA[bd(0x21d)]=new Float32Array(aC),aA;}function a3(az){const be=b,aA=az[be(0x1f9)],aB={};for(let aC=0x0;aC<aA['length'];aC++){const aD={'type':aA[aC]['nodeName']['substring'](0x2)};for(let aE=0x0;aE<aA[aC]['attributes']['length'];aE++){const aF=aA[aC]['attributes'][aE];aF['specified']&&(aD[aF[be(0x218)]]=aF['value']);}aB[aA[aC][be(0x1e9)]('identifier')]=aD;}return aB;}function a4(az){const bf=b,aA={'id':az['getAttribute']('id'),'displayname':az['getAttribute']('displayname')},aB=az['children'],aC={};for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD];if(aE['nodeName']==='i:in'||aE[bf(0x1f7)]==='i:out')aC[aE['nodeName']==='i:in'?bf(0x206):'outputs']=a3(aE);else{const aF=aE['children'],aG={'op':aE['nodeName'][bf(0x211)](0x2),'identifier':aE['getAttribute']('identifier')};for(let aH=0x0;aH<aF['length'];aH++)aG[aF[aH]['nodeName']['substring'](0x2)]=a3(aF[aH]);aC[aG['identifier']]=aG;}}return aA['operations']=aC,aA;}function a5(az){const bg=b,aA={'id':az['getAttribute']('id')},aB=az[bg(0x20d)]('pbmetallic'),aC=[];for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD];aC['push']({'name':aE['getAttribute'](bg(0x218)),'metallicness':parseFloat(aE[bg(0x1e9)]('metallicness')),'roughness':parseFloat(aE['getAttribute']('roughness'))});}return aA['data']=aC,aA;}function a6(az){const bh=b,aA={};return aA['name']=az['getAttribute']('name'),aA['displaycolor']=az['getAttribute']('displaycolor'),aA['displaypropertiesid']=az['getAttribute'](bh(0x216)),aA;}function a7(az){const bi=b,aA={},aB=[],aC=az['querySelectorAll']('vertices\x20vertex');for(let aG=0x0;aG<aC['length'];aG++){const aH=aC[aG],aI=aH['getAttribute']('x'),aJ=aH['getAttribute']('y'),aK=aH['getAttribute']('z');aB['push'](parseFloat(aI),parseFloat(aJ),parseFloat(aK));}aA['vertices']=new Float32Array(aB);const aD=[],aE=[],aF=az['querySelectorAll']('triangles\x20triangle');for(let aL=0x0;aL<aF['length'];aL++){const aM=aF[aL],aN=aM['getAttribute']('v1'),aO=aM[bi(0x1e9)]('v2'),aP=aM['getAttribute']('v3'),aQ=aM['getAttribute']('p1'),aR=aM['getAttribute']('p2'),aS=aM['getAttribute']('p3'),aT=aM['getAttribute']('pid'),aU={};aU['v1']=parseInt(aN,0xa),aU['v2']=parseInt(aO,0xa),aU['v3']=parseInt(aP,0xa),aE['push'](aU['v1'],aU['v2'],aU['v3']),aQ&&(aU['p1']=parseInt(aQ,0xa)),aR&&(aU['p2']=parseInt(aR,0xa)),aS&&(aU['p3']=parseInt(aS,0xa)),aT&&(aU['pid']=aT),0x0<Object['keys'](aU)['length']&&aD['push'](aU);}return aA['triangleProperties']=aD,aA['triangles']=new Uint32Array(aE),aA;}function a8(az){const bj=b,aA=[],aB=az['querySelectorAll'](bj(0x1e5));for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE=a9(aD);aA['push'](aE);}return aA;}function a9(az){const aA={};aA['objectId']=az['getAttribute']('objectid');const aB=az['getAttribute']('transform');return aB&&(aA['transform']=aa(aB)),aA;}function aa(az){const aA=[];az['split']('\x20')['forEach'](function(aC){aA['push'](parseFloat(aC));});const aB=new g();return aB['set'](aA[0x0],aA[0x3],aA[0x6],aA[0x9],aA[0x1],aA[0x4],aA[0x7],aA[0xa],aA[0x2],aA[0x5],aA[0x8],aA[0xb],0x0,0x0,0x0,0x1),aB;}function ab(az){const bk=b,aA={'type':az['getAttribute'](bk(0x201))},aB=az['getAttribute']('id');aB&&(aA['id']=aB);const aC=az['getAttribute']('pid');aC&&(aA[bk(0x21a)]=aC);const aD=az['getAttribute']('pindex');aD&&(aA['pindex']=aD);const aE=az[bk(0x1e9)]('thumbnail');aE&&(aA[bk(0x1ea)]=aE);const aF=az['getAttribute']('partnumber');aF&&(aA[bk(0x210)]=aF);const aG=az[bk(0x1e9)]('name');aG&&(aA['name']=aG);const aH=az['querySelector']('mesh');aH&&(aA[bk(0x1e6)]=a7(aH));const aI=az['querySelector']('components');return aI&&(aA[bk(0x213)]=a8(aI)),aA;}function ac(az){const bl=b,aA={};aA[bl(0x1fd)]={};const aB=az[bl(0x20d)]('basematerials');for(let aI=0x0;aI<aB['length'];aI++){const aJ=aB[aI],aK=W(aJ);aA['basematerials'][aK['id']]=aK;}aA['texture2d']={};const aC=az['querySelectorAll']('texture2d');for(let aL=0x0;aL<aC['length'];aL++){const aM=aC[aL],aN=a0(aM);aA[bl(0x1f0)][aN['id']]=aN;}aA['colorgroup']={};const aD=az[bl(0x20d)]('colorgroup');for(let aO=0x0;aO<aD['length'];aO++){const aP=aD[aO],aQ=a2(aP);aA['colorgroup'][aQ['id']]=aQ;}const aE=az[bl(0x20d)](bl(0x20a));aE['length']>0x0&&(aA['implicitfunction']={});for(let aR=0x0;aR<aE['length'];aR++){const aS=aE[aR],aT=a4(aS);aA['implicitfunction'][aT['id']]=aT;}aA['pbmetallicdisplayproperties']={};const aF=az[bl(0x20d)]('pbmetallicdisplayproperties');for(let aU=0x0;aU<aF['length'];aU++){const aV=aF[aU],aW=a5(aV);aA['pbmetallicdisplayproperties'][aW['id']]=aW;}aA['texture2dgroup']={};const aG=az['querySelectorAll']('texture2dgroup');for(let aX=0x0;aX<aG['length'];aX++){const aY=aG[aX],aZ=a1(aY);aA['texture2dgroup'][aZ['id']]=aZ;}aA['object']={};const aH=az['querySelectorAll']('object');for(let b0=0x0;b0<aH['length'];b0++){const b1=aH[b0],b2=ab(b1);aA['object'][b2['id']]=b2;}return aA;}function ad(az){const bm=b,aA=[],aB=az[bm(0x20d)]('item');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE={'objectId':aD['getAttribute']('objectid')},aF=aD['getAttribute']('transform');aF&&(aE['transform']=aa(aF)),aA['push'](aE);}return aA;}function af(az){const bn=b,aA={'unit':az['getAttribute'](bn(0x1ff))||'millimeter'},aB=az['querySelectorAll']('metadata');aB&&(aA['metadata']=N(aB));const aC=az[bn(0x205)]('resources');aC&&(aA['resources']=ac(aC));const aD=az['querySelector']('build');return aD&&(aA['build']=ad(aD)),aA;}function ag(az,aA,aB,aC){const bo=b,aD=az['texid'],aE=aB['resources']['texture2d'][aD];if(aE){const aF=aC[aE['path']],aG=aE['contenttype'],aH=new Blob([aF],{'type':aG}),aI=URL['createObjectURL'](aH),aJ=A['load'](aI,function(){URL['revokeObjectURL'](aI);});switch(aJ['colorSpace']=U,aE[bo(0x1fb)]){case'wrap':aJ['wrapS']=o;break;case'mirror':aJ[bo(0x20b)]=r;break;case'none':case'clamp':aJ[bo(0x20b)]=p;break;default:aJ['wrapS']=o;}switch(aE['tilestylev']){case'wrap':aJ[bo(0x202)]=o;break;case'mirror':aJ['wrapT']=r;break;case'none':case'clamp':aJ['wrapT']=p;break;default:aJ['wrapT']=o;}switch(aE[bo(0x1f5)]){case'auto':aJ['magFilter']=s,aJ['minFilter']=t;break;case bo(0x207):aJ['magFilter']=s,aJ['minFilter']=s,aJ['generateMipmaps']=!0x1;break;case'nearest':aJ['magFilter']=u,aJ['minFilter']=u,aJ[bo(0x203)]=!0x1;break;default:aJ['magFilter']=s,aJ['minFilter']=t;}return aJ;}else return null;}function ah(az,aA,aB,aC,aD,aE,aF){const bp=b,aG=aF['pindex'],aH={};for(let aK=0x0,aL=aA['length'];aK<aL;aK++){const aM=aA[aK],aN=aM['p1']!==void 0x0?aM['p1']:aG;aH[aN]===void 0x0&&(aH[aN]=[]),aH[aN]['push'](aM);}const aI=Object['keys'](aH),aJ=[];for(let aO=0x0,aP=aI['length'];aO<aP;aO++){const aQ=aI[aO],aR=aH[aQ],aS=az['basematerials'][aQ],aT=aq(aS,aC,aD,aE,aF,ar),aU=new i(),aV=[],aW=aB['vertices'];for(let aY=0x0,aZ=aR['length'];aY<aZ;aY++){const b0=aR[aY];aV['push'](aW[b0['v1']*0x3+0x0]),aV['push'](aW[b0['v1']*0x3+0x1]),aV['push'](aW[b0['v1']*0x3+0x2]),aV['push'](aW[b0['v2']*0x3+0x0]),aV['push'](aW[b0['v2']*0x3+0x1]),aV['push'](aW[b0['v2']*0x3+0x2]),aV['push'](aW[b0['v3']*0x3+0x0]),aV[bp(0x1e2)](aW[b0['v3']*0x3+0x1]),aV['push'](aW[b0['v3']*0x3+0x2]);}aU[bp(0x214)]('position',new j(aV,0x3));const aX=new k(aU,aT);aJ[bp(0x1e2)](aX);}return aJ;}function ai(az,aA,aB,aC,aD,aE,aF){const bq=b,aG=new i(),aH=[],aI=[],aJ=aB['vertices'],aK=az['uvs'];for(let aN=0x0,aO=aA['length'];aN<aO;aN++){const aP=aA[aN];aH[bq(0x1e2)](aJ[aP['v1']*0x3+0x0]),aH['push'](aJ[aP['v1']*0x3+0x1]),aH[bq(0x1e2)](aJ[aP['v1']*0x3+0x2]),aH['push'](aJ[aP['v2']*0x3+0x0]),aH['push'](aJ[aP['v2']*0x3+0x1]),aH['push'](aJ[aP['v2']*0x3+0x2]),aH[bq(0x1e2)](aJ[aP['v3']*0x3+0x0]),aH['push'](aJ[aP['v3']*0x3+0x1]),aH['push'](aJ[aP['v3']*0x3+0x2]),aI['push'](aK[aP['p1']*0x2+0x0]),aI['push'](aK[aP['p1']*0x2+0x1]),aI['push'](aK[aP['p2']*0x2+0x0]),aI['push'](aK[aP['p2']*0x2+0x1]),aI['push'](aK[aP['p3']*0x2+0x0]),aI['push'](aK[aP['p3']*0x2+0x1]);}aG['setAttribute']('position',new j(aH,0x3)),aG['setAttribute']('uv',new j(aI,0x2));const aL=aq(az,aC,aD,aE,aF,ag),aM=new l({'map':aL,'flatShading':!0x0});return new k(aG,aM);}function aj(az,aA,aB,aC){const br=b,aD=new i(),aE=[],aF=[],aG=aB['vertices'],aH=az['colors'];for(let aJ=0x0,aK=aA['length'];aJ<aK;aJ++){const aL=aA[aJ],aM=aL['v1'],aN=aL['v2'],aO=aL['v3'];aE['push'](aG[aM*0x3+0x0]),aE[br(0x1e2)](aG[aM*0x3+0x1]),aE['push'](aG[aM*0x3+0x2]),aE[br(0x1e2)](aG[aN*0x3+0x0]),aE[br(0x1e2)](aG[aN*0x3+0x1]),aE['push'](aG[aN*0x3+0x2]),aE['push'](aG[aO*0x3+0x0]),aE['push'](aG[aO*0x3+0x1]),aE['push'](aG[aO*0x3+0x2]);const aP=aL['p1']!==void 0x0?aL['p1']:aC['pindex'],aQ=aL['p2']!==void 0x0?aL['p2']:aP,aR=aL['p3']!==void 0x0?aL['p3']:aP;aF['push'](aH[aP*0x3+0x0]),aF['push'](aH[aP*0x3+0x1]),aF['push'](aH[aP*0x3+0x2]),aF['push'](aH[aQ*0x3+0x0]),aF['push'](aH[aQ*0x3+0x1]),aF['push'](aH[aQ*0x3+0x2]),aF['push'](aH[aR*0x3+0x0]),aF['push'](aH[aR*0x3+0x1]),aF[br(0x1e2)](aH[aR*0x3+0x2]);}aD['setAttribute']('position',new j(aE,0x3)),aD['setAttribute'](br(0x1f1),new j(aF,0x3));const aI=new l({'vertexColors':!0x0,'flatShading':!0x0});return new k(aD,aI);}function ak(az){const bs=b,aA=new i();aA['setIndex'](new m(az['triangles'],0x1)),aA['setAttribute']('position',new m(az['vertices'],0x3));const aB=new l({'name':c[bs(0x20e)],'color':0xffffff,'flatShading':!0x0});return new k(aA,aB);}function al(az,aA,aB,aC,aD,aE){const bt=b,aF=Object[bt(0x1ec)](az),aG=[];for(let aH=0x0,aI=aF['length'];aH<aI;aH++){const aJ=aF[aH],aK=az[aJ];switch(am(aJ,aC)){case'material':const aL=aC['resources']['basematerials'][aJ],aM=ah(aL,aK,aA,aB,aC,aD,aE);for(let aP=0x0,aQ=aM['length'];aP<aQ;aP++)aG['push'](aM[aP]);break;case'texture':const aN=aC['resources']['texture2dgroup'][aJ];aG['push'](ai(aN,aK,aA,aB,aC,aD,aE));break;case'vertexColors':const aO=aC[bt(0x1f4)]['colorgroup'][aJ];aG['push'](aj(aO,aK,aA,aE));break;case'default':aG['push'](ak(aA));break;default:console['error']('THREE.3MFLoader:\x20Unsupported\x20resource\x20type.');}}if(aE['name']){for(let aR=0x0;aR<aG['length'];aR++)aG[aR]['name']=aE['name'];}return aG;}function am(az,aA){const bu=b;return aA['resources'][bu(0x219)][az]!==void 0x0?'texture':aA['resources']['basematerials'][az]!==void 0x0?'material':aA['resources']['colorgroup'][az]!==void 0x0?'vertexColors':az==='default'?'default':void 0x0;}function an(az,aA){const bv=b,aB={},aC=az['triangleProperties'],aD=aA['pid'];for(let aE=0x0,aF=aC['length'];aE<aF;aE++){const aG=aC[aE];let aH=aG['pid']!==void 0x0?aG['pid']:aD;aH===void 0x0&&(aH='default'),aB[aH]===void 0x0&&(aB[aH]=[]),aB[aH][bv(0x1e2)](aG);}return aB;}function ao(az,aA,aB,aC,aD){const aE=new G(),aF=an(az,aD),aG=al(aF,az,aA,aB,aC,aD);for(let aH=0x0,aI=aG['length'];aH<aI;aH++)aE['add'](aG[aH]);return aE;}function ap(az,aA,aB){const bw=b;if(!az)return;const aC=[],aD=Object['keys'](az);for(let aE=0x0;aE<aD['length'];aE++){const aF=aD[aE];for(let aG=0x0;aG<y[bw(0x1e1)]['length'];aG++){const aH=y['availableExtensions'][aG];aH['ns']===aF&&aC['push'](aH);}}for(let aI=0x0;aI<aC['length'];aI++){const aJ=aC[aI];aJ['apply'](aB,az[aJ['ns']],aA);}}function aq(az,aA,aB,aC,aD,aE){const bx=b;return az[bx(0x1e3)]!==void 0x0||(az[bx(0x1e3)]=aE(az,aA,aB,aC,aD)),az['build'];}function ar(az,aA,aB){const by=b;let aC;const aD=az['displaypropertiesid'],aE=aB['resources']['pbmetallicdisplayproperties'];if(aD!==null&&aE[aD]!==void 0x0){const aH=aE[aD]['data'][az['index']];aC=new n({'flatShading':!0x0,'roughness':aH[by(0x1ee)],'metalness':aH[by(0x20c)]});}else aC=new l({'flatShading':!0x0});aC['name']=az['name'];const aF=az['displaycolor'],aG=aF['substring'](0x0,0x7);return aC['color']['setStyle'](aG,U),aF[by(0x1f2)]===0x9&&(aC['opacity']=parseInt(aF['charAt'](0x7)+aF['charAt'](0x8),0x10)/0xff),aC;}function as(az,aA,aB,aC){const bz=b,aD=new G();for(let aE=0x0;aE<az['length'];aE++){const aF=az[aE];let aG=aA[aF['objectId']];aG===void 0x0&&(at(aF['objectId'],aA,aB,aC),aG=aA[aF['objectId']]);const aH=aG[bz(0x1f6)](),aI=aF['transform'];aI&&aH['applyMatrix4'](aI),aD['add'](aH);}return aD;}function at(az,aA,aB,aC){const bA=b,aD=aB['resources']['object'][az];if(aD['mesh']){const aE=aD[bA(0x1e6)],aF=aB['extensions'],aG=aB['xml'];ap(aF,aE,aG),aA[aD['id']]=aq(aE,aA,aB,aC,aD,ao);}else{const aH=aD['components'];aA[aD['id']]=aq(aH,aA,aB,aC,aD,as);}aD['name']&&(aA[aD['id']]['name']=aD['name']),aB[bA(0x1f4)]['implicitfunction']&&console['warn']('THREE.ThreeMFLoader:\x20Implicit\x20Functions\x20are\x20implemented\x20in\x20data-only.',aB['resources']['implicitfunction']);}function au(az){const bB=b,aA=az[bB(0x1f8)],aB=az['modelRels'],aC={},aD=Object['keys'](aA),aE={};if(aB)for(let aF=0x0,aG=aB['length'];aF<aG;aF++){const aH=aB[aF],aI=aH['target']['substring'](0x1);az['texture'][aI]&&(aE[aH['target']]=az['texture'][aI]);}for(let aJ=0x0;aJ<aD['length'];aJ++){const aK=aD[aJ],aL=aA[aK],aM=Object['keys'](aL['resources']['object']);for(let aN=0x0;aN<aM['length'];aN++){const aO=aM[aN];at(aO,aC,aL,aE);}}return aC;}function av(az){for(let aA=0x0;aA<az['length'];aA++){const aB=az[aA];if(aB['target']['split']('.')['pop']()['toLowerCase']()==='model')return aB;}}function aw(az,aA){const bC=b,aB=new G(),aC=av(aA['rels']),aD=aA['model'][aC['target']['substring'](0x1)][bC(0x1e3)];for(let aE=0x0;aE<aD[bC(0x1f2)];aE++){const aF=aD[aE],aG=az[aF['objectId']]['clone'](),aH=aF['transform'];aH&&aG['applyMatrix4'](aH),aB['add'](aG);}return aB;}const ax=B(x),ay=au(ax);return aw(ay,ax);}['addExtension'](x){this['availableExtensions']['push'](x);}}export{Be as ThreeMFLoader};
@@ -1 +1 @@
1
- (function(m,n){const ao=b,o=m();while(!![]){try{const p=parseInt(ao(0xc1))/0x1+-parseInt(ao(0xdb))/0x2*(-parseInt(ao(0xbc))/0x3)+-parseInt(ao(0xd3))/0x4+-parseInt(ao(0xc0))/0x5+-parseInt(ao(0xdc))/0x6+-parseInt(ao(0xc5))/0x7+parseInt(ao(0xce))/0x8;if(p===n)break;else o['push'](o['shift']());}catch(q){o['push'](o['shift']());}}}(a,0x2f378));import{L as c,F as d,G as e,c as f,a as g,C as h,B as i,f as j}from'./ModelViewer.js';import{u as l}from'./fflate.module.js';import'vue';function a(){const ay=['setAttribute','1200820vdZLhU','44850TasNlE','setRequestHeader','length','volumes','2267230enDGfZ','normals','getElementsByTagName','clone','userData','value','transparent','material','nodeName','6474056imlELD','attributes','THREE.AMFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.','AMF\x20Material','concat','159416OjvrNP','toLowerCase','scale','position','push','vertices','name','type','2CNYqwb','1036518ZGfFuS','textContent','nextElementSibling','347862cwazaq','childNodes','metadata'];a=function(){return ay;};return a();}import'./index7.js';function b(c,d){c=c-0xbc;const e=a();let f=e[c];return f;}class k extends c{constructor(m){super(m);}['load'](m,n,o,q){const ap=b,r=this,t=new d(r['manager']);t['setPath'](r['path']),t['setResponseType']('arraybuffer'),t[ap(0xc2)](r['requestHeader']),t['setWithCredentials'](r['withCredentials']),t['load'](m,function(v){try{n(r['parse'](v));}catch(w){q?q(w):console['error'](w),r['manager']['itemError'](m);}},o,q);}['parse'](q){const ax=b;function G(a8){const aq=b;let a9=new DataView(a8);if(String['fromCharCode'](a9['getUint8'](0x0),a9['getUint8'](0x1))==='PK'){let ac=null,ad=null;console['log']('THREE.AMFLoader:\x20Loading\x20Zip');try{ac=l(new Uint8Array(a8));}catch(ae){if(ae instanceof ReferenceError)return console['log'](aq(0xd0)),null;}for(ad in ac)if(ad[aq(0xd4)]()['slice'](-0x4)==='.amf')break;console['log']('THREE.AMFLoader:\x20Trying\x20to\x20load\x20file\x20asset:\x20'+ad),a9=new DataView(ac[ad]['buffer']);}const aa=new TextDecoder()['decode'](a9),ab=new DOMParser()['parseFromString'](aa,'application/xml');return ab['documentElement']['nodeName']['toLowerCase']()!=='amf'?(console['log']('THREE.AMFLoader:\x20Error\x20loading\x20AMF\x20-\x20no\x20AMF\x20document\x20found.'),null):ab;}function J(a8){const ar=b;let a9=0x1,aa='millimeter';a8['documentElement'][ar(0xcf)]['unit']!==void 0x0&&(aa=a8['documentElement']['attributes']['unit'][ar(0xca)]['toLowerCase']());const ab={'millimeter':0x1,'inch':25.4,'feet':304.8,'meter':0x3e8,'micron':0.001};return ab[aa]!==void 0x0&&(a9=ab[aa]),console['log']('THREE.AMFLoader:\x20Unit\x20scale:\x20'+a9),a9;}function K(a8){const as=b;let a9=as(0xd1);const aa=a8['attributes']['id']['textContent'];let ab={'r':0x1,'g':0x1,'b':0x1,'a':0x1},ac=null;for(let ad=0x0;ad<a8['childNodes']['length'];ad++){const ae=a8[as(0xbd)][ad];ae['nodeName']===as(0xbe)&&ae['attributes']['type']!==void 0x0?ae['attributes'][as(0xda)][as(0xca)]==='name'&&(a9=ae['textContent']):ae['nodeName']==='color'&&(ab=P(ae));}return ac=new f({'flatShading':!0x0,'color':new h(ab['r'],ab['g'],ab['b']),'name':a9}),ab['a']!==0x1&&(ac[as(0xcb)]=!0x0,ac['opacity']=ab['a']),{'id':aa,'material':ac};}function P(a8){const at=b,a9={'r':0x1,'g':0x1,'b':0x1,'a':0x1};for(let aa=0x0;aa<a8['childNodes']['length'];aa++){const ab=a8['childNodes'][aa];ab[at(0xcd)]==='r'?a9['r']=ab['textContent']:ab['nodeName']==='g'?a9['g']=ab['textContent']:ab['nodeName']==='b'?a9['b']=ab['textContent']:ab['nodeName']==='a'&&(a9['a']=ab['textContent']);}return a9;}function Q(a8){const au=b,a9={'name':'','triangles':[],'materialId':null};let aa=a8['firstElementChild'];for(a8['attributes']['materialid']!==void 0x0&&(a9['materialId']=a8['attributes']['materialid']['nodeValue']);aa;){if(aa[au(0xcd)]==='metadata')aa[au(0xcf)]['type']!==void 0x0&&aa[au(0xcf)][au(0xda)][au(0xca)]==='name'&&(a9['name']=aa[au(0xdd)]);else{if(aa['nodeName']==='triangle'){const ab=aa['getElementsByTagName']('v1')[0x0]['textContent'],ac=aa['getElementsByTagName']('v2')[0x0]['textContent'],ad=aa[au(0xc7)]('v3')[0x0]['textContent'];a9['triangles']['push'](ab,ac,ad);}}aa=aa[au(0xde)];}return a9;}function U(a8){const av=b,a9=[],aa=[];let ab=a8['firstElementChild'];for(;ab;){if(ab['nodeName']==='vertex'){let ac=ab['firstElementChild'];for(;ac;){if(ac['nodeName']==='coordinates'){const ad=ac[av(0xc7)]('x')[0x0]['textContent'],ae=ac['getElementsByTagName']('y')[0x0][av(0xdd)],af=ac['getElementsByTagName']('z')[0x0]['textContent'];a9['push'](ad,ae,af);}else{if(ac['nodeName']==='normal'){const ag=ac['getElementsByTagName']('nx')[0x0]['textContent'],ah=ac['getElementsByTagName']('ny')[0x0]['textContent'],ai=ac['getElementsByTagName']('nz')[0x0]['textContent'];aa['push'](ag,ah,ai);}}ac=ac['nextElementSibling'];}}ab=ab['nextElementSibling'];}return{'vertices':a9,'normals':aa};}function W(a8){const aw=b,a9=a8['attributes']['id'][aw(0xdd)],aa={'name':'amfobject','meshes':[]};let ab=null,ac=a8['firstElementChild'];for(;ac;){if(ac[aw(0xcd)]==='metadata')ac['attributes']['type']!==void 0x0&&ac[aw(0xcf)]['type']['value']==='name'&&(aa['name']=ac[aw(0xdd)]);else{if(ac['nodeName']==='color')ab=P(ac);else{if(ac[aw(0xcd)]==='mesh'){let ad=ac['firstElementChild'];const ae={'vertices':[],'normals':[],'volumes':[],'color':ab};for(;ad;){if(ad['nodeName']==='vertices'){const af=U(ad);ae['normals']=ae[aw(0xc6)]['concat'](af['normals']),ae['vertices']=ae[aw(0xd8)][aw(0xd2)](af['vertices']);}else ad['nodeName']==='volume'&&ae[aw(0xc4)]['push'](Q(ad));ad=ad['nextElementSibling'];}aa['meshes'][aw(0xd7)](ae);}}}ac=ac['nextElementSibling'];}return{'id':a9,'obj':aa};}const X=G(q);let Y='',Z='';const a0=J(X),a1={},a2={},a3=X['documentElement']['childNodes'];let a4,a5;for(a4=0x0;a4<a3[ax(0xc3)];a4++){const a8=a3[a4];if(a8['nodeName']==='metadata')a8['attributes']['type']!==void 0x0&&(a8[ax(0xcf)]['type']['value']==='name'?Y=a8['textContent']:a8['attributes']['type']['value']==='author'&&(Z=a8['textContent']));else{if(a8['nodeName']===ax(0xcc)){const a9=K(a8);a1[a9['id']]=a9['material'];}else{if(a8['nodeName']==='object'){const aa=W(a8);a2[aa['id']]=aa['obj'];}}}}const a6=new e(),a7=new f({'name':c['DEFAULT_MATERIAL_NAME'],'color':0xaaaaff,'flatShading':!0x0});a6['name']=Y,a6[ax(0xc9)]['author']=Z,a6['userData']['loader']='AMF';for(const ab in a2){const ac=a2[ab],ad=ac['meshes'],ae=new e();for(ae[ax(0xd9)]=ac['name']||'',a4=0x0;a4<ad['length'];a4++){let af=a7;const ag=ad[a4],ah=new g(ag['vertices'],0x3);let ai=null;if(ag['normals']['length']&&(ai=new g(ag['normals'],0x3)),ag['color']){const ak=ag['color'];af=a7['clone'](),af['color']=new h(ak['r'],ak['g'],ak['b']),ak['a']!==0x1&&(af[ax(0xcb)]=!0x0,af['opacity']=ak['a']);}const aj=ag[ax(0xc4)];for(a5=0x0;a5<aj['length'];a5++){const al=aj[a5],am=new i();let an=af;am['setIndex'](al['triangles']),am[ax(0xbf)](ax(0xd6),ah[ax(0xc8)]()),ai&&am['setAttribute']('normal',ai[ax(0xc8)]()),a1[al['materialId']]!==void 0x0&&(an=a1[al['materialId']]),am[ax(0xd5)](a0,a0,a0),ae['add'](new j(am,an['clone']()));}}a6['add'](ae);}return a6;}}export{k as AMFLoader};
1
+ const ap=b;(function(m,n){const ao=b,o=m();while(!![]){try{const p=-parseInt(ao(0xba))/0x1*(-parseInt(ao(0xcc))/0x2)+-parseInt(ao(0xb8))/0x3*(parseInt(ao(0xbd))/0x4)+parseInt(ao(0xcd))/0x5+parseInt(ao(0xb5))/0x6*(parseInt(ao(0xce))/0x7)+parseInt(ao(0xc2))/0x8+-parseInt(ao(0xca))/0x9*(parseInt(ao(0xc7))/0xa)+parseInt(ao(0xc8))/0xb;if(p===n)break;else o['push'](o['shift']());}catch(q){o['push'](o['shift']());}}}(a,0x922c2));import{L as c,F as d,G as e,c as f,a as g,C as h,B as i,f as j}from'./ModelViewer.js';function b(c,d){c=c-0xb0;const e=a();let f=e[c];return f;}import{u as l}from'./fflate.module.js';function a(){const az=['153nZFSSH','metadata','22jtyzCH','4649115uwXylU','426727AsbIbR','normals','materialId','log','concat','THREE.AMFLoader:\x20Loading\x20Zip','meshes','load','name','getUint8','value','normal','THREE.AMFLoader:\x20Error\x20loading\x20AMF\x20-\x20no\x20AMF\x20document\x20found.','length','getElementsByTagName','30QxgFkE','author','manager','565464IZAtpm','childNodes','5422hIETFh','color','firstElementChild','12OiKCKc','vertices','THREE.AMFLoader:\x20Unit\x20scale:\x20','textContent','toLowerCase','2589048jqLxSX','decode','nextElementSibling','attributes','arraybuffer','550490WitwmI','5303298rhfSMO','nodeName'];a=function(){return az;};return a();}import'vue';import'./index7.js';class k extends c{constructor(m){super(m);}[ap(0xd5)](m,n,o,q){const aq=ap,r=this,t=new d(r[aq(0xb7)]);t['setPath'](r['path']),t['setResponseType'](aq(0xc6)),t['setRequestHeader'](r['requestHeader']),t['setWithCredentials'](r['withCredentials']),t['load'](m,function(v){try{n(r['parse'](v));}catch(w){q?q(w):console['error'](w),r['manager']['itemError'](m);}},o,q);}['parse'](q){const ay=ap;function G(a8){const ar=b;let a9=new DataView(a8);if(String['fromCharCode'](a9[ar(0xd7)](0x0),a9['getUint8'](0x1))==='PK'){let ac=null,ad=null;console['log'](ar(0xd3));try{ac=l(new Uint8Array(a8));}catch(ae){if(ae instanceof ReferenceError)return console['log']('THREE.AMFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}for(ad in ac)if(ad['toLowerCase']()['slice'](-0x4)==='.amf')break;console['log']('THREE.AMFLoader:\x20Trying\x20to\x20load\x20file\x20asset:\x20'+ad),a9=new DataView(ac[ad]['buffer']);}const aa=new TextDecoder()[ar(0xc3)](a9),ab=new DOMParser()['parseFromString'](aa,'application/xml');return ab['documentElement'][ar(0xc9)]['toLowerCase']()!=='amf'?(console[ar(0xd1)](ar(0xb2)),null):ab;}function J(a8){const as=b;let a9=0x1,aa='millimeter';a8['documentElement'][as(0xc5)]['unit']!==void 0x0&&(aa=a8['documentElement']['attributes']['unit']['value'][as(0xc1)]());const ab={'millimeter':0x1,'inch':25.4,'feet':304.8,'meter':0x3e8,'micron':0.001};return ab[aa]!==void 0x0&&(a9=ab[aa]),console[as(0xd1)](as(0xbf)+a9),a9;}function K(a8){const at=b;let a9='AMF\x20Material';const aa=a8['attributes']['id'][at(0xc0)];let ab={'r':0x1,'g':0x1,'b':0x1,'a':0x1},ac=null;for(let ad=0x0;ad<a8['childNodes']['length'];ad++){const ae=a8['childNodes'][ad];ae['nodeName']==='metadata'&&ae['attributes']['type']!==void 0x0?ae['attributes']['type']['value']==='name'&&(a9=ae['textContent']):ae['nodeName']==='color'&&(ab=P(ae));}return ac=new f({'flatShading':!0x0,'color':new h(ab['r'],ab['g'],ab['b']),'name':a9}),ab['a']!==0x1&&(ac['transparent']=!0x0,ac['opacity']=ab['a']),{'id':aa,'material':ac};}function P(a8){const au=b,a9={'r':0x1,'g':0x1,'b':0x1,'a':0x1};for(let aa=0x0;aa<a8[au(0xb9)]['length'];aa++){const ab=a8['childNodes'][aa];ab['nodeName']==='r'?a9['r']=ab[au(0xc0)]:ab['nodeName']==='g'?a9['g']=ab['textContent']:ab['nodeName']==='b'?a9['b']=ab['textContent']:ab['nodeName']==='a'&&(a9['a']=ab['textContent']);}return a9;}function Q(a8){const av=b,a9={'name':'','triangles':[],'materialId':null};let aa=a8[av(0xbc)];for(a8['attributes']['materialid']!==void 0x0&&(a9['materialId']=a8['attributes']['materialid']['nodeValue']);aa;){if(aa['nodeName']==='metadata')aa['attributes']['type']!==void 0x0&&aa['attributes']['type']['value']===av(0xd6)&&(a9['name']=aa['textContent']);else{if(aa['nodeName']==='triangle'){const ab=aa[av(0xb4)]('v1')[0x0][av(0xc0)],ac=aa['getElementsByTagName']('v2')[0x0]['textContent'],ad=aa[av(0xb4)]('v3')[0x0]['textContent'];a9['triangles']['push'](ab,ac,ad);}}aa=aa[av(0xc4)];}return a9;}function U(a8){const aw=b,a9=[],aa=[];let ab=a8['firstElementChild'];for(;ab;){if(ab['nodeName']==='vertex'){let ac=ab['firstElementChild'];for(;ac;){if(ac['nodeName']==='coordinates'){const ad=ac['getElementsByTagName']('x')[0x0]['textContent'],ae=ac['getElementsByTagName']('y')[0x0]['textContent'],af=ac['getElementsByTagName']('z')[0x0]['textContent'];a9['push'](ad,ae,af);}else{if(ac['nodeName']===aw(0xb1)){const ag=ac['getElementsByTagName']('nx')[0x0]['textContent'],ah=ac['getElementsByTagName']('ny')[0x0]['textContent'],ai=ac['getElementsByTagName']('nz')[0x0]['textContent'];aa['push'](ag,ah,ai);}}ac=ac['nextElementSibling'];}}ab=ab['nextElementSibling'];}return{'vertices':a9,'normals':aa};}function W(a8){const ax=b,a9=a8[ax(0xc5)]['id']['textContent'],aa={'name':'amfobject','meshes':[]};let ab=null,ac=a8['firstElementChild'];for(;ac;){if(ac['nodeName']==='metadata')ac['attributes']['type']!==void 0x0&&ac['attributes']['type'][ax(0xb0)]==='name'&&(aa['name']=ac['textContent']);else{if(ac[ax(0xc9)]===ax(0xbb))ab=P(ac);else{if(ac['nodeName']==='mesh'){let ad=ac[ax(0xbc)];const ae={'vertices':[],'normals':[],'volumes':[],'color':ab};for(;ad;){if(ad['nodeName']==='vertices'){const af=U(ad);ae['normals']=ae[ax(0xcf)][ax(0xd2)](af['normals']),ae[ax(0xbe)]=ae['vertices']['concat'](af['vertices']);}else ad['nodeName']==='volume'&&ae['volumes']['push'](Q(ad));ad=ad['nextElementSibling'];}aa[ax(0xd4)]['push'](ae);}}}ac=ac['nextElementSibling'];}return{'id':a9,'obj':aa};}const X=G(q);let Y='',Z='';const a0=J(X),a1={},a2={},a3=X['documentElement']['childNodes'];let a4,a5;for(a4=0x0;a4<a3[ay(0xb3)];a4++){const a8=a3[a4];if(a8['nodeName']===ay(0xcb))a8[ay(0xc5)]['type']!==void 0x0&&(a8['attributes']['type'][ay(0xb0)]===ay(0xd6)?Y=a8['textContent']:a8[ay(0xc5)]['type']['value']==='author'&&(Z=a8['textContent']));else{if(a8['nodeName']==='material'){const a9=K(a8);a1[a9['id']]=a9['material'];}else{if(a8['nodeName']==='object'){const aa=W(a8);a2[aa['id']]=aa['obj'];}}}}const a6=new e(),a7=new f({'name':c['DEFAULT_MATERIAL_NAME'],'color':0xaaaaff,'flatShading':!0x0});a6['name']=Y,a6['userData'][ay(0xb6)]=Z,a6['userData']['loader']='AMF';for(const ab in a2){const ac=a2[ab],ad=ac['meshes'],ae=new e();for(ae['name']=ac['name']||'',a4=0x0;a4<ad['length'];a4++){let af=a7;const ag=ad[a4],ah=new g(ag['vertices'],0x3);let ai=null;if(ag['normals'][ay(0xb3)]&&(ai=new g(ag['normals'],0x3)),ag['color']){const ak=ag['color'];af=a7['clone'](),af['color']=new h(ak['r'],ak['g'],ak['b']),ak['a']!==0x1&&(af['transparent']=!0x0,af['opacity']=ak['a']);}const aj=ag['volumes'];for(a5=0x0;a5<aj['length'];a5++){const al=aj[a5],am=new i();let an=af;am['setIndex'](al['triangles']),am['setAttribute']('position',ah['clone']()),ai&&am['setAttribute']('normal',ai['clone']()),a1[al[ay(0xd0)]]!==void 0x0&&(an=a1[al['materialId']]),am['scale'](a0,a0,a0),ae['add'](new j(am,an['clone']()));}}a6['add'](ae);}return a6;}}export{k as AMFLoader};
@@ -1 +1 @@
1
- const a5=c;(function(k,l){const Z=c,m=k();while(!![]){try{const o=parseInt(Z(0x7c))/0x1+parseInt(Z(0x87))/0x2+-parseInt(Z(0x77))/0x3+-parseInt(Z(0x88))/0x4+-parseInt(Z(0x83))/0x5*(-parseInt(Z(0x7a))/0x6)+-parseInt(Z(0x79))/0x7+-parseInt(Z(0x80))/0x8;if(o===l)break;else m['push'](m['shift']());}catch(p){m['push'](m['shift']());}}}(a,0x85d86));import{defineComponent as d,ref as e,computed as f,onMounted as g,watch as h,onBeforeUnmount as i}from'vue';import{n as j}from'./index7.js';function c(b,d){b=b-0x76;const e=a();let f=e[b];return f;}const M=d({'__name':'AudioViewer','props':{'data':null,'type':null},'setup'(k){const a0=c,q=k,x=e(null),z=e(''),B=e(0x0),C=e(0x0),E=e(!0x1),G={'aac':'audio/aac','flac':'audio/flac','m4a':'audio/mp4','mp3':'audio/mpeg','mpeg':'audio/mpeg','oga':'audio/ogg','ogg':'audio/ogg','opus':'audio/ogg;\x20codecs=opus','wav':'audio/wav','weba':'audio/webm'},H=f(()=>q[a0(0x7e)]['trim']()['toLowerCase']()),I=f(()=>G[H['value']]||'audio/*'),J=f(()=>H['value']['toUpperCase']()||a0(0x76)),K=f(()=>!Number['isFinite'](C['value'])||C[a0(0x78)]<=0x0?0x0:Math['min'](0x64,Math['max'](0x0,B['value']/C[a0(0x78)]*0x64))),N=W=>{const a1=a0;if(!Number['isFinite'](W)||W<=0x0)return'00:00';const X=Math['floor'](W/0x3c),Y=Math[a1(0x7f)](W%0x3c);return String(X)['padStart'](0x2,'0')+':'+String(Y)['padStart'](0x2,'0');},O=()=>{z['value']&&(URL['revokeObjectURL'](z['value']),z['value']='');},P=()=>{const a2=a0;O(),B['value']=0x0,C['value']=0x0,E['value']=!0x1,z['value']=URL[a2(0x82)](new Blob([q['data']],{'type':I['value']}));},Q=()=>{C['value']=x['value']?.['duration']||0x0,E['value']=!0x0;},V=()=>{B['value']=x['value']?.['currentTime']||0x0;};return g(P),h(()=>[q['data'],q['type']],P),i(O),{'__sfc':!0x0,'props':q,'audioRef':x,'sourceUrl':z,'currentTime':B,'duration':C,'playable':E,'AUDIO_MIME_MAP':G,'normalizedType':H,'mimeType':I,'displayType':J,'progress':K,'formatTime':N,'revokeSource':O,'createSource':P,'handleLoadedMetadata':Q,'handleTimeUpdate':V};}});var A=function(){const a3=c;var k=this,l=k['_self']['_c'],m=k['_self']['_setupProxy'];return l('div',{'staticClass':'audio-viewer'},[l('section',{'staticClass':'audio-card'},[k['_m'](0x0),l(a3(0x85),{'staticClass':'audio-copy'},[l('span',{'staticClass':'audio-kicker'},[k['_v'](k['_s'](m['displayType']))]),l(a3(0x81),[k['_v']('音频预览')]),l('p',[k['_v']('使用浏览器原生播放器打开,兼容性取决于当前浏览器支持的音频编码。')])]),l('div',{'staticClass':'audio-meter'},[l('span',[k['_v'](k['_s'](m['formatTime'](m['currentTime'])))]),l('div',{'staticClass':'audio-progress','attrs':{'aria-hidden':'true'}},[l('i',{'style':{'width':m['progress']+'%'}})]),l('span',[k['_v'](k['_s'](m[a3(0x7b)]?m[a3(0x7d)](m['duration']):'--:--'))])]),l('audio',{'ref':'audioRef','staticClass':'audio-control','attrs':{'src':m['sourceUrl'],'controls':'','preload':'metadata'},'on':{'loadedmetadata':m['handleLoadedMetadata'],'timeupdate':m['handleTimeUpdate']}},[k['_v']('\x20当前浏览器不支持音频播放。\x20')])])]);},L=[function(){const a4=c;var k=this,l=k['_self']['_c'];return k['_self']['_setupProxy'],l(a4(0x85),{'staticClass':'audio-art'},[l(a4(0x84)),l('i')]);}],R=j(M,A,L,!0x1,null,a5(0x86),null,null);const S=R['exports'];export{S as default};function a(){const a6=['AUDIO','2057367wBAgio','value','745318oNVhAC','2095266qFHPxJ','playable','322199ksFGJR','formatTime','type','floor','6543960kIEnyu','strong','createObjectURL','15SraJzZ','span','div','608bd328','1730808faTAeO','306992Jmwjzv'];a=function(){return a6;};return a();}
1
+ function c(b,d){b=b-0x1c8;const e=a();let f=e[b];return f;}const a6=c;function a(){const a7=['exports','audio','587666HRvDuD','value','30dWbXVR','audioRef','10292650CviQhd','2vTlgwW','span','24wYwGTn','audio/mpeg','_setupProxy','audio/webm','3351432DbuJLn','583965AvmdlK','audio/mp4','audio/wav','section','createObjectURL','div','173564DVzupe','1137835mtPsJw','1043245ISAtZc','formatTime','_self','audio-viewer','isFinite'];a=function(){return a7;};return a();}(function(k,l){const Z=c,m=k();while(!![]){try{const o=parseInt(Z(0x1d6))/0x1*(parseInt(Z(0x1db))/0x2)+-parseInt(Z(0x1d8))/0x3*(parseInt(Z(0x1cd))/0x4)+parseInt(Z(0x1ce))/0x5+-parseInt(Z(0x1e1))/0x6+-parseInt(Z(0x1cf))/0x7*(parseInt(Z(0x1dd))/0x8)+parseInt(Z(0x1e2))/0x9+parseInt(Z(0x1da))/0xa;if(o===l)break;else m['push'](m['shift']());}catch(p){m['push'](m['shift']());}}}(a,0x72b24));import{defineComponent as d,ref as e,computed as f,onMounted as g,watch as h,onBeforeUnmount as i}from'vue';import{n as j}from'./index7.js';const M=d({'__name':'AudioViewer','props':{'data':null,'type':null},'setup'(k){const a0=c,q=k,x=e(null),z=e(''),B=e(0x0),C=e(0x0),E=e(!0x1),G={'aac':'audio/aac','flac':'audio/flac','m4a':a0(0x1c8),'mp3':'audio/mpeg','mpeg':a0(0x1de),'oga':'audio/ogg','ogg':'audio/ogg','opus':'audio/ogg;\x20codecs=opus','wav':a0(0x1c9),'weba':a0(0x1e0)},H=f(()=>q['type']['trim']()['toLowerCase']()),I=f(()=>G[H['value']]||'audio/*'),J=f(()=>H['value']['toUpperCase']()||'AUDIO'),K=f(()=>!Number['isFinite'](C['value'])||C['value']<=0x0?0x0:Math['min'](0x64,Math['max'](0x0,B['value']/C['value']*0x64))),N=W=>{const a1=a0;if(!Number[a1(0x1d3)](W)||W<=0x0)return'00:00';const X=Math['floor'](W/0x3c),Y=Math['floor'](W%0x3c);return String(X)['padStart'](0x2,'0')+':'+String(Y)['padStart'](0x2,'0');},O=()=>{z['value']&&(URL['revokeObjectURL'](z['value']),z['value']='');},P=()=>{const a2=a0;O(),B['value']=0x0,C['value']=0x0,E[a2(0x1d7)]=!0x1,z['value']=URL[a2(0x1cb)](new Blob([q['data']],{'type':I['value']}));},Q=()=>{const a3=a0;C['value']=x['value']?.['duration']||0x0,E[a3(0x1d7)]=!0x0;},V=()=>{B['value']=x['value']?.['currentTime']||0x0;};return g(P),h(()=>[q['data'],q['type']],P),i(O),{'__sfc':!0x0,'props':q,'audioRef':x,'sourceUrl':z,'currentTime':B,'duration':C,'playable':E,'AUDIO_MIME_MAP':G,'normalizedType':H,'mimeType':I,'displayType':J,'progress':K,'formatTime':N,'revokeSource':O,'createSource':P,'handleLoadedMetadata':Q,'handleTimeUpdate':V};}});var A=function(){const a4=c;var k=this,l=k['_self']['_c'],m=k[a4(0x1d1)]['_setupProxy'];return l('div',{'staticClass':a4(0x1d2)},[l(a4(0x1ca),{'staticClass':'audio-card'},[k['_m'](0x0),l(a4(0x1cc),{'staticClass':'audio-copy'},[l('span',{'staticClass':'audio-kicker'},[k['_v'](k['_s'](m['displayType']))]),l('strong',[k['_v']('音频预览')]),l('p',[k['_v']('使用浏览器原生播放器打开,兼容性取决于当前浏览器支持的音频编码。')])]),l('div',{'staticClass':'audio-meter'},[l(a4(0x1dc),[k['_v'](k['_s'](m[a4(0x1d0)](m['currentTime'])))]),l('div',{'staticClass':'audio-progress','attrs':{'aria-hidden':'true'}},[l('i',{'style':{'width':m['progress']+'%'}})]),l(a4(0x1dc),[k['_v'](k['_s'](m['playable']?m['formatTime'](m['duration']):'--:--'))])]),l(a4(0x1d5),{'ref':a4(0x1d9),'staticClass':'audio-control','attrs':{'src':m['sourceUrl'],'controls':'','preload':'metadata'},'on':{'loadedmetadata':m['handleLoadedMetadata'],'timeupdate':m['handleTimeUpdate']}},[k['_v']('\x20当前浏览器不支持音频播放。\x20')])])]);},L=[function(){const a5=c;var k=this,l=k['_self']['_c'];return k['_self'][a5(0x1df)],l('div',{'staticClass':'audio-art'},[l('span'),l('i')]);}],R=j(M,A,L,!0x1,null,'608bd328',null,null);const S=R[a6(0x1d4)];export{S as default};
@@ -1 +1 @@
1
- function b(c,d){c=c-0x106;const e=a();let f=e[c];return f;}const bc=b;(function(j,k){const aO=b,l=j();while(!![]){try{const m=-parseInt(aO(0x129))/0x1+parseInt(aO(0x121))/0x2+parseInt(aO(0x107))/0x3*(parseInt(aO(0x120))/0x4)+parseInt(aO(0x11e))/0x5+-parseInt(aO(0x125))/0x6*(-parseInt(aO(0x122))/0x7)+parseInt(aO(0x12c))/0x8+-parseInt(aO(0x126))/0x9*(parseInt(aO(0x10d))/0xa);if(m===k)break;else l['push'](l['shift']());}catch(n){l['push'](l['shift']());}}}(a,0x787ab));import{defineComponent as c,ref as d,computed as e,onMounted as f,onBeforeUnmount as g,nextTick as h}from'vue';import{n as i}from'./index7.js';const _e=c({'__name':'CadViewer','props':{'data':null,'type':null},'setup'(l){const aP=b,o=l,r=d(null),t=d([]),y=d('pan'),A=d(aP(0x11b)),C=d(''),D=d(''),E=d(''),I=d(0x1);let K=null,L=null;const M=new TextDecoder('utf-8'),P=0x708,Q=P*P,R={'AC1015':'AutoCAD\x202000/2000i/2002','AC1018':'AutoCAD\x202004/2005/2006','AC1021':'AutoCAD\x202007/2008/2009','AC1024':'AutoCAD\x202010/2011/2012','AC1027':'AutoCAD\x202013/2014/2015/2016/2017','AC1032':'AutoCAD\x202018/2019/2020/2021/2022/2023/2024'},S=aj=>aj instanceof Error?aj['message']:typeof aj==aP(0x118)?aj:JSON['stringify'](aj),a0=()=>{const aQ=aP;D['value']&&(URL['revokeObjectURL'](D['value']),D[aQ(0x12e)]='');},a1=aj=>Number(Math['min'](0x4,Math['max'](0.35,aj))['toFixed'](0x2)),a2=e(()=>({'width':I['value']*0x64+'%'})),a3=aj=>{I['value']=a1(I['value']+aj);},a4=aj=>new Promise((ak,al)=>{const aR=aP,am=URL['createObjectURL'](aj),an=new Image();an['onload']=()=>{URL['revokeObjectURL'](am),ak(an);},an[aR(0x137)]=()=>{const aS=aR;URL['revokeObjectURL'](am),al(new Error(aS(0x135)));},an['src']=am;}),a5=(aj,ak,al)=>{const aT=aP,am=[0x0,(ak-0x1)*0x4,(al-0x1)*ak*0x4,((al-0x1)*ak+ak-0x1)*0x4],an=am[aT(0x12f)]((ao,ap)=>(ao['r']+=aj[ap],ao['g']+=aj[ap+0x1],ao['b']+=aj[ap+0x2],ao['a']+=aj[ap+0x3],ao),{'r':0x0,'g':0x0,'b':0x0,'a':0x0});return{'r':an['r']/am['length'],'g':an['g']/am['length'],'b':an['b']/am['length'],'a':an['a']/am['length']};},a6=(aj,ak,al)=>{const aU=aP,am=aj[ak]-al['r'],an=aj[ak+0x1]-al['g'],ao=aj[ak+0x2]-al['b'],ap=aj[ak+0x3]-al['a'];return Math[aU(0x114)](am*am+an*an+ao*ao+ap*ap);},a7=(aj,ak,al)=>aj[ak+0x3]<=0xc?!0x1:a6(aj,ak,al)>0x1c,a8=async aj=>{const aV=aP,ak=await a4(aj),al=ak['naturalWidth']||ak['width'],am=ak['naturalHeight']||ak['height'];if(!al||!am)return{'blob':aj,'cropped':!0x1};const an=Math['min'](0x1,P/Math[aV(0x112)](al,am),Math['sqrt'](Q/(al*am))),ao=Math['max'](0x1,Math['round'](al*an)),ap=Math['max'](0x1,Math['round'](am*an)),aq=document[aV(0x115)](aV(0x10f));aq['width']=ao,aq[aV(0x12a)]=ap;const ar=aq['getContext']('2d',{'willReadFrequently':!0x0});if(!ar)return{'blob':aj,'cropped':!0x1};ar['drawImage'](ak,0x0,0x0,ao,ap);const as=ar['getImageData'](0x0,0x0,ao,ap),at=a5(as['data'],ao,ap);let au=ao,av=ap,aw=-0x1,ax=-0x1;for(let aK=0x0;aK<ap;aK+=0x1)for(let aL=0x0;aL<ao;aL+=0x1){const aM=(aK*ao+aL)*0x4;a7(as['data'],aM,at)&&(au=Math['min'](au,aL),av=Math['min'](av,aK),aw=Math['max'](aw,aL),ax=Math['max'](ax,aK));}if(aw<au||ax<av)return{'blob':aj,'cropped':!0x1};const ay=aw-au+0x1,az=ax-av+0x1;if(ay/ao>0.94&&az/ap>0.94)return{'blob':aj,'cropped':!0x1};const aA=Math['max'](0x8,Math['round'](Math['max'](ay,az)*0.04)),aB=Math['max'](0x0,Math['floor']((au-aA)/an)),aC=Math[aV(0x112)](0x0,Math['floor']((av-aA)/an)),aD=Math[aV(0x113)](al,Math['ceil']((aw+aA+0x1)/an)),aE=Math['min'](am,Math[aV(0x128)]((ax+aA+0x1)/an)),aF=aD-aB,aG=aE-aC;if(aF<=0x0||aG<=0x0)return{'blob':aj,'cropped':!0x1};const aH=document['createElement']('canvas');aH['width']=aF,aH['height']=aG;const aI=aH['getContext']('2d');if(!aI)return{'blob':aj,'cropped':!0x1};aI['drawImage'](ak,aB,aC,aF,aG,0x0,0x0,aF,aG);const aJ=await new Promise(aN=>{const aW=aV;aH['toBlob'](aN,aW(0x134));});return{'blob':aJ||aj,'cropped':!!aJ};},a9=(aj,ak,al=0x0)=>{const aX=aP;for(let am=al;am<=aj[aX(0x10e)]-ak['length'];am+=0x1){let an=!0x0;for(let ao=0x0;ao<ak['length'];ao+=0x1)if(aj[am+ao]!==ak[ao]){an=!0x1;break;}if(an)return am;}return-0x1;},aa=()=>{const aY=aP,aj=new Uint8Array(o['data']),ak=a9(aj,[0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa]);if(ak>=0x0){const an=a9(aj,[0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82],ak);if(an>ak)return new Blob([aj['slice'](ak,an+0x8)],{'type':aY(0x134)});}const al=a9(aj,[0xff,0xd8,0xff]);if(al>=0x0){const ao=a9(aj,[0xff,0xd9],al+0x3);if(ao>al)return new Blob([aj['slice'](al,ao+0x2)],{'type':'image/jpeg'});}const am=a9(aj,[0x42,0x4d]);if(am>=0x0&&am+0x6<aj[aY(0x10e)]){const ap=new DataView(o['data'],am)['getUint32'](0x2,!0x0);if(ap>0xe&&am+ap<=aj[aY(0x10e)])return new Blob([aj['slice'](am,am+ap)],{'type':'image/bmp'});}return null;},ab=()=>{const aZ=aP,aj=new Uint8Array(o[aZ(0x109)]['slice'](0x0,0x40));return Array['from'](aj)['map'](ak=>ak>=0x20&&ak<=0x7e?String[aZ(0x138)](ak):'\x20')[aZ(0x108)]('')['trim']();},ac=()=>{const b0=aP,aj=M[b0(0x136)](o[b0(0x109)]['slice'](0x0,Math[b0(0x113)](o[b0(0x109)]['byteLength'],0x200)));return/\bSECTION\b/['test'](aj)||/\$ACADVER/[b0(0x10b)](aj);},ad=aj=>{y['value']=aj,K?.['setTool'](aj);},ae=()=>{const b1=aP;if(A[b1(0x12e)]==='preview'){I['value']=0x1;return;}K?.['resize'](),K?.['fitToView']();},af=aj=>{const b2=aP,ak=aj['isOff'];K?.['setLayerVisible'](aj[b2(0x10a)],ak),t[b2(0x12e)]=t[b2(0x12e)]['map'](al=>al[b2(0x10a)]===aj['name']?{...al,'isOff':!ak}:al);},ag=async()=>{const b3=aP,aj=r['value'];if(aj){A['value']='loading',C['value']='',I['value']=0x1,a0();try{const {CadViewer:ak}=await import('./index22.js');K?.[b3(0x132)](),K=new ak(aj,{'theme':'light','initialTool':y['value'],'worker':!0x1}),K['loadArrayBuffer'](o['data']),await h(),ae(),t['value']=K['getLayers'](),A['value']=b3(0x12b);}catch(al){console[b3(0x110)](al),A[b3(0x12e)]='error',C['value']=S(al)||'CAD\x20图纸解析失败';}}},ah=async()=>{const b4=aP;if(ac()){await ag();return;}A['value']='loading',C[b4(0x12e)]='',a0();const aj=ab()['slice'](0x0,0x6),ak=R[aj]?aj+'('+R[aj]+')':aj||'未知\x20DWG\x20版本',al=aa();if(al){const am=await a8(al);D['value']=URL['createObjectURL'](am['blob']),E['value']='已从\x20DWG\x20二进制中提取内嵌预览图,版本\x20'+ak+'。'+(am['cropped']?'已自动裁剪空白边距,便于查看有效内容。':'')+'这是文件保存时写入的快照,不等同于完整\x20CAD\x20几何解析。',A[b4(0x12e)]='preview';return;}A['value']='error',C['value']='DWG\x20是专有二进制\x20CAD\x20格式,当前\x20Apache-2.0\x20前端包未内置\x20GPL\x20或闭源\x20DWG\x20解码器;此文件也没有可提取的内嵌预览图。请在业务侧转换为\x20DXF\x20后预览,或接入私有服务端转换链路。检测到的版本为\x20'+ak+'。';},ai=async()=>{const b5=aP;if(o['type'][b5(0x127)]()==='dwg'){await ah();return;}await ag();};return f(()=>{ai();const aj=r['value'];aj&&(L=new ResizeObserver(()=>{const b6=b;K?.['resize'](),K?.[b6(0x106)]();}),L['observe'](aj));}),g(()=>{const b7=aP;L?.[b7(0x130)](),L=null,K?.['destroy'](),K=null,a0();}),{'__sfc':!0x0,'props':o,'canvas':r,'layers':t,'activeTool':y,'status':A,'errorMessage':C,'previewUrl':D,'previewMessage':E,'previewZoom':I,'viewer':K,'resizeObserver':L,'decoder':M,'PREVIEW_ANALYSIS_MAX_SIZE':P,'PREVIEW_MAX_ANALYSIS_PIXELS':Q,'dwgVersions':R,'normalizeError':S,'revokePreview':a0,'clampPreviewZoom':a1,'previewImageStyle':a2,'zoomPreview':a3,'loadImage':a4,'getCornerBackground':a5,'colorDistance':a6,'shouldKeepPreviewPixel':a7,'cropDwgPreview':a8,'findSequence':a9,'extractDwgPreview':aa,'getCadHeader':ab,'looksLikeDxf':ac,'setTool':ad,'fitToView':ae,'toggleLayer':af,'loadDxf':ag,'loadDwg':ah,'load':ai};}});function a(){const bd=['createElement','select','measure','string','errorMessage','round','loading','button','type','3344095xXHANq','preview','632604IlMBmd','617922qduIWg','308eRguue','缩小\x20DWG\x20预览','4d603439','6318hfaFbz','9288mYxiOR','toLowerCase','ceil','872345WcVmez','height','ready','7617200ZgmwXL','setTool','value','reduce','disconnect','fitToView','destroy','activeTool','image/png','DWG\x20预览图加载失败','decode','onerror','fromCharCode','requestRender','6lGLFZB','join','data','name','test','div','8980mrfLzg','length','canvas','error','cad-layers','max','min','sqrt'];a=function(){return bd;};return a();}var Ce=function(){const b8=b;var j=this,k=j['_self']['_c'],l=j['_self']['_setupProxy'];return k(b8(0x10c),{'staticClass':'cad-viewer'},[k('div',{'staticClass':'cad-toolbar'},[k('div',{'staticClass':'cad-tools'},[k(b8(0x11c),{'class':{'active':l[b8(0x133)]==='pan'},'attrs':{'type':b8(0x11c)},'on':{'click':function(m){return l['setTool']('pan');}}},[j['_v']('平移')]),k('button',{'class':{'active':l['activeTool']==='select'},'attrs':{'type':'button'},'on':{'click':function(m){const b9=b8;return l['setTool'](b9(0x116));}}},[j['_v']('选择')]),k('button',{'class':{'active':l['activeTool']===b8(0x117)},'attrs':{'type':'button'},'on':{'click':function(m){const ba=b8;return l[ba(0x12d)]('measure');}}},[j['_v']('测量')]),k('button',{'attrs':{'type':'button'},'on':{'click':l[b8(0x131)]}},[j['_v']('适配')]),l['status']==='preview'?[k('button',{'attrs':{'type':'button','title':b8(0x123)},'on':{'click':function(m){return l['zoomPreview'](-0.15);}}},[j['_v']('-')]),k('span',{'staticClass':'cad-zoom'},[j['_v'](j['_s'](Math[b8(0x11a)](l['previewZoom']*0x64))+'%')]),k('button',{'attrs':{'type':'button','title':'放大\x20DWG\x20预览'},'on':{'click':function(m){return l['zoomPreview'](0.15);}}},[j['_v']('+')])]:j['_e']()],0x2),k('span',[j['_v'](j['_s'](j[b8(0x11d)]['toUpperCase']()))])]),k(b8(0x10c),{'staticClass':'cad-body','class':{'without-layers':!l['layers']['length']}},[l['layers']['length']?k('aside',{'staticClass':b8(0x111)},j['_l'](l['layers'],function(m){const bb=b8;return k(bb(0x11c),{'key':m['name'],'class':{'muted':m['isOff']},'attrs':{'type':'button'},'on':{'click':function(o){return l['toggleLayer'](m);}}},[j['_v']('\x20'+j['_s'](m['name'])+'\x20')]);}),0x0):j['_e'](),k('div',{'staticClass':'cad-canvas-wrap'},[k(b8(0x10f),{'ref':'canvas'}),l['status']==='loading'?k('div',{'staticClass':'cad-state'},[j['_v']('正在解析\x20CAD...')]):l['status']===b8(0x11f)?k('div',{'staticClass':'dwg-preview'},[k(b8(0x10c),{'staticClass':'dwg-preview-frame'},[k('img',{'style':l['previewImageStyle'],'attrs':{'src':l['previewUrl'],'alt':'DWG\x20内嵌预览图'}})]),k('p',[j['_v'](j['_s'](l['previewMessage']))])]):l['status']===b8(0x110)?k(b8(0x10c),{'staticClass':'cad-state\x20error'},[j['_v'](j['_s'](l[b8(0x119)]))]):j['_e']()])])]);},ye=[],Me=i(_e,Ce,ye,!0x1,null,bc(0x124),null,null);const xe=Me['exports'];export{xe as default};
1
+ (function(j,k){const aO=b,l=j();while(!![]){try{const m=parseInt(aO(0x1f3))/0x1+-parseInt(aO(0x1d5))/0x2*(parseInt(aO(0x1da))/0x3)+-parseInt(aO(0x1d0))/0x4*(parseInt(aO(0x1e7))/0x5)+-parseInt(aO(0x1e4))/0x6+parseInt(aO(0x1f6))/0x7+-parseInt(aO(0x1d4))/0x8*(parseInt(aO(0x1f1))/0x9)+parseInt(aO(0x1ef))/0xa*(parseInt(aO(0x1e2))/0xb);if(m===k)break;else l['push'](l['shift']());}catch(n){l['push'](l['shift']());}}}(a,0x319e4));import{defineComponent as c,ref as d,computed as e,onMounted as f,onBeforeUnmount as g,nextTick as h}from'vue';import{n as i}from'./index7.js';const _e=c({'__name':'CadViewer','props':{'data':null,'type':null},'setup'(l){const aP=b,o=l,r=d(null),t=d([]),y=d('pan'),A=d('loading'),C=d(''),D=d(''),E=d(''),I=d(0x1);let K=null,L=null;const M=new TextDecoder('utf-8'),P=0x708,Q=P*P,R={'AC1015':'AutoCAD\x202000/2000i/2002','AC1018':'AutoCAD\x202004/2005/2006','AC1021':'AutoCAD\x202007/2008/2009','AC1024':'AutoCAD\x202010/2011/2012','AC1027':'AutoCAD\x202013/2014/2015/2016/2017','AC1032':'AutoCAD\x202018/2019/2020/2021/2022/2023/2024'},S=aj=>aj instanceof Error?aj[aP(0x1ce)]:typeof aj==aP(0x1df)?aj:JSON['stringify'](aj),a0=()=>{const aQ=aP;D['value']&&(URL['revokeObjectURL'](D['value']),D[aQ(0x1dc)]='');},a1=aj=>Number(Math['min'](0x4,Math['max'](0.35,aj))[aP(0x1f9)](0x2)),a2=e(()=>({'width':I['value']*0x64+'%'})),a3=aj=>{I['value']=a1(I['value']+aj);},a4=aj=>new Promise((ak,al)=>{const am=URL['createObjectURL'](aj),an=new Image();an['onload']=()=>{URL['revokeObjectURL'](am),ak(an);},an['onerror']=()=>{const aR=b;URL[aR(0x1cb)](am),al(new Error('DWG\x20预览图加载失败'));},an['src']=am;}),a5=(aj,ak,al)=>{const aS=aP,am=[0x0,(ak-0x1)*0x4,(al-0x1)*ak*0x4,((al-0x1)*ak+ak-0x1)*0x4],an=am[aS(0x1f2)]((ao,ap)=>(ao['r']+=aj[ap],ao['g']+=aj[ap+0x1],ao['b']+=aj[ap+0x2],ao['a']+=aj[ap+0x3],ao),{'r':0x0,'g':0x0,'b':0x0,'a':0x0});return{'r':an['r']/am['length'],'g':an['g']/am['length'],'b':an['b']/am['length'],'a':an['a']/am['length']};},a6=(aj,ak,al)=>{const am=aj[ak]-al['r'],an=aj[ak+0x1]-al['g'],ao=aj[ak+0x2]-al['b'],ap=aj[ak+0x3]-al['a'];return Math['sqrt'](am*am+an*an+ao*ao+ap*ap);},a7=(aj,ak,al)=>aj[ak+0x3]<=0xc?!0x1:a6(aj,ak,al)>0x1c,a8=async aj=>{const aT=aP,ak=await a4(aj),al=ak[aT(0x1dd)]||ak['width'],am=ak['naturalHeight']||ak[aT(0x1e8)];if(!al||!am)return{'blob':aj,'cropped':!0x1};const an=Math['min'](0x1,P/Math[aT(0x1c9)](al,am),Math['sqrt'](Q/(al*am))),ao=Math[aT(0x1c9)](0x1,Math[aT(0x1e3)](al*an)),ap=Math['max'](0x1,Math[aT(0x1e3)](am*an)),aq=document['createElement']('canvas');aq[aT(0x1ed)]=ao,aq['height']=ap;const ar=aq['getContext']('2d',{'willReadFrequently':!0x0});if(!ar)return{'blob':aj,'cropped':!0x1};ar[aT(0x1eb)](ak,0x0,0x0,ao,ap);const as=ar['getImageData'](0x0,0x0,ao,ap),at=a5(as['data'],ao,ap);let au=ao,av=ap,aw=-0x1,ax=-0x1;for(let aK=0x0;aK<ap;aK+=0x1)for(let aL=0x0;aL<ao;aL+=0x1){const aM=(aK*ao+aL)*0x4;a7(as['data'],aM,at)&&(au=Math['min'](au,aL),av=Math[aT(0x1d8)](av,aK),aw=Math['max'](aw,aL),ax=Math['max'](ax,aK));}if(aw<au||ax<av)return{'blob':aj,'cropped':!0x1};const ay=aw-au+0x1,az=ax-av+0x1;if(ay/ao>0.94&&az/ap>0.94)return{'blob':aj,'cropped':!0x1};const aA=Math['max'](0x8,Math['round'](Math['max'](ay,az)*0.04)),aB=Math[aT(0x1c9)](0x0,Math['floor']((au-aA)/an)),aC=Math['max'](0x0,Math['floor']((av-aA)/an)),aD=Math['min'](al,Math[aT(0x1f7)]((aw+aA+0x1)/an)),aE=Math['min'](am,Math['ceil']((ax+aA+0x1)/an)),aF=aD-aB,aG=aE-aC;if(aF<=0x0||aG<=0x0)return{'blob':aj,'cropped':!0x1};const aH=document['createElement'](aT(0x1ea));aH['width']=aF,aH[aT(0x1e8)]=aG;const aI=aH['getContext']('2d');if(!aI)return{'blob':aj,'cropped':!0x1};aI['drawImage'](ak,aB,aC,aF,aG,0x0,0x0,aF,aG);const aJ=await new Promise(aN=>{const aU=aT;aH[aU(0x1e6)](aN,'image/png');});return{'blob':aJ||aj,'cropped':!!aJ};},a9=(aj,ak,al=0x0)=>{const aV=aP;for(let am=al;am<=aj[aV(0x1f5)]-ak['length'];am+=0x1){let an=!0x0;for(let ao=0x0;ao<ak['length'];ao+=0x1)if(aj[am+ao]!==ak[ao]){an=!0x1;break;}if(an)return am;}return-0x1;},aa=()=>{const aW=aP,aj=new Uint8Array(o['data']),ak=a9(aj,[0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa]);if(ak>=0x0){const an=a9(aj,[0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82],ak);if(an>ak)return new Blob([aj['slice'](ak,an+0x8)],{'type':'image/png'});}const al=a9(aj,[0xff,0xd8,0xff]);if(al>=0x0){const ao=a9(aj,[0xff,0xd9],al+0x3);if(ao>al)return new Blob([aj['slice'](al,ao+0x2)],{'type':'image/jpeg'});}const am=a9(aj,[0x42,0x4d]);if(am>=0x0&&am+0x6<aj['length']){const ap=new DataView(o['data'],am)['getUint32'](0x2,!0x0);if(ap>0xe&&am+ap<=aj[aW(0x1f5)])return new Blob([aj['slice'](am,am+ap)],{'type':'image/bmp'});}return null;},ab=()=>{const aX=aP,aj=new Uint8Array(o['data']['slice'](0x0,0x40));return Array['from'](aj)['map'](ak=>ak>=0x20&&ak<=0x7e?String[aX(0x1cd)](ak):'\x20')['join']('')['trim']();},ac=()=>{const aY=aP,aj=M['decode'](o['data'][aY(0x1f8)](0x0,Math['min'](o['data']['byteLength'],0x200)));return/\bSECTION\b/['test'](aj)||/\$ACADVER/[aY(0x1d6)](aj);},ad=aj=>{y['value']=aj,K?.['setTool'](aj);},ae=()=>{const aZ=aP;if(A['value']==='preview'){I[aZ(0x1dc)]=0x1;return;}K?.['resize'](),K?.['fitToView']();},af=aj=>{const b0=aP,ak=aj['isOff'];K?.[b0(0x1d7)](aj['name'],ak),t['value']=t['value'][b0(0x1e5)](al=>al['name']===aj['name']?{...al,'isOff':!ak}:al);},ag=async()=>{const b1=aP,aj=r['value'];if(aj){A['value']=b1(0x1cc),C['value']='',I['value']=0x1,a0();try{const {CadViewer:ak}=await import('./index22.js');K?.['destroy'](),K=new ak(aj,{'theme':'light','initialTool':y['value'],'worker':!0x1}),K[b1(0x1d3)](o['data']),await h(),ae(),t[b1(0x1dc)]=K['getLayers'](),A['value']='ready';}catch(al){console['error'](al),A['value']='error',C['value']=S(al)||'CAD\x20图纸解析失败';}}},ah=async()=>{const b2=aP;if(ac()){await ag();return;}A[b2(0x1dc)]=b2(0x1cc),C[b2(0x1dc)]='',a0();const aj=ab()['slice'](0x0,0x6),ak=R[aj]?aj+'('+R[aj]+')':aj||'未知\x20DWG\x20版本',al=aa();if(al){const am=await a8(al);D['value']=URL[b2(0x1cf)](am['blob']),E['value']='已从\x20DWG\x20二进制中提取内嵌预览图,版本\x20'+ak+'。'+(am['cropped']?'已自动裁剪空白边距,便于查看有效内容。':'')+b2(0x1ca),A['value']='preview';return;}A['value']='error',C['value']='DWG\x20是专有二进制\x20CAD\x20格式,当前\x20Apache-2.0\x20前端包未内置\x20GPL\x20或闭源\x20DWG\x20解码器;此文件也没有可提取的内嵌预览图。请在业务侧转换为\x20DXF\x20后预览,或接入私有服务端转换链路。检测到的版本为\x20'+ak+'。';},ai=async()=>{if(o['type']['toLowerCase']()==='dwg'){await ah();return;}await ag();};return f(()=>{ai();const aj=r['value'];aj&&(L=new ResizeObserver(()=>{K?.['resize'](),K?.['requestRender']();}),L['observe'](aj));}),g(()=>{L?.['disconnect'](),L=null,K?.['destroy'](),K=null,a0();}),{'__sfc':!0x0,'props':o,'canvas':r,'layers':t,'activeTool':y,'status':A,'errorMessage':C,'previewUrl':D,'previewMessage':E,'previewZoom':I,'viewer':K,'resizeObserver':L,'decoder':M,'PREVIEW_ANALYSIS_MAX_SIZE':P,'PREVIEW_MAX_ANALYSIS_PIXELS':Q,'dwgVersions':R,'normalizeError':S,'revokePreview':a0,'clampPreviewZoom':a1,'previewImageStyle':a2,'zoomPreview':a3,'loadImage':a4,'getCornerBackground':a5,'colorDistance':a6,'shouldKeepPreviewPixel':a7,'cropDwgPreview':a8,'findSequence':a9,'extractDwgPreview':aa,'getCadHeader':ab,'looksLikeDxf':ac,'setTool':ad,'fitToView':ae,'toggleLayer':af,'loadDxf':ag,'loadDwg':ah,'load':ai};}});function a(){const b9=['cad-canvas-wrap','value','naturalWidth','button','string','放大\x20DWG\x20预览','toggleLayer','11QxBOWw','round','522036HhhGAh','map','toBlob','316785RDIQWV','height','cad-tools','canvas','drawImage','_self','width','zoomPreview','1067210aSEetG','toUpperCase','9xzhzrW','reduce','240987RBBGhF','pan','length','2633316IYvfFE','ceil','slice','toFixed','max','这是文件保存时写入的快照,不等同于完整\x20CAD\x20几何解析。','revokeObjectURL','loading','fromCharCode','message','createObjectURL','4xQdiAk','errorMessage','setTool','loadArrayBuffer','387952OmyMyd','38LBjEsp','test','setLayerVisible','min','cad-toolbar','50811PlyxIb'];a=function(){return b9;};return a();}var Ce=function(){const b3=b;var j=this,k=j[b3(0x1ec)]['_c'],l=j['_self']['_setupProxy'];return k('div',{'staticClass':'cad-viewer'},[k('div',{'staticClass':b3(0x1d9)},[k('div',{'staticClass':b3(0x1e9)},[k('button',{'class':{'active':l['activeTool']==='pan'},'attrs':{'type':'button'},'on':{'click':function(m){const b4=b3;return l['setTool'](b4(0x1f4));}}},[j['_v']('平移')]),k('button',{'class':{'active':l['activeTool']==='select'},'attrs':{'type':'button'},'on':{'click':function(m){return l['setTool']('select');}}},[j['_v']('选择')]),k(b3(0x1de),{'class':{'active':l['activeTool']==='measure'},'attrs':{'type':b3(0x1de)},'on':{'click':function(m){const b5=b3;return l[b5(0x1d2)]('measure');}}},[j['_v']('测量')]),k(b3(0x1de),{'attrs':{'type':'button'},'on':{'click':l['fitToView']}},[j['_v']('适配')]),l['status']==='preview'?[k('button',{'attrs':{'type':'button','title':'缩小\x20DWG\x20预览'},'on':{'click':function(m){const b6=b3;return l[b6(0x1ee)](-0.15);}}},[j['_v']('-')]),k('span',{'staticClass':'cad-zoom'},[j['_v'](j['_s'](Math['round'](l['previewZoom']*0x64))+'%')]),k(b3(0x1de),{'attrs':{'type':'button','title':b3(0x1e0)},'on':{'click':function(m){return l['zoomPreview'](0.15);}}},[j['_v']('+')])]:j['_e']()],0x2),k('span',[j['_v'](j['_s'](j['type'][b3(0x1f0)]()))])]),k('div',{'staticClass':'cad-body','class':{'without-layers':!l['layers']['length']}},[l['layers']['length']?k('aside',{'staticClass':'cad-layers'},j['_l'](l['layers'],function(m){const b7=b3;return k('button',{'key':m['name'],'class':{'muted':m['isOff']},'attrs':{'type':b7(0x1de)},'on':{'click':function(o){const b8=b7;return l[b8(0x1e1)](m);}}},[j['_v']('\x20'+j['_s'](m['name'])+'\x20')]);}),0x0):j['_e'](),k('div',{'staticClass':b3(0x1db)},[k('canvas',{'ref':'canvas'}),l['status']==='loading'?k('div',{'staticClass':'cad-state'},[j['_v']('正在解析\x20CAD...')]):l['status']==='preview'?k('div',{'staticClass':'dwg-preview'},[k('div',{'staticClass':'dwg-preview-frame'},[k('img',{'style':l['previewImageStyle'],'attrs':{'src':l['previewUrl'],'alt':'DWG\x20内嵌预览图'}})]),k('p',[j['_v'](j['_s'](l['previewMessage']))])]):l['status']==='error'?k('div',{'staticClass':'cad-state\x20error'},[j['_v'](j['_s'](l[b3(0x1d1)]))]):j['_e']()])])]);},ye=[],Me=i(_e,Ce,ye,!0x1,null,'4d603439',null,null);function b(c,d){c=c-0x1c9;const e=a();let f=e[c];return f;}const xe=Me['exports'];export{xe as default};