feat: 更新产品参数处理逻辑,支持数组格式;修改相关 API 文档;添加产品参数迁移脚本

This commit is contained in:
2026-04-01 15:06:46 +08:00
parent c9c4b4aaf8
commit b97cc6d00f
8 changed files with 480 additions and 97 deletions

View File

@@ -19,7 +19,7 @@
| `prod_list_icon` | `text` | 否 | 产品图标,保存 `tbl_attachments.attachments_id` |
| `prod_list_description` | `text` | 否 | 产品说明editor 内容,建议保存 Markdown 或已净化 HTML |
| `prod_list_feature` | `text` | 否 | 产品特色 |
| `prod_list_parameters` | `json` | 否 | 产品参数JSON 对象/数组) |
| `prod_list_parameters` | `json` | 否 | 产品参数JSON 数组,格式为 `[ { "name": "属性名", "value": "属性值" } ]` |
| `prod_list_plantype` | `text` | 否 | 产品方案 |
| `prod_list_category` | `text` | 是 | 产品分类(必填,单选) |
| `prod_list_sort` | `number` | 否 | 排序值(同分类内按升序) |
@@ -49,7 +49,7 @@
- `prod_list_icon` 仅保存附件业务 ID真实文件统一在 `tbl_attachments`
- 当前预构建脚本中已将 `listRule``viewRule` 设置为空字符串(`""`),对应 PocketBase 的“任何人可查看”。
- `prod_list_parameters` 使用 PocketBase `json` 字段,写入时应直接提交对象/数组,不建议再二次字符串化
- `prod_list_parameters` 使用 PocketBase `json` 字段,写入时应直接提交数组结构:`[{"name":"属性名","value":"属性值"}]`
- `prod_list_description` 作为 editor 内容字段,建议统一为 Markdown 或净化后的 HTML若允许 HTML需在写入前做 XSS 白名单过滤。
- 前端渲染 `prod_list_description` 时应保持和存储格式一致Markdown 渲染器或受控 HTML 渲染),避免直接注入未净化内容。
- `prod_list_basic_price` 使用 `number`,如需货币精度策略建议后续统一为“分”或固定小数位。