feat: 添加购物车相关迁移和索引功能

- 在 package.json 中添加迁移脚本 `migrate:cart-active-unique-index`。
- 修改 `pocketbase.cart-order.js` 文件,更新 `cart_id` 和 `cart_product_id` 字段的必填属性,并添加唯一索引 `idx_tbl_cart_owner_product_active_unique`。
- 在 `pocketbase.ensure-cart-order-autogen-id.js` 中,调整 `cart_id` 字段的必填属性为可选,并确保 `order_id` 字段为必填。
- 在 `pocketbase.product-list.js` 中,新增 `prod_list_barcode` 字段。
- 新增 `make-openapi-standalone.cjs` 脚本,用于处理 OpenAPI 文档。
- 新增 `pocketbase.cart-active-unique-index.js` 脚本,处理购物车的唯一索引和去重逻辑。
This commit is contained in:
2026-04-09 14:49:12 +08:00
parent 0bdaf54eed
commit ec6b59b4fa
29 changed files with 1240 additions and 6449 deletions

View File

@@ -1,5 +1,17 @@
openapi: 3.1.0
info:
title: BAI PocketBase Native API - Documents
version: 1.0.0
description: |
PocketBase 原生 `tbl_document` records API 文档。
本文件可单独导入使用,不依赖其他 YAML。
servers:
- url: https://bai-api.blv-oa.com
description: 生产环境
- url: http://localhost:8090
description: PocketBase 本地环境
paths:
documentRecords:
/pb/api/collections/tbl_document/records:
get:
operationId: getPocketBaseDocumentRecords
tags:
@@ -57,7 +69,7 @@ paths:
- 例如:`document_type ~ "DICT-1774599144591-hAEFQj" && document_type ~ "@UT1"`
schema:
type: string
example: document_type ~ "DICT-1774599144591-hAEFQj" && document_type ~ "@UT1"
example: 过滤表达式|string
- name: page
in: query
required: false
@@ -84,14 +96,14 @@ paths:
- `-document_create`:按最新上传倒序返回
schema:
type: string
example: -document_create
example: 排序表达式|string
responses:
"200":
description: 查询成功
content:
application/json:
schema:
$ref: ../openapi-wx.yaml#/components/schemas/PocketBaseDocumentListResponse
$ref: #/components/schemas/PocketBaseDocumentListResponse
example:
page: page|integer
perPage: perPage|integer
@@ -135,7 +147,7 @@ paths:
content:
application/json:
schema:
$ref: ../openapi-wx.yaml#/components/schemas/PocketBaseNativeError
$ref: #/components/schemas/PocketBaseNativeError
example:
code: 业务状态码|integer
message: message|string
@@ -146,7 +158,7 @@ paths:
content:
application/json:
schema:
$ref: ../openapi-wx.yaml#/components/schemas/PocketBaseNativeError
$ref: #/components/schemas/PocketBaseNativeError
example:
code: 业务状态码|integer
message: message|string
@@ -157,7 +169,7 @@ paths:
content:
application/json:
schema:
$ref: ../openapi-wx.yaml#/components/schemas/PocketBaseNativeError
$ref: #/components/schemas/PocketBaseNativeError
example:
code: 业务状态码|integer
message: message|string
@@ -289,15 +301,15 @@ components:
document_share_count:
type: number
description: 分享次数
example: 0
example: 分享次数|number
document_download_count:
type: number
description: 下载次数
example: 0
example: 下载次数|number
document_favorite_count:
type: number
description: 收藏次数
example: 0
example: 收藏次数|number
document_embedding_status:
type: string
description: 文档嵌入状态
@@ -360,8 +372,8 @@ components:
document_remark: 备注|string
PocketBaseDocumentRecord:
allOf:
- $ref: ../openapi-wx.yaml#/components/schemas/PocketBaseRecordBase
- $ref: ../openapi-wx.yaml#/components/schemas/PocketBaseDocumentFields
- $ref: #/components/schemas/PocketBaseRecordBase
- $ref: #/components/schemas/PocketBaseDocumentFields
example:
id: PocketBase 记录主键|string
collectionId: collectionId|string
@@ -427,7 +439,7 @@ components:
items:
type: array
items:
$ref: ../openapi-wx.yaml#/components/schemas/PocketBaseDocumentRecord
$ref: #/components/schemas/PocketBaseDocumentRecord
example:
page: page|integer
perPage: perPage|integer