2026-06-16 12:14:52 +08:00
|
|
|
# @xuqm/rn-xwebview
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
统一 WebView、JSBridge 与文件下载模块。它复用 `@xuqm/rn-common` 的配置、会话、文件和 MIME 能力,不提供第二套网络或用户状态。
|
2026-06-16 12:14:52 +08:00
|
|
|
|
|
|
|
|
## 安装
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-07-17 13:50:30 +08:00
|
|
|
pnpm add @xuqm/rn-common @xuqm/rn-xwebview \
|
|
|
|
|
react-native-webview react-native-blob-util react-native-svg
|
2026-06-16 12:14:52 +08:00
|
|
|
```
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
## 使用
|
2026-06-16 12:14:52 +08:00
|
|
|
|
|
|
|
|
```tsx
|
2026-07-17 13:50:30 +08:00
|
|
|
import { XWebViewView, openXWebView } from '@xuqm/rn-xwebview'
|
2026-06-16 12:14:52 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
openXWebView('https://example.com', { title: '页面' })
|
2026-06-16 12:14:52 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
;<XWebViewView config={{ url: 'https://example.com', title: '页面' }} />
|
2026-06-16 12:14:52 +08:00
|
|
|
```
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
下载统一使用 `handleDownloadRequest`、`startDownload` 或 `saveBase64File`。目录解析、RFC 文件名、冲突策略、MIME 推断、大文件落盘、进度、取消、Android 下载登记和打开文件均复用 common,不在 xwebview 或业务层重复实现。
|
2026-06-22 17:43:00 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
H5 需要原生能力时,通过 `setXWebViewScanQRCodeHandler` 等全局 handler 接入。用户、token、平台地址不得作为页面 props 逐级传递;Bridge 在调用时读取 common 当前会话。
|