diff --git a/changelogs-v2/2026-06/05_3487_图标库-删除尺寸px字段-管理后台+小程序.md b/changelogs-v2/2026-06/05_3487_图标库-删除尺寸px字段-管理后台+小程序.md new file mode 100644 index 0000000..0cc5aee --- /dev/null +++ b/changelogs-v2/2026-06/05_3487_图标库-删除尺寸px字段-管理后台+小程序.md @@ -0,0 +1,94 @@ +# 【字段移除·管理后台+小程序】图标库 删除「尺寸(px)」字段(icon_item.size) + +> **PR**: #3487 | **关联工单**: #3485 +> **服务**: hl-user-service | **更新时间**: 2026-06-05 +> +> **存放目录**: `changelogs-v2/2026-06/` +> **影响范围**: 管理后台「图标库」图标新增/编辑弹窗 + 小程序图标渲染——图标项移除「默认尺寸(px)」字段 + +--- + +## ⚠️ 关键说明 + +1. **删除原因**:图标渲染尺寸应由前端使用场景的 CSS / 容器决定,图标库内存一个「默认尺寸 px」属冗余,实际不被消费,前端反馈无用,删除。 + +2. **删的是哪个 `size`(务必区分,别误删别的)**: + - ❌ **已删**:图标项的「默认尺寸 px」——数据库列 `icon_item.size`,对应 admin 编辑弹窗那个红框「尺寸(px)」输入框,以及各响应里的 `size` 字段。 + - ✅ **保留不动**:`POST /admin/icon/parse-svg` 和 `POST /admin/icon/parse-svg-text` 返回的 `size` 字段——那是**上传 SVG 的字节数(UTF-8)**,跟「尺寸 px」毫无关系,**继续返回,前端别误删**。 + +3. **破坏性**:DB 删列 + 出入参删字段。admin 保存接口若仍传 `size` 会被**静默忽略**(不报错);admin/mp 查询响应**不再返回** `size` 字段。前端需删除编辑弹窗的尺寸输入框、并移除对响应 `size` 的读取。 + +--- + +## 1. 变更清单 + +| # | 方法 | 路径 | 变更类型 | 说明 | +|---|------|------|----------|------| +| 1 | POST | `/admin/icon/item` | **入参删字段** | 请求体 `IconItemSaveReqVO` 移除 `size`,再传将被忽略 | +| 2 | GET | `/admin/icon/item/page` | **出参删字段** | 响应 `records[].size` 不再返回 | +| 3 | GET | `/admin/icon/item/{id}` | **出参删字段** | 响应 `data.size` 不再返回 | +| 4 | GET | `/mp/icon/items` | **出参删字段** | 小程序图标列表 `data[].size` 不再返回 | + +> `parse-svg` / `parse-svg-text` 的 `size`(SVG 字节数)**不在本次变更内,保持原样**。 + +--- + +## 2. 受影响响应结构(前后对比) + +**之前**(图标项含 size): +```json +{ + "iconCode": "tree-pine", "name": "松树", + "color": "#000000", "size": 24, + "svgContent": "..." +} +``` + +**现在**(已删 size): +```json +{ + "iconCode": "tree-pine", "name": "松树", + "color": "#000000", + "svgContent": "..." +} +``` + +--- + +## 3. 前端动作(mmg) + +1. **管理后台「图标库」新增/编辑弹窗**:删除「尺寸(px)」输入框(截图红框那个),保存时不再提交 `size`。 +2. **管理后台图标列表/详情**:移除任何对响应 `size` 字段的读取/展示。 +3. **小程序图标渲染**:若此前从 `/mp/icon/items` 读 `size` 设定图标宽高,改为由小程序自身样式/容器决定尺寸(本就该如此)。 +4. **不受影响**:`parse-svg` / `parse-svg-text` 的 `size`(上传字节数)继续可用,无需改动。 + +--- + +## 4. 验证(测试服实测,已通过) + +| 用例 | 结果 | +|---|---| +| `GET /admin/icon/item/page?page=1&pageSize=3` | code200,total=222,`records[]` 字段无 `size` | +| `GET /admin/icon/item/{id}` | code200,`data` 无 `size` | +| `GET /mp/icon/items?categoryCode=<某分类>` | code200,列表项无 `size` | +| Flyway `V20260605_003` DROP COLUMN | 迁移成功,user-service 双实例正常启动并返真数据 | + +- 单测 `IconItemServiceTest` 等 Icon* 77 项全绿 +- hl-user-service 双实例(8081 + 8181)均已部署新代码、health UP + +--- + +## 5. 影响评估 + +- **是否破坏向后兼容**:是(删列 + 删字段)。但 `size` 此前无消费方,删除对实际业务无影响。 +- **前端是否必须同步上线**:建议同步(删弹窗输入框 + 停读 `size`);前端不改也不会报错(多传被忽略、读 `size` 得 undefined)。 +- **影响已有数据**:列删除,原有 `size` 值丢弃(本就无用)。 + +--- + +## 6. 关联 / 联系人 + +- **本次 PR**:#3487(Closes #3485) +- **图标库模块首推 changelog**:`03_3390_图标库模块-新增接口-管理后台+小程序.md` +- **后端负责人**:@wx +- **前端对接(管理后台 + 小程序)**:mmg