Compare commits

..

3 Commits

Author SHA1 Message Date
夏犀麟
7cc2dd3805 Merge remote-tracking branch 'origin/main' 2026-09-10 14:11:11 +08:00
夏犀麟
79374895ae docs: 记录验证分工约定 2026-09-01 11:01:34 +08:00
夏犀麟
6ad767f50d docs: 记录图片转 ICO 工作与「只 commit 不 push」约定 2026-09-01 10:26:45 +08:00
3 changed files with 23 additions and 1 deletions

View File

@ -0,0 +1,8 @@
# 2026-08-31 工作日志
## tool.xpcool.com · 新增「图片转 ICO」工具e65da3a已提交未推送
- 新增 `src/utils/ico.ts`:纯前端零依赖实现 ICO 编码——PNG 编码CRC32/Adler32、自适应行滤波、zlib stored 兜底、调色板位深 1/2/4/8、中位切分量化、32bpp BMP DIBbottom-up BGRA + AND 遮罩、ICO 容器封装;体积控制=编码方式(auto: ≥128 用 PNG)+量化+超限自动降级(先量化→再从大到小删尺寸)。
- 新增 `src/views/image-to-ico/ImageToIcoView.vue`:多尺寸勾选/预设/自定义、填充方式(cover/contain/stretch)、编码方式、量化、体积上限、预览网格、ICO+单尺寸 PNG 下载、历史记录。
- 注册 `src/router/tools.ts`path `image-to-ico`,图标 FileImageIcon更新 README 路由表与特性行。
- 验证vue-tsc 通过esbuild 打包后 Node 跑 8 项二进制自测全过Pillow 独立解码 6 尺寸全过vite build 成功46sImageToIcoView chunk 18.5kB)。
- 关键坑:① PNG 位深<8 时滤波行距必须用 raw.length/height 推导不能用 width×bpp ICO 目录项 256 0 表示 非交互环境 git push 无凭据会失败需用户本地推送

View File

@ -0,0 +1,13 @@
# 2026-09-01 工作日志
## tool.xpcool.com · 图片转 ICO 下载增强
- `buildIco` 新增 `singles` 字段:每个尺寸单独封装的 ICO Blob直接复用合成包内已编码条目数据只多包 6+16 字节头,零额外编码成本)。
- 页面结果区预览格新增「ICO」按钮与 PNG 并列)逐尺寸下载;尺寸 >1 时显示「打包下载 ZIP」按钮用 jszip 打包所有单尺寸 ICO`{base}_{size}x{size}.ico` → `{base}_ico.zip`)。
- vue-tsc 与 vite build 均通过ImageToIcoView chunk 19.57 kB
- 坑:托管 node 版本目录由 `22.22.2` 变为 `22.22.2-2``~/.workbuddy/binaries/node/bin/pnpm` wrapper 里的硬编码路径失效exit 127已修正后续若再报 "No such file or directory" 先查该 wrapper。
2026-09-01 | CHG | 图片转 ICO 下载增强(逐尺寸 singles + ZIP 打包),已提交 00013ee用户约定以后只 commit 不 push推送由用户自行完成
2026-09-01 | CHG | 全站接入 TDesign ImageViewer 图片预览:共享 AppImageViewer + useImageViewer覆盖 9 处(上传缩略图/Base64/裁剪/ICO/OCR/二维码/压缩/代码图/占位图vue-tsc+build 通过,已提交
2026-09-01 | CHG | 用户约定AI 不方便验证的(浏览器交互体验/视觉/下载弹窗等)直接交用户手动验证,勿反复折腾自动化

View File

@ -61,5 +61,6 @@
- 本地 pnpm 修复2026-08-27 升级为 wrapper 方案):根因=本环境 MSYS 路径转换故障,把 `/c/...` 参数转成 `E:\c\...`(多 `E:\c\` 前缀)致 corepack shim 与 node 都找不到 pnpm.js。**已建持久 wrapper**`~/.workbuddy/binaries/node/bin/pnpm`(内容:`export NODE_OPTIONS=--experimental-sqlite; exec "<托管node.exe>" "C:/Users/ybtdevxxl/.workbuddy/binaries/node/workspace/node_modules/pnpm/bin/pnpm.cjs" "$@"`,关键=给 node 传 Windows 风格路径 `C:/...` 规避 MSYS 转换)。**提交/构建前需 `PATH="~/.workbuddy/binaries/node/bin:$PATH"` 前置**pre-commit 钩子(lefthook oxlint/oxfmt/eslint/stylelint/checkType)即可正常运行;否则钩子崩 → 只能 --no-verify。已验证 pnpm 11.16.0 + `pnpm exec oxlint` 1.79.0。
## 日常同步习惯(建议)
- 每次工作结束:在各改动项目 `git add + commit + push`,本工作空间同样提交(规则/日志变化时)。
- 每次工作结束:在各改动项目 `git add + commit`,本工作空间同样提交(规则/日志变化时)。**只 commit、不要 push**2026-09-01 用户明确推送由用户自行完成AI 无需代为 push避免凭据交互失败
- **验证分工2026-09-01 用户明确)**AI 能做的验证(类型检查、构建、单元/二进制测试、自动化冒烟)照做;**AI 不方便验证的部分(真实浏览器交互体验、视觉效果、下载弹窗等)直接交给用户手动验证**,不要反复折腾自动化工具。
- 换设备开工前:先 `git pull` 各仓库,保证规则与记录最新。