# FilePreview 组件移动端适配评估报告 ## 1. 总体评估 **结论**:**无法直接复用代码**,需要完全重写。 **原因**:原组件基于 React + Ant Design,且核心文件预览功能依赖于 DOM 操作库(`@js-preview/*`),这在微信小程序(无 DOM 环境)中完全不可用。 ## 2. 核心功能适配方案 ### 2.1 Office 文档 (Word/Excel/PPT/PDF) * **PC 实现**:使用 `@js-preview/docx`, `@js-preview/excel`, `@js-preview/pdf` 等库,在 DOM 容器中渲染。 * **移动端难点**:小程序无 DOM,且手机屏幕小,复杂的 JS 渲染库性能差且兼容性极难保证。 * **推荐方案**:使用微信/Uniapp 原生能力。 1. **uni.downloadFile**:先将文件下载到本地临时路径。 2. **uni.openDocument**:调用系统自带的文档查看器打开。体验最好,性能最高,且无需引入庞大的 JS 库。 ### 2.2 Markdown / HTML * **PC 实现**:`react-markdown`, `iframe`。 * **移动端/小程序方案**:项目已集成 **`mp-html`** 组件。 * 直接复用 `mp-html` 渲染 Markdown (需开启 markdown 插件) 和 HTML 内容。 * H5 端也可使用 `mp-html` 保持一致性。 ### 2.3 多媒体 (图片/视频/音频) * **PC 实现**:``, `