update at 2026-02-08 18:28:39
This commit is contained in:
54
miniprogram/README.md
Normal file
54
miniprogram/README.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# miniprogram
|
||||
|
||||
`miniprogram/` 是 `font2svg` 的微信小程序版本,面向移动端提供字体预览与导出能力。
|
||||
|
||||
## 已实现能力
|
||||
|
||||
- 文本输入 + 字体选择(搜索/分类/收藏)
|
||||
- 远端 API 生成 SVG(服务端读取字体并渲染)
|
||||
- SVG 预览
|
||||
- 导出 SVG 并调用 `wx.shareFileMessage` 分享
|
||||
- SVG 渲染到 Canvas 并导出 PNG,保存到系统相册
|
||||
|
||||
## 目录说明
|
||||
|
||||
```text
|
||||
miniprogram/
|
||||
├── pages/
|
||||
│ ├── index/ # 首页:输入、预览、导出
|
||||
│ └── font-picker/ # 字体选择页
|
||||
├── utils/
|
||||
│ ├── core/ # 纯算法模块
|
||||
│ └── mp/ # 小程序 API 适配层
|
||||
├── assets/fonts.json # 字体清单(由脚本生成)
|
||||
├── app.js / app.json / app.wxss
|
||||
└── project.config.json
|
||||
```
|
||||
|
||||
## 使用步骤
|
||||
|
||||
1. 在仓库根目录执行 `pnpm run prepare-fonts`,同步字体清单。
|
||||
2. 打开微信开发者工具,导入 `miniprogram/` 目录。
|
||||
3. 在小程序后台配置合法域名(`request` + `downloadFile`)。
|
||||
4. 部署并启动 `apiserver/`(详见 `apiserver/README.md`)。
|
||||
5. Nginx 配置 `/api/` 反向代理到渲染服务。
|
||||
6. 编译运行。
|
||||
|
||||
## 字体清单格式(由服务端解析)
|
||||
|
||||
`assets/fonts.json` 每项字段:
|
||||
|
||||
- `id`: 字体唯一 ID
|
||||
- `name`: 字体显示名
|
||||
- `category`: 分类
|
||||
- `path`: 字体地址(支持相对路径或完整 URL)
|
||||
|
||||
如果 `path` 是相对路径(例如 `/fonts/a.ttf`),服务端会根据静态根目录拼接到实际文件路径。
|
||||
|
||||
## 调试命令(仓库根目录)
|
||||
|
||||
```bash
|
||||
pnpm run mp:syntax
|
||||
pnpm run mp:lint
|
||||
pnpm run mp:test
|
||||
```
|
||||
Reference in New Issue
Block a user