37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
|
|
# PhoneViewer / 万能看图
|
|||
|
|
|
|||
|
|
手机 / 平板上的本地 DWG、PDF、EPUB、FB2、XPS/OXPS、CBZ 和图片浏览器。
|
|||
|
|
|
|||
|
|
- DWG 解析:`@node-projects/acad-ts`(MIT),支持模型空间、块、布局、代理图形数据、图层、文字、填充、样条、尺寸等常见 2D 实体。
|
|||
|
|
- 文档渲染:MuPDF.js。
|
|||
|
|
- 前端:Vite + TypeScript + Canvas 2D,解析在 Web Worker 中执行。
|
|||
|
|
- Android:Kotlin WebView 壳,离线内置全部前端资源,支持文件关联、返回键和 PNG 保存。
|
|||
|
|
- 默认显示第三方代理对象,可在左侧立方体按钮中关闭;DWG 中代理数据本身没有图形时不会产生可见图元。
|
|||
|
|
|
|||
|
|
## 开发
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
npm run dev
|
|||
|
|
npm run typecheck
|
|||
|
|
npm run build
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 构建 Android APK
|
|||
|
|
|
|||
|
|
需要 JDK 17、Android SDK 34 和 Gradle 的 Kotlin 编译器(脚本位于 `E:\AiCodeGitea\ven\AndroidDev`,可在 `scripts/build-apk.mjs` 中调整路径)。
|
|||
|
|
|
|||
|
|
签名信息不写入仓库。构建前设置:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
PHONEVIEWER_KEYSTORE_PASS=your-keystore-password
|
|||
|
|
PHONEVIEWER_KEY_PASS=your-key-password
|
|||
|
|
npm run apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
`android/keystore/`、测试 DWG、APK、`dist/`、`node_modules/` 均已加入 `.gitignore`。图纸不会上传,解析完全在本地进行。
|
|||
|
|
|
|||
|
|
## 许可
|
|||
|
|
|
|||
|
|
本项目以 AGPL-3.0-or-later 发布。第三方组件许可见应用内“关于 → 开源组件与许可”。
|