SuperAPI AI 工具集

frontend-query-mutation

前端与建站

查看项目

更新于 10-15 23:48

技能介绍

用途:这是 Dify 前端查询(query)与变更(mutation)的统一实现入口,用于在 web/contract/* 中创建或更新契约时,指导如何用 TanStack Query 与 oRPC 组织数据获取与写入逻辑。

主要能力与约定:以 contract 作为唯一数据源;优先使用契约形态的 queryOptions() 与 mutationOptions();通过 consoleQuery/marketplaceQuery 保持默认缓存行为;当直接调用契约不足以表达业务编排时,才在 feature vertical hooks 中处理;将 web/service/use-* 的查询或变更包装视为旧代码迁移目标,而非首选写法;保持抽象最小化以保留 TypeScript 类型推断。

使用方式:先确定改动范围,阅读 references/contract-patterns.md(契约文件、路由组合、客户端辅助函数、调用点形态)与 references/runtime-rules.md(条件查询、默认选项、缓存更新与失效、错误处理、旧代码迁移);任务同时涉及契约形态与运行时行为时两者都读。实现时默认在调用点直接使用 useQuery(...) 或 useMutation(...) 配合 oRPC 辅助函数;仅当多个调用点共享相同额外选项时才抽取小型共享查询辅助函数;仅对真正的编排或共享领域行为保留 feature hooks。契约输入保持 { params, query?, body? } 形态;在 createTanstackQueryUtils(...experimental_defaults...) 中绑定默认缓存更新与失效;优先使用 mutate(...),仅在需要 Promise 语义时使用 mutateAsync(...)。

常见涉及文件:web/contract/console/.ts、web/contract/marketplace.ts、web/contract/router.ts、web/service/client.ts、迁移中的旧 web/service/use-.ts,以及使用 consoleQuery 或 marketplaceQuery 的组件与 hook 调用点。

限制:资料未提供具体安装命令、版本要求、收费或平台信息;详细规则应保留在参考文件中,而非在项目文档中重复。