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

Buildfire navigateTo跳转付费插件时queryString丢失问题咨询

问题原因

付费插件的权限校验重定向逻辑默认不会透传query参数,Buildfire近期对付费插件的权限校验逻辑做了迭代,之前默认透传query的规则被修改,所以会出现你之前功能正常、现在参数丢失的情况,和你本地的导航代码无关。

解决方案

方案1(官方推荐,最稳定)

使用Buildfire内置的导航状态state传递参数,该参数存储在平台的导航上下文里,不会被重定向逻辑抹除:

  • 跳转侧代码修改为:
buildfire.navigation.navigateTo({
     pluginId: pluginId,
     instanceId: recipe.instanceId,
     state: { recipeId: recipe.recipeId },
});
  • 目标插件侧取参数:
buildfire.navigation.getState((err, state) => {
  if (err) return console.error('获取导航参数失败', err);
  if (state?.recipeId) {
    // 执行你的自定义逻辑,直接定位到对应recipe条目
  }
});

方案2(保留queryString的场景)

进入付费插件的实例配置页,找到「权限校验重定向保留参数」的开关,开启后平台会自动在权限校验通过后的重定向请求里带上原始query参数,不需要修改现有代码。

方案3(兜底方案)

如果前两个方案都不适用,可以用平台本地存储做临时中转:

  • 跳转前存储参数:buildfire.localStorage.setItem('nav_recipeId', recipe.recipeId)
  • 目标插件初始化时取参数,用完删除避免后续冲突:
const recipeId = buildfire.localStorage.getItem('nav_recipeId');
if (recipeId) {
  buildfire.localStorage.removeItem('nav_recipeId');
  // 执行对应逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:36:01