diff --git a/changelogs-v2/2026-06/03_3390_图标库模块-新增接口-管理后台+小程序.md b/changelogs-v2/2026-06/03_3390_图标库模块-新增接口-管理后台+小程序.md new file mode 100644 index 0000000..b4e353a --- /dev/null +++ b/changelogs-v2/2026-06/03_3390_图标库模块-新增接口-管理后台+小程序.md @@ -0,0 +1,158 @@ +# 【新增接口·管理后台 + 小程序】图标库模块(全模块首次推送,11 接口) + +> **PR**: #3396(模块主体)+ #3398 / #3399(mp 端点公开化)+ #3401(上线后审计加固) +> **服务**: hl-user-service | **更新时间**: 2026-06-03 +> +> **存放目录**: `changelogs-v2/2026-06/` +> **影响范围**: 管理后台「图标库」管理页(分类 + 图标 CRUD + SVG 上传解析);小程序/前端 图标渲染(公开只读查询) + +--- + +## ⚠️ 关键说明 + +1. **两级结构(类似数据字典)**:一级「图标分类」(`icon_category`) + 二级「图标项」(`icon_item`)。图标项归属某分类编码 `categoryCode`。 +2. **SVG 直接存库(不走 OSS)**:图标内容是 SVG 字符串,直存数据库 `svg_content`(MEDIUMTEXT,上限 16MB,单图标后端限 256KB)。前端拿到的 `svgContent` 即可直接渲染。 +3. **上传解析与保存分两步**:先调 `POST /admin/icon/parse-svg` 上传 `.svg` 文件,后端读成字符串校验后**只返回字符串不落库**;前端拿到 `svgContent` 再连同 `color`/`size` 等填进保存表单调 `POST /admin/icon/item` 保存。 +4. **SVG 安全校验(重要)**:上传/保存的 SVG 会经服务端 XXE-safe 解析校验,**拒绝**含 `