在安企CMS中,如果您管理着商品类型的文档,并且需要获取这些商品的具体价格(price)和库存量(stock)信息,其实是非常直接和方便的。安企CMS的设计考虑到了这类需求,将这些关键数据作为文档的核心属性之一,您可以通过几个核心接口轻松获取。
获取单个商品文档的价格与库存信息
当您需要查看某个特定商品的价格和库存时,安企CMS提供了 archiveDetail 接口。这个接口专门用于检索单个文档的所有详细信息。
您只需传入商品的唯一标识,可以是文档的 ID 或其 URL 别名(filename)。例如,如果您要获取 ID 为 123 的商品详情,可以这样调用:
{域名地址}/api/archive/detail?id=123
在接口返回的数据中,您会发现 data 对象里直接包含了 price 和 stock 字段。这些字段清晰地展示了该商品的定价和当前库存。
值得注意的是,price 字段返回的数值是以“分”为单位的整数。这意味着,如果一个商品的价格是100元,那么 price 字段的值将是10000。在您的前端应用或任何需要展示价格的地方,请务必进行相应的除以100的转换,以便显示为用户熟悉的元为单位的价格。stock 字段则直接表示商品的库存数量,是整数值。
批量获取商品列表的价格与库存信息
如果您的场景是需要在商品列表页展示多个商品的价格和库存,例如在产品分类页或者搜索结果页,那么 archiveList 接口是您的首选。这个接口能够帮助您高效地获取一批文档的数据。
使用这个接口时,为了精确获取商品类型的数据,通常建议您通过 moduleId 参数来指定商品模型 ID。安企CMS允许您为不同类型的内容创建不同的模型,商品通常会有其独立的模型。例如,如果您的商品模型 ID 是2,就设置 moduleId=2。这样,接口只会返回属于商品模型的文档。
这个接口的强大之处在于它支持多种筛选和排序方式。您可以根据 categoryId 筛选特定分类下的商品,或者通过 limit 参数限制返回数量,甚至可以通过 type=page 参数实现分页展示,并获取总商品数量。无论您如何筛选,archiveList 接口返回的 data 数组中的每个文档对象,都会清晰地包含 price 和 stock 这两个字段。
例如,获取商品模型ID为2的前10个商品列表,您可以这样请求:
{域名地址}/api/archive/list?moduleId=2&type=page&limit=10
在返回的 data 数组中,您只需遍历每个商品对象,就能轻松获取到它们各自的价格和库存了。同样,这里获取到的 price 字段也都是以“分”为单位的,在展示时需要进行相应的转换。
总的来说,安企CMS在处理商品类型文档的价格和库存信息方面,提供了直观且易用的接口设计。无论是获取单个商品的详细数据,还是批量展示商品列表,您都可以通过 archiveDetail 或 archiveList 接口高效、准确地获取所需信息,并结合“单位分”的特性进行合理展示。
常见问题解答 (FAQ)
Q1: price 字段返回的数值为什么是0,而不是我设置的实际价格?
A1: 安企CMS的 price 字段存储的是以“分”为单位的整数。如果您在后台设置商品价格时,例如输入了“99”代表99元,系统可能将其直接识别为99分。请检查您在后台设置价格的方式,确保输入的是以“分”为单位的数值(例如,9900代表99元),或者确认您的商品模型是否正确配置了价格字段。
Q2: 我如何知道我的“商品类型”文档对应的 moduleId 是多少?
A2: 您可以通过调用 api/module/list 接口来获取安企CMS中所有文档模型的列表。在返回的数据中,找到您的商品模型(通常 title 字段会是“产品中心”、“商品”或类似名称),其对应的 id 就是您需要的 moduleId。在获取商品列表时,指定正确的 moduleId 可以确保您获取到的是商品数据。
Q3: 如果商品库存为0,stock 字段会是什么?我该如何判断商品是否售罄?
A3: 即使商品库存为0,stock 字段仍然会返回其当前值,即 0。这意味着您可以通过直接判断 stock 字段的值来确定商品的库存状态。如果 stock 的值等于0,通常就意味着该商品已经售罄。您可以根据这个值在前端页面上展示“售罄”或禁止购买等提示。