You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GraphQL查询返回随机28个商品而非默认前28个?

解决方案

你使用的是Shopify GraphQL API的话,只需要在products查询参数中添加sortKey: RANDOM即可实现从符合筛选条件的商品池中随机返回指定数量的商品,修改后的查询如下:

query productFetch($first: Int, $after: String, $query: String, $randomSeed: Int) {
  products(first: $first, after: $after, query: $query, sortKey: RANDOM, seed: $randomSeed) {
    edges {
      node {
        priceRange {
          minVariantPrice {
            amount
            currencyCode
          }
        }
        title
        images(first: 1) {
          edges {
            node {
              transformedSrc(maxWidth: 300)
            }
          }
        }
      }
      cursor
    }
    pageInfo {
      hasNextPage
    }
  }
}

调用注意事项

  • 调用时传入first: 28即可直接拿到符合你筛选条件的28个随机商品,不需要改动原有筛选逻辑
  • 新增的$randomSeed是可选参数:如果你希望每次请求都返回不同的随机商品集合,每次调用时传入一个随机生成的整数作为randomSeed的值即可;如果需要固定随机排序(比如同一会话内展示相同的随机列表),传入固定的seed值即可
  • 如果你不需要分页功能,可以直接删除$after参数和返回结果中的cursor、pageInfo相关字段,精简查询

如果是其他厂商的GraphQL商品查询API,没有内置的随机排序参数,可以先查询符合筛选条件的所有商品ID,在前端/后端随机抽取28个ID后,再批量查询这28个商品的详情即可。

内容的提问来源于stack exchange,提问作者Huma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 16:36:03