Files
font2pic/CDN-DEPLOYMENT.md
2026-02-08 18:28:39 +08:00

152 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CDN 图标部署指南
## 📦 部署流程
### 1. 部署图标到服务器
```bash
cd /Users/gavin/font2svg
./scripts/deploy-assets.sh
```
部署脚本会自动:
- 上传所有 SVG 图标到 `fonts.biboer.cn/assets/icons/`
- 上传 PNG logo 到 `fonts.biboer.cn/assets/`
- 设置正确的文件权限
- 验证部署结果
### 2. 验证部署
部署完成后,可以通过浏览器访问以下地址验证:
```
https://fonts.biboer.cn/assets/webicon.png
https://fonts.biboer.cn/assets/icons/export.svg
https://fonts.biboer.cn/assets/icons/font-icon.svg
```
### 3. 测试小程序
在微信开发者工具中:
1. 点击「详情」- 「本地设置」
2. ✅ 勾选「不校验合法域名、web-view业务域名、TLS 版本以及 HTTPS 证书」(开发阶段)
3. 点击「编译」重新加载页面
4. 检查图标是否正常显示
### 4. 配置服务器域名(生产环境)
在微信小程序后台配置:
1. 登录 [微信公众平台](https://mp.weixin.qq.com/)
2. 开发管理 → 开发设置 → 服务器域名
3.`https://fonts.biboer.cn` 添加到:
- **request 合法域名**
- **downloadFile 合法域名**
4. 保存配置,等待生效(可能需要几分钟)
## 🎯 优势对比
### 使用 CDN 方案
**小程序包体积减小** - 图标不占用包大小
**SVG 高清显示** - 网络地址支持 SVG 格式
**便于更新维护** - 更新图标无需重新发布小程序
**统一资源管理** - 字体和图标同一个 CDN
### 本地资源方案
❌ 占用包大小(约 50KB 图标)
❌ 需要使用 PNG 格式SVG 不支持本地)
❌ 更新需要重新发布
✅ 离线可用
## 📝 配置文件说明
### `/miniprogram/config/cdn.js`
统一管理所有 CDN 资源路径:
```javascript
const ICON_PATHS = {
logo: 'https://fonts.biboer.cn/assets/webicon.png',
fontSizeDecrease: 'https://fonts.biboer.cn/assets/icons/font-size-decrease.svg',
// ... 其他图标
}
```
### `/miniprogram/pages/index/index.js`
引入配置并添加到 data
```javascript
const { ICON_PATHS } = require('../../config/cdn')
Page({
data: {
icons: ICON_PATHS,
// ...
}
})
```
### `/miniprogram/pages/index/index.wxml`
使用数据绑定引用图标:
```xml
<image src="{{icons.logo}}" />
<image src="{{icons.export}}" />
```
## 🔄 更新图标流程
1. 修改本地 `assets/icons/` 中的 SVG 文件
2. 运行部署脚本:`./scripts/deploy-assets.sh`
3. 小程序无需重新发布,刷新即可看到新图标
## 🚨 注意事项
1. **HTTPS 要求**:小程序只能加载 HTTPS 资源
2. **域名配置**:生产环境必须在小程序后台配置合法域名
3. **缓存策略**CDN 资源可能有缓存,更新后清除浏览器缓存
4. **文件大小**:建议 SVG 图标控制在 10KB 以内,确保快速加载
5. **兼容性**:保留本地 PNG 作为备用方案(可选)
## 📊 性能对比
| 项目 | 本地 PNG | CDN SVG |
|------|---------|---------|
| 包大小影响 | +50KB | 0KB |
| 首次加载 | 立即显示 | ~100ms网络 |
| 图标清晰度 | 一般 | 高清 |
| 更新成本 | 重新发布 | 无需发布 |
## 🛠️ 故障排查
### 图标不显示
1. 检查网络请求:开发者工具 → Network
2. 验证 CDN 地址:浏览器直接访问
3. 检查域名配置:后台是否添加合法域名
4. 清除缓存:微信开发者工具「清除缓存」
### 部署失败
1. 检查 SSH 连接:`ssh gavin@fonts.biboer.cn`
2. 检查目录权限:服务器上 `/home/gavin/font2svg/assets/`
3. 检查本地文件:`assets/icons/` 是否存在
## 📦 服务器目录结构
```
/home/gavin/font2svg/
├── assets/
│ ├── webicon.png # 小程序 logo
│ └── icons/
│ ├── export.svg
│ ├── export-svg.svg
│ ├── export-png.svg
│ ├── font-icon.svg
│ ├── expand.svg
│ ├── font-size-decrease.svg
│ ├── font-size-increase.svg
│ ├── choose-color.svg
│ ├── selectall.svg
│ ├── unselectall.svg
│ └── checkbox.svg
├── fonts/ # 字体文件
└── fonts.json # 字体列表
```