SuperAPI AI 工具集

shopify-app-api-patterns

编程与开发

查看项目

更新于 10-16 01:14

技能介绍

用途:在 Shopify Remix 应用中构建与后端通信的前端功能,包括新增需从 Shopify 或数据库取数的页面、创建提交数据的表单、使用 useFetcher 做客户端数据操作、在路由中处理已认证会话,以及为应用扩展或外部服务构建 API。

主要能力:用 loader 取数(authenticate.admin 获取 session 与 admin,再调用 admin.graphql 或 Prisma 查询,支持 URL 参数与 404 处理);用 action 处理变更(读取 formData、按 intent 分支、upsert 数据、返回成功或错误状态);用 useFetcher 做不触发导航的内联更新与开关;构建面向扩展或外部服务的 API 路由,以及处理 Webhook 等公开端点。会话方面可从 authenticate.admin 获取 session.shop、accessToken、scope,并可检查 scope 是否满足要求。

使用方式:路由遵循 Remix 文件约定,如 app._index.tsx、app.settings.tsx、app.campaigns.$id.tsx、api.widget-config.tsx、webhooks.tsx;认证统一使用 authenticate.admin(request),Webhook 使用 authenticate.webhook(request)。

适用场景:Shopify 管理后台内嵌 iframe 应用的前后端数据流、表单与内联操作、扩展配置接口、Webhook 回调。

限制与最佳实践:所有应用路由都应认证;按 ID 查询时须用 session.shop 过滤以校验归属;变更只在 action 中进行,不在 loader 中写入;用 navigation.state 或 fetcher.state 处理加载状态;返回正确 HTTP 状态码;用 useLoaderData<typeof loader>() 获得类型安全;校验并白名单输入字段,避免将原始请求体直接写入数据库以防批量赋值。资料未提供具体收费、价格或平台支持范围。