Merge remote-tracking branch 'origin/main'
# Conflicts: # .gitignore
This commit is contained in:
commit
363caaedd7
8
.workbuddy/memory/2026-08-31.md
Normal file
8
.workbuddy/memory/2026-08-31.md
Normal 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 DIB(bottom-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 成功(46s,ImageToIcoView chunk 18.5kB)。
|
||||
- 关键坑:① PNG 位深<8 时滤波行距必须用 raw.length/height 推导,不能用 width×bpp;② ICO 目录项 256 用 0 表示;③ 非交互环境 git push 无凭据会失败,需用户本地推送。
|
||||
13
.workbuddy/memory/2026-09-01.md
Normal file
13
.workbuddy/memory/2026-09-01.md
Normal 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 不方便验证的(浏览器交互体验/视觉/下载弹窗等)直接交用户手动验证,勿反复折腾自动化
|
||||
@ -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` 各仓库,保证规则与记录最新。
|
||||
|
||||
27
CentOS.pem
Normal file
27
CentOS.pem
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEAnS+AKdM3gbfaPWw/FEPtlIXfvUOjouemOeSbfQ5wqUe8U6Dg
|
||||
wW9ocNQM5EkXKRzbThugh2S9dz2eIfocweX2M0cK0ipxLs/73/PQQE1f8M/w1Yxx
|
||||
TRBDyESDULRgI1d76jxirDkLqT+PzpgmWxHxzXs05bq41ozI9/7AQiCElXVGIQ4N
|
||||
dkLrt3Tg0xBOOOqjeLgVpRtLJE/bQIiqyXiM6l/vvtXwVcbj2G6AWPtl/L7Easzy
|
||||
k4vBZUmS0ECRQuLi/6btRSm+ewlQ/Bh2dVeVDi2XtOjyv2t2KkOrHDhmRnSdvS8N
|
||||
YcE5OQvhumw8foKKwXpOinU7hZBzO3UJrB4yywIDAQABAoIBAB1D/M7MvqbuPjn1
|
||||
b4EsbI2cp12rvEnWa4KX58NO7vb1nkDL0UzymzV2pbfTS/ahostWJXtP7F7JICof
|
||||
UT9gu4gsj/01XcFjg/fcg0eVoGlLrgF0lpvMjXI6H2DlVIj//thLyeta66rlZLcI
|
||||
aQvHuYeSivTC4StBJyHVUqJ9P3I8CtF6CPMJS0XOH9GfYd57uplks7jD8PncKpr3
|
||||
3Pa+ZLc8ViGw+3hYYNUGt6F3o/ZaaSjhIlvsozq8LYbcQX/xG1iL5N15G8RtqWvR
|
||||
pw/EvBIn1J/uZf/UgGRTGJciM8b1/JYd9VVFUmGhDmexD1yhrPB0Vyll3McAUEr/
|
||||
zyHfBJECgYEAxyY+CpiJ3KL+fGmNRQP2Xh81zswWMRR7MQNQlzSjHN4/tEgZjAKZ
|
||||
d8MOvdX1IfzxFGcOPuqMC82/OeUHSLlgOjQBGzyAmLGm5W369SZG4G5B5KGkjky9
|
||||
pvULw0ntoy+vj2+D9KpN94KtPKHSnm6b40Awev3HCBbLjfasfcHaXUcCgYEAyg6O
|
||||
1n3WomvroyXuNpxaVnInfj8d0mXTUAAoLMlsbBxiasClioXeYt1d0Nu+cQXWgmsr
|
||||
xc6ITtghOzBrwQsHeo/+/520UzKMjS0fVTh+r91PjHoMazLjg5P5vjvjuvdYrow4
|
||||
Qz0UhH5H0Vk67szeWuy40crtmWuOp9ppa3HLMF0CgYBZQ0Plve91LL3CiBEhESCZ
|
||||
mYWltoZv401Ab8rsq1Q9OUT2iqagwf2F17FA16jzXgu06GhTPRAerk77JTP5ndWK
|
||||
4Qpp6dl+F4rGJWCqB0kXiXQRhX5bpfwP3KA0HWvdjB81vHc58CfYPANoPORJzSwk
|
||||
VP4l8qAGeSkt7ZXtHDnDOwKBgQC9eYlYegibprgA9cC8VUIhbkq6iFVexz2w93S1
|
||||
Cu0xNCzWDnEtxPsVmqAvCuE6+058XiNeCp6n0OTYrD9fdwg8Vmu5KBnBKtXCTV3k
|
||||
fGXQZKgEAy9CFyZibJD1YxPab7gpdjQMWWq0E/ckyZgJ9vNMME/f63uDMulDXf0d
|
||||
VEhFwQKBgGtuwIagkUKNBMlZzl78T05VoIRtxi/vJ3FGXd53dz+XC2KY6vXGC9B4
|
||||
8effUKJxZiCKokL2QF6RmkZSpjmy4Nu/mLHv+yDWN/gNJTFZT5aWGeeqSrmRx67J
|
||||
uSB5chPWm7vIhNlIyRgQJTqKDiLtKyt9ET7bqoc+C12kX4b2oUNZ
|
||||
-----END RSA PRIVATE KEY-----
|
||||
Loading…
Reference in New Issue
Block a user