| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| dto | ||
| company-person.controller.ts | ||
| company-person.module.ts | ||
| company-person.service.ts |
新增六个接口(含 multipart 上传与图片读取),设备上传流程 15/15 通过, 全量契约比对达成 31 项一致、0 项不一致。 图片处理 缩略图参数逐项对齐:长边 240、保持比例、小图不放大、透明填白、 输出 JPEG、文件名为「原标识 + .thumb.jpg」。透明区域填白这一条尤其关键—— Java 用 TYPE_INT_RGB 加白色填充,若照搬默认行为会让透明 PNG 的缩略图整片发黑。 用 8 张定向构造的夹具图做像素级比对,7 张中有 6 张平均色差为 0.00, 尺寸与格式完全一致。唯一例外是 CMYK JPEG,判定过程与结论记于 CONTRACT-NOTES 第 17 条: 原图 rgb(40,120,200) 经 Java 处理后偏离 132,经 NestJS 处理后偏离 25, 是 Java 的 ImageIO 对 CMYK 解码存在已知偏差。这处差异有意保留, 对齐到 Java 等于把一个色彩错误搬进新系统。 与 Java 的另一处实现差异(有意) Java 为绕开 ImageIO 会把大图读两遍的问题,采用「先落盘再解码校验」,失败后再删文件; sharp 可直接从内存缓冲区读取元信息,因此改为「先校验再落盘」。 结果一致(无效图片一律拒绝且不留文件),且天然不会产生需要清理的野文件。 对拍发现并修正 企微与公司人员列表的公司显示名应「简称优先、无简称才用全称」, 且只取存活的公司记录。原实现直接取了全称,导致列表显示与 Java 不一致。 新增 scripts/contract/image-compare.mjs 作为长期回归工具。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| dto | Loading commit data... | |
| company-person.controller.ts | Loading commit data... | |
| company-person.module.ts | Loading commit data... | |
| company-person.service.ts | Loading commit data... |