docs(2026-05-11): 产品名称长度 30 → 255 (PR #1940 + 前端联动通知)
- 11_fix_admin_product-name-extend-to-255.md - 11_frontend_notice_admin_product-name-maxlength-30-to-255.md
这个提交包含在:
父节点
d656e0f7b4
当前提交
9bc0f994f3
@ -0,0 +1,39 @@
|
||||
# fix(product-v2): 产品名称最大长度 30 → 255
|
||||
|
||||
**日期**: 2026-05-11
|
||||
**PR**: #1940(合 dev,squash sha `b96d158f`)
|
||||
**模块**: product-v2 / 后台产品编辑
|
||||
**关联工单**: 无
|
||||
|
||||
---
|
||||
|
||||
## 改动
|
||||
|
||||
| 项 | Before | After |
|
||||
|----|--------|-------|
|
||||
| `ProductSaveReqVO.name` `@Size(max)` | 30 | 255 |
|
||||
| `ProductBasicSaveReqVO.name` `@Size(max)` | 30 | 255 |
|
||||
| 校验文案 `message` / `@ApiModelProperty` | "≤30字" | "≤255字" |
|
||||
| DB `product.name` 列长 | `varchar(60)` | `varchar(255)` |
|
||||
| DB COMMENT | `'产品名称(≤30字)'` | `'产品名称(≤255字)'` |
|
||||
| Flyway | — | `V20260511_001__product_name_extend_to_255.sql` |
|
||||
| `schema.sql` | 同步更新 | 同步更新 |
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
用户编辑产品时把广告语合进名称后超 30 字被卡(实测 31/30 报错)。市场带广告语的长名称越来越多,扩到 255 一劳永逸。
|
||||
|
||||
---
|
||||
|
||||
## 部署
|
||||
|
||||
- 测试服:Deploy Panel 触发 product-v2 重启,Flyway 自动跑 ALTER(MySQL 8 instant alter,秒级)
|
||||
- 正式服:同步部署(用户已要求)
|
||||
|
||||
---
|
||||
|
||||
## 前端联动
|
||||
|
||||
前端 hl-admin 产品编辑页 `maxlength=30` 和「31/30」计数器需 mmg 同步改 255,详见 `11_frontend_notice_admin_product-name-maxlength-30-to-255.md`。
|
||||
@ -0,0 +1,61 @@
|
||||
# 前端联动通知 — 产品名称 maxlength 30 → 255
|
||||
|
||||
**日期**: 2026-05-11
|
||||
**类型**: 前端字段限制调整(配合后端扩长度)
|
||||
**模块**: 产品管理 → 产品编辑页 / 新建产品(hl-admin)
|
||||
**通知**: @mmg
|
||||
**前端改动**: input maxlength + 字符计数器上限
|
||||
|
||||
---
|
||||
|
||||
## 背景
|
||||
|
||||
用户反馈:把广告语合进产品名后超 30 字被卡(截图实测 31/30 报错)。后端已扩到 255,前端 input 的 `maxlength=30` 和「31/30」计数器上限也要同步改 255。
|
||||
|
||||
---
|
||||
|
||||
## 后端改动(已上 dev,PR #1940 已合)
|
||||
|
||||
| 项 | Before | After |
|
||||
|----|--------|-------|
|
||||
| `ProductSaveReqVO.name` | `@Size(max=30)` | `@Size(max=255)` |
|
||||
| `ProductBasicSaveReqVO.name` | `@Size(max=30)` | `@Size(max=255)` |
|
||||
| 校验失败 message | "产品名称不能超过30个字符" | "产品名称不能超过255个字符" |
|
||||
| DB `product.name` | `varchar(60)` | `varchar(255)`(Flyway `V20260511_001`) |
|
||||
|
||||
后端 message 文案随响应自动更新,前端不需要改文案本身,只要改 input 上限。
|
||||
|
||||
---
|
||||
|
||||
## 前端要改的地方
|
||||
|
||||
产品编辑页(基础信息步骤)的产品名称输入框 + 字符计数器:
|
||||
|
||||
```vue
|
||||
<!-- before -->
|
||||
<el-input v-model="form.name" :maxlength="30" show-word-limit />
|
||||
|
||||
<!-- after -->
|
||||
<el-input v-model="form.name" :maxlength="255" show-word-limit />
|
||||
```
|
||||
|
||||
如果是封装组件或 schema 配置,改对应的 max/maxlength 字段即可。建议全局搜 `maxlength.*30` 在产品编辑/新建相关组件中确认无遗漏。
|
||||
|
||||
---
|
||||
|
||||
## 验收
|
||||
|
||||
1. 后端测试服已自动部署 dev(走 Deploy Panel 触发 product-v2 服务重启,Flyway 自动跑 ALTER)
|
||||
2. 前端 `pnpm build` + Deploy Panel 前端部署 → 硬刷
|
||||
3. 产品编辑页输入 100 字符产品名 → 不再红字报错,可提交保存 ✅
|
||||
4. 输入 256 字符 → 前端 input 自身截断到 255(maxlength 控制)
|
||||
|
||||
---
|
||||
|
||||
## 风险
|
||||
|
||||
- 老产品名都 ≤30,扩 maxlength 不影响存量
|
||||
- DB ALTER 在线 DDL,MySQL 8 instant alter 秒级
|
||||
- 无关联工单
|
||||
|
||||
**联系人**: wx
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户