界面上的分类显示名由前端拼成「编码 + 半角空格 + 名称」(U+0020),用户照抄进模板 时,中文输入法全角模式敲出的空格是 U+3000、从网页复制偶尔带 U+00A0。几串肉眼 一模一样、码点不同,精确匹配落空,于是出现「浏览器复制的能导入、自己手写的报 不存在」——分类名一个字没差,差的是那个看不见的空格。 - 匹配前用 normalizeWhitespace 把各种空白(半角、全角、NBSP、制表符)压成单个 半角空格并去首尾;索引键与查询值同口径归一化,两边一致 - 只填空白的单元格现在报「大类/小类不能为空」,而不是「不存在或已停用」——它本来 就是空的 验证:新增表驱动用例覆盖 3 种变体(全角空格、不换行空格、连续半角空格),修复前 3 个全部失败、修复后全部通过;go build ./...、go vet ./internal/...、 go test ./... 全部通过。 |
||
|---|---|---|
| .. | ||
| handler | ||
| middleware | ||
| model | ||
| repository | ||
| service | ||
| testutil | ||