Files
Web_BAI_Manage_ApiServer/docs/pb_tbl_cart.md
XuJiacheng cd0373be3c feat: 添加系统刷新令牌请求和用户统计响应的 OpenAPI 规范
feat: 添加微信认证相关的 OpenAPI 规范,包括用户信息、登录请求和个人资料请求

feat: 添加 is_delete 字段迁移脚本,支持在集合中添加软删除字段

feat: 添加软删除规则应用脚本,确保所有相关集合的查询规则包含软删除条件

feat: 添加购物车和订单业务 ID 自动生成的迁移脚本,确保字段类型和自动生成规则正确
2026-04-07 20:02:10 +08:00

3.3 KiB
Raw Blame History

pb_tbl_cart

来源:购物车表需求草图、script/pocketbase.cart-order.js 类型:base 读写规则:微信端原生访问建议仅允许记录所有者访问;当前脚本已按 cart_owner = 当前 token 对应 openid 配置原生 collection 规则,管理后台建议通过 hooks / API 聚合查询

表用途

用于存储购物车商品项明细。

当前结构按“一个购物车商品项一条记录”设计:

  • cart_id 是单条购物车项业务 ID
  • cart_number 是购物车名称 / 分组号,同一购物车下的多条商品项可共用同一个 cart_number
  • cart_owner 用于标识购物车所属用户

字段清单

字段名 类型 必填 说明
id text PocketBase 记录主键
cart_id text 购物车项业务 ID唯一标识
cart_number text 购物车名称 / 分组号,默认可按“用户名+年月日时分秒”生成
cart_create autodate 购物车项创建时间,由数据库自动生成
cart_owner text 生成者 openid约定保存 tbl_auth_users.openid
cart_product_id text 产品 ID建议保存 tbl_product_list.prod_list_id
cart_product_quantity number 产品数量,建议业务侧约束为正整数
cart_status text 购物车状态,建议值:有效 / 无效
cart_at_price number 加入购物车时的价格,用于后续降价提醒或对比
cart_remark text 备注
is_delete number 软删除标记,0 表示未删除,1 表示已删除,默认 0

索引

索引名 类型 说明
idx_tbl_cart_cart_id UNIQUE INDEX 保证 cart_id 唯一
idx_tbl_cart_cart_number INDEX 加速按购物车名称 / 分组号查询
idx_tbl_cart_cart_owner INDEX 加速按所属用户查询
idx_tbl_cart_cart_product_id INDEX 加速按产品查询
idx_tbl_cart_cart_status INDEX 加速按购物车状态过滤
idx_tbl_cart_cart_create INDEX 加速按购物车项创建时间倒序查询
idx_tbl_cart_owner_number INDEX 加速同一用户下按购物车分组查询
idx_tbl_cart_owner_status INDEX 加速查询某用户的有效购物车项

补充约定

  • cart_ownercart_product_id 当前按文本字段保存业务 ID不直接建立 relation便于兼容现有 hooks 业务模型。
  • cart_owner 统一保存 tbl_auth_users.openid,便于直接使用微信登录返回 token 做原生访问控制。
  • is_delete 用于软删除控制,购物车项删除时建议优先标记为 1
  • 集合默认查询规则已内置 is_delete = 0,常规列表/详情不会返回已软删除数据。
  • cart_product_quantitycart_at_price 使用 number,数量正整数与价格精度建议在 hooks / API 层统一校验。
  • 当购物车被清空时,建议业务侧将历史记录 cart_status 置为 无效,而不是直接覆盖有效记录。
  • cart_create 由数据库自动写入,接口层不需要也不应允许客户端自行填值。
  • PocketBase 系统字段 createdupdated 仍然存在,只是不在 collection 字段清单里单独声明。