# 【字段移除·管理后台+小程序】图标库 删除「尺寸(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": "<svg ...>...</svg>"
}
```

**现在**（已删 size）：
```json
{
  "iconCode": "tree-pine", "name": "松树",
  "color": "#000000",
  "svgContent": "<svg ...>...</svg>"
}
```

---

## 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
