Files
font2pic/release.md
2026-02-11 11:06:24 +08:00

135 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.

# Release Notes
## v1.0.3
发布时间2026年2月10日
版本定位:小程序远端路由切换与多节点接入增强
### 里程碑与亮点
- 新增小程序“无发版切换后端”能力(基于远端 `route-config.json`
- 引入双确认切换策略,避免单点误配置导致错误跳转
- 增加 `cooldown` 防抖,防止 A/B 来回抖动
- 新增 Cloudflare Tunnel 入口域名支持(`mac-tunnel.biboer.cn`
### 核心变更
#### 小程序路由管理
- 新增 `route-manager`,负责:
- 启动时读取路由配置
- 回前台按节流规则检查路由
- 接口失败时触发兜底路由检查
- 路由状态本地持久化:`activeServerKey``lastSwitchAt``routeConfigCache``lastRouteCheckAt`
#### 切换规则
- 双确认:当前服务读取到目标为 `B` 时,必须继续读取 `B` 的配置并确认 `active=B` 才切换
- 防抖:`cooldownMinutes` 控制最短驻留时间,`0` 表示允许立即切换
- 读取失败保护:目标配置读取失败或非法时保持当前服务不变
#### 接入与运维
- 新增 `miniprogram/assets/route-config.json` 配置模板
- `scripts/deploy-fonts.sh` 支持同步 `route-config.json`
- `miniprogram/README.md``apiserver/README.md` 同步更新
- mac 侧新增 Tunnel 接入路径,支持 `mac-tunnel.biboer.cn` 对外服务
### 配置注意事项
- 小程序后台必须将目标域名加入 `request``downloadFile` 合法域名
- `route-config.json` 修改后建议清除本地 `route-state` 并冷启动验证
- `/healthz` 建议使用 `GET` 校验(`HEAD` 可能返回 `501`
### 验收项
- 可通过修改远端 `route-config.json` 在 A/B 节点间切换,无需重新发布小程序
- A/B 配置不一致时不切换(保护行为)
- 目标节点不可用时不切换(保护行为)
## v1.0.1
发布时间2026年2月9日
版本定位:小程序 UI 优化与布局完善
### 里程碑与亮点
- 全面适配 Figma 设计稿UI 风格统一
- 选择/已收藏区域改为自适应高度flex fill
- 搜索框默认完整展开显示
- 复选框图标始终显示,状态切换更直观
- 收藏图标区分已收藏(红心)和未收藏(白心)
- 新增底部版权说明
### 核心特性
#### 布局优化
- 选择和已收藏区域从固定高度改为 flex fill自适应屏幕
- 统一三个区域(预览、选择、已收藏)的边框颜色为 `#3EE4C3`
- 统一容器 padding 为 8rpx
- 移除多余的嵌套 padding避免边距叠加
#### 图标系统完善
- 复选框checkbox.svg选中、checkbox-no.svg未选中
- 收藏favorite.svg未收藏、favorite-red.svg已收藏
- 分类全选selectall.svg / unselectall.svg
- 导出按钮download.svg、export-svg-s.svg、export-png-s.svg
#### 对齐修复
- "选择"文字与搜索框垂直居中对齐
- "选择"和"已收藏"标题水平对齐
- 覆盖全局样式污染padding/margin
### 基础功能
- 文本输入 + 实时预览
- 字体搜索、分类树、收藏管理
- SVG/PNG 导出(远端 API 渲染)
- 字体大小滑块调节
- 颜色选择器
### 技术实现
- 框架:微信小程序原生
- 渲染:远端 APIapiserver
- 状态本地存储wx.setStorageSync
- 图标:本地 SVG 文件(/assets/icons/
### 项目结构
```
miniprogram/
├── pages/index/ # 首页
│ ├── index.wxml # 页面结构
│ ├── index.wxss # 样式
│ └── index.js # 逻辑
├── assets/icons/ # 图标资源
├── utils/mp/ # 小程序工具函数
└── app.js/json/wxss # 应用配置
```
### 设计理念
- 遵循 Figma 设计稿,保持视觉一致性
- 适配小程序原生组件限制(如 input 最小高度)
- 简化图标状态切换逻辑,提升代码可维护性
## 下载和安装
### 系统要求
- 微信开发者工具 1.06+
- Node.js 18+(用于 apiserver
### 快速开始
1. 克隆仓库
2. 微信开发者工具导入 `miniprogram/` 目录
3. 部署 apiserver详见 apiserver/README.md
4. 编译运行
### 生产构建
1. 配置合法域名:`fonts.biboer.cn`
2. 上传代码并提交审核
### 支持和反馈
- 邮箱douboer@gmail.com
- 仓库Issues