SuperAPI AI 工具集

shopify-functions

编程与开发

查看项目

更新于 10-16 05:47

技能介绍

用途:该指南面向使用 Shopify Functions 创建后端逻辑(折扣、运费、支付等)的开发者。Shopify Functions 编译为 WASM,运行在 Shopify 基础设施上,延迟极低,是 Shopify Scripts(Plus)的继任者。

主要能力:确定性执行——相同输入始终得到相同输出,不允许随机数或网络调用;执行时间有严格限制(逻辑约 5ms);语言支持 Rust(第一类支持)或 JavaScript(通过 Javy)。一个 Function 由 shopify.extension.toml(配置)、input.graphql(定义传入数据)、src/run.rs 或 .js(返回 Output 的逻辑)组成。

使用方式:生成扩展,命令为 shopify app generate extension --template product_discounts --name my-discount;修改 input.graphql 请求所需数据(Cart、Customer 等);运行 shopify app function typegen 依据 GraphQL 查询生成类型;实现 run 函数;用 npm run build 编译为 .wasm;用 shopify app deploy 部署。JS 示例中 run(input) 根据购物车行标签筛选目标并返回折扣结果与 discountApplicationStrategy。

调试:WASM 中无法 console.log,可通过 Shopify App Bridge 辅助工具或本地 GraphiQL 浏览器调试输入输出;运行 npm run dev 后打开终端提示的 GraphiQL URL。

限制:执行确定性与时间限制严格;资料未提供收费、价格等信息。