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

如何在Slack应用拉取数据时在App Home显示加载圈?

Slack App Home 加载状态实现方案

核心实现逻辑是通过两次调用view.publishAPI完成状态切换,无需依赖Slack官方未公开的特殊接口

实现步骤

  • 第一步:接收到app_home_opened事件后,不要等待数据拉取逻辑执行,立刻调用第一次view.publish,发布提前预制好的加载态视图。
    加载态视图可以使用image块嵌入加载动图,搭配section块放置提示文本即可,示例结构参考:
    {
      "type": "home",
      "blocks": [
        {
          "type": "section",
          "text": {
            "type": "mrkdwn",
            "text": "*正在加载内容,请稍候...*"
          },
          "accessory": {
            "type": "image",
            "image_url": "自行托管的加载圈GIF资源地址",
            "alt_text": "加载中"
          }
        }
      ]
    }
    
    建议提前把加载态视图的JSON结构预存在服务端,收到事件直接调用接口,尽可能压缩第一次调用的响应延迟,保证用户点开App Home瞬间就能看到加载状态。
  • 第二步:后台异步执行数据拉取、视图拼装逻辑,所有准备工作完成后,调用第二次view.publish,用最终的业务视图直接覆盖之前的加载态视图即可。

额外优化提示

  • 如果数据拉取过程中出现异常,第二次调用可以直接渲染错误提示视图,引导用户刷新重试,避免一直停留在加载状态。
  • 加载动图建议控制在24x24像素以内,文件体积尽量压缩,避免动画本身加载过慢影响体验。
  • 如果你的业务数据拉取耗时普遍低于300ms,可以省略加载态,避免出现视图闪烁的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:09:07