From 455b00236a4895c474b8e34fc2458d3aac262e9a Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 13 Apr 2026 15:09:11 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=80=9A=E7=9F=A5=E5=89=8D=E7=AB=AFver?= =?UTF-8?q?sion=E7=89=88=E6=9C=AC=E5=8F=B7=E4=BD=BF=E7=94=A8=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../2026-04-13_product-v2_version_flow.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 changelogs/2026-04/2026-04-13_product-v2_version_flow.md diff --git a/changelogs/2026-04/2026-04-13_product-v2_version_flow.md b/changelogs/2026-04/2026-04-13_product-v2_version_flow.md new file mode 100644 index 0000000..3869066 --- /dev/null +++ b/changelogs/2026-04/2026-04-13_product-v2_version_flow.md @@ -0,0 +1,37 @@ +# 接口使用提醒 — 2026-04-13 + +> **问题**:保存行程/路线/补充信息时报"数据已被其他人修改" +> **原因**:version版本号不匹配 + +--- + +## version版本号使用规则 + +每次保存操作都会让version+1。前端**必须始终使用最新的version**。 + +### 正确流程 + +``` +1. 创建产品(POST /admin/product/item/basic,不传version) + → 返回 productId + → 此时数据库 version=1(创建+保存基础信息各+1) + +2. 获取详情(GET /admin/product/item/{id}) + → 拿到最新 version(如1) + +3. 保存行程(PUT /admin/product/item/{id}/itinerary) + → 传 version=1(从详情拿到的) + → 成功后 version 变成 2 + +4. 保存路线(PUT /admin/product/item/{id}/route) + → 传 version=2 + → 成功后 version 变成 3 + +5. 以此类推... +``` + +### 关键点 + +- **每次保存前先获取详情拿最新version**,或者保存成功后前端本地version+1 +- **不能固定传version=0**,那是创建时的初始值,创建完就变了 +- 版本冲突时前端应提示用户刷新页面重新编辑