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

关于Banno插件深度链接至展开视图及动态传参的技术咨询

问题解答

1. 邮件深度链接至Banno插件展开视图的可行性

可行。Banno支持通过自定义URL scheme实现直接跳转至插件的展开视图,核心是构造符合规范的链接格式:

  • 基础链接结构:banno://plugin/{你的插件ID}/expand
  • 若需指定特定视图或携带状态,可附加query参数,例如:banno://plugin/{你的插件ID}/expand?view=transaction-detail&txnId=456
  • 关键注意点:
    • 确认目标邮件客户端支持banno://这类自定义URL scheme,主流现代客户端都支持,但建议测试老旧版本兼容性
    • 需在Banno开发者平台为插件配置对应深度链接路由,确保插件收到参数后能正确渲染展开视图

2. JH Dashboard向插件扩展动态传递参数(queryParams)

支持动态传参,无需局限于扩展设置的静态配置,以下是具体实现方案:

方案一:通过Dashboard导航API直接传参

在JH Dashboard中调用Banno导航方法时,直接附加动态生成的参数:

// 示例:从Dashboard跳转插件并传递动态参数
Banno.Navigation.navigateToPlugin({
  pluginId: 'your-target-plugin-id',
  expand: true, // 直接打开插件展开视图
  queryParams: {
    dynamicUserId: currentActiveUser.id,
    timestamp: Date.now()
  }
});

方案二:插件初始化钩子接收参数

插件端在初始化阶段获取传递的参数:

// 插件侧代码:获取并使用动态参数
Banno.Plugins.initialize().then((context) => {
  const receivedParams = context.queryParams;
  // 根据参数渲染对应内容
  loadUserSpecificData(receivedParams.dynamicUserId);
});

方案三:全局状态共享(进阶场景)

如果需要传递更复杂或实时更新的数据,可利用Banno的全局状态机制:

// Dashboard侧:设置全局状态数据
Banno.State.set('pluginDynamicData', { filter: 'monthly', status: 'active' });

// 插件侧:监听状态变化并响应
Banno.State.onChange('pluginDynamicData', (updatedData) => {
  refreshPluginContent(updatedData);
});

额外注意事项

  • 敏感参数需通过Banno加密API处理后再传递,避免明文传输风险
  • 确保Dashboard和插件使用的Banno SDK版本一致,避免API兼容性问题

内容的提问来源于stack exchange,提问作者rl.spiral

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 18:53:12