diff --git a/changelogs/2026-03/27_1440_frontend_bugs.md b/changelogs/2026-03/27_1440_frontend_bugs.md new file mode 100644 index 0000000..feac264 --- /dev/null +++ b/changelogs/2026-03/27_1440_frontend_bugs.md @@ -0,0 +1,50 @@ +# 🐛 前端BUG反馈 — 景区编辑400 + 活动计费方式 + +**日期**: 2026-03-27 14:40 +**类型**: 前端BUG +**紧急程度**: 高(正式环境用户已遇到) + +--- + +## BUG 1:景区编辑保存报 400 + +**现象**:编辑任意景区 → 点"确定"保存 → 提示"请求错误: 400" + +**根因**:前端发送的请求 URL 异常: +``` +PUT /admin/scenic/spot/[object Object] +``` +景区ID没有正确传递,被序列化成了 `[object Object]`。 + +**网关日志证据**(14:32): +``` +WARN Decoding failed: REQUEST(decodeResult: failure( + java.net.URISyntaxException: Illegal character in path at index 40: + http://localhost:8080/admin/scenic/spot/[object%20Object] +)) +PUT /admin/scenic/spot/[object%20Object] HTTP/1.1 +``` + +**后端状态**:后端无任何报错,请求在网关层就被拒绝了。 + +**排查方向**:检查景区编辑页提交时,`id` 字段是否正确取值。可能是把整个景区对象当 ID 拼到了 URL 里。 + +--- + +## BUG 2:活动编辑页显示"计费方式"必填项 + +**现象**:编辑活动时,表单中出现"计费方式"字段且标记为必填(红框),但该字段无可选项。 + +**说明**:**后端活动模块没有 `billingType`/`billing_type` 字段**。活动只有 `unit`(计量单位)字段,没有计费方式。 + +`billing_type` 只存在于: +- 备品(supplies) +- 增值服务(service) + +活动编辑表单不应该显示"计费方式",请移除该字段。 + +--- + +## 后端已完成的修复(同步告知) + +已修复资源服务 `bindMaterialRefs` 中素材ID解析崩溃问题(URL当数字解析),9个服务文件全部用 `parseLongSafe` 容错处理,正式环境已部署。