docs: 更新 README + CHANGELOG — web 端 / Docker / 修复记录
- README: 四种使用方式,新增 Web 服务/Docker 章节 - CHANGELOG: 完整的 Fixed 列表 (14 项修复) - 测试数 69→82, Docker badge, axum badge Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+34
-11
@@ -1,6 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
## 0.1.0 (2026-06-17)
|
||||
## 0.1.0 (2026-06-18)
|
||||
|
||||
### Added
|
||||
|
||||
@@ -9,31 +9,54 @@
|
||||
- Reed-Solomon 纠错编码(动态生成多项式 + 多项式长除法 + 数据交错)
|
||||
- 四种编码模式:数字 / 字母数字 / 字节 / 汉字 (Shift JIS)
|
||||
- 字符串自动分段 + 最优模式选择
|
||||
- 8 种标准掩码 + 四规则惩罚评分(连续同色/2×2方块/伪定位图案/暗模块占比)
|
||||
- 8 种标准掩码 + 四规则惩罚评分(连续同色/2×2 方块/伪定位图案/暗模块占比)
|
||||
- 格式信息 BCH(15,5) + 版本信息 BCH(18,6) 编码
|
||||
- 40 版本 × 4 纠错级别完整容量表
|
||||
- **CLI 命令行工具** (`qrgen`)
|
||||
- PNG/SVG/终端 ASCII 三种输出
|
||||
- 可调纠错级别、版本号、模块大小、白边
|
||||
- 反色模式
|
||||
- 反色模式、路径遍历防护
|
||||
- **GUI 桌面应用** (`qrgen-gui`)
|
||||
- Tauri 2 + React 18 + TypeScript + TailwindCSS
|
||||
- 7 种编码模式:文本 / URL / WiFi / vCard / Email / 电话 / SMS
|
||||
- 实时预览(200ms 防抖,SVG 渲染)
|
||||
- 实时预览(200ms 防抖)、历史记录(50 条 + 持久化)
|
||||
- PNG/SVG 导出 + 复制到剪贴板
|
||||
- 历史记录(最近 50 条,回填/删除/清空)
|
||||
- 暗色模式(跟随系统)
|
||||
- 磨砂玻璃效果 (backdrop-blur)
|
||||
- WiFi 密码脱敏、错误提示
|
||||
- 暗色模式(跟随系统)、磨砂玻璃效果
|
||||
- **Web 服务** (`qrgen-web`)
|
||||
- axum 0.8 + tokio HTTP 服务
|
||||
- 内嵌 GUI 风格 HTML 页面(三栏 + 7 模式 + 实时预览)
|
||||
- REST API: `GET /api/qr` → PNG / SVG
|
||||
- Docker: rust-alpine 多阶段构建 → 17.7MB 镜像
|
||||
- docker-compose: 资源限制 + 健康检查 + 日志轮转
|
||||
- **程序库** (`qr-core`)
|
||||
- 零外部 QR 依赖(仅 image crate 用于 PNG 输出)
|
||||
- 自动版本选择
|
||||
- 完整 40 版本 × 四级纠错支持
|
||||
|
||||
### Fixed
|
||||
|
||||
- **QR 扫描失败**:修复 PNG margin `saturating_sub` 导致 quiet zone 全黑(扫描器无法定位)
|
||||
- **QR 扫描失败**:修复 finder pattern separator 缺少左侧和顶部预留(数据模块破坏 finder 检测比率 1:1:3:1:1)
|
||||
- **GUI 导出失败**:修复 `tauri-plugin-fs` 插件未注册(writeFile 调用无后端 handler)
|
||||
- **GUI 导出 ACL**:修复 `fs:allow-write-file` 缺少路径 scope
|
||||
- **GUI 预览模糊**:修复 SVG size=1 拉伸到 216px 导致的模糊
|
||||
- **历史记录**:删除/清空后持久化到 store、WiFi 密码脱敏、点击回填用 formData
|
||||
- **CSP**:从 null 改为最小权限策略
|
||||
- **CLI 安全**:添加路径遍历防护
|
||||
- **Kanji 编码**:修复 Shift JIS 第二字节空洞、fallback 段内模式混用
|
||||
- **编码器**:`encode_numeric`/`encode_alphanumeric` 添加 debug_assert 前置条件
|
||||
- **SVG 渲染**:`dangerouslySetInnerHTML` 改为 `<img>` + data URL
|
||||
- **Web 界面**:预览改用 PNG size=8 避免拉伸模糊
|
||||
|
||||
### Technical
|
||||
|
||||
- Cargo workspace 三层架构 (core + cli + gui)
|
||||
- Cargo workspace 四层架构 (core + cli + gui + web)
|
||||
- Tauri v2 capabilities + ACL 权限配置
|
||||
- qr-core:Serde 序列化支持(跨 IPC 传输)
|
||||
- GUI:React Context + useReducer 状态管理
|
||||
- GUI:React Context + useReducer,共享文本构造工具 (utils/qrText.ts)
|
||||
- CLI:clap derive + anyhow 错误处理
|
||||
- 69 个测试(54 单元 + 15 集成)
|
||||
- NSIS Windows 安装包
|
||||
- Web:axum 0.8 + tokio,编译期 HTML 嵌入 (include_str!)
|
||||
- 82 个测试(58 单元 + 24 集成)
|
||||
- NSIS Windows 安装包 + Docker Alpine 镜像
|
||||
- GitHub Actions 就绪(测试 + clippy + fmt)
|
||||
|
||||
Reference in New Issue
Block a user