跳转到主要内容
文档导航

发布与访问:给谁看、谁能填、公开地址长什么样

表单的状态与上架分享、公开地址与 CDN 刷新、以及表单市场里怎么被找到。

最后更新 2026年9月24日

一句话

一张表单做出来之后要定三件事:它的状态(能不能填)、公开范围(谁能看、谁能填)、以及要不要给它一个公开地址——只有 CDN 内容表单才有公开地址。

在哪打开

状态在编辑器 →「设置」→「基本信息」→「状态」下拉里改。上架与分享在列表卡片上的「分享」按钮里,这个按钮只有属主看得到。公开地址在「设置」→「表单配置」区,选中 CDN 场景后才会出现。别人做的表单在侧边栏「表单市场」里找,顶部有「全部 / 官方 / 共享 / 我的」四个标签。

主要动作

  • 改状态:把状态从「草稿」改成「已发布」→ 结果:这张表单才会出现在表单市场的公开列表里(市场查询固定带上已发布条件)。
  • 上架:打开「公开访问(上架)」开关→ 结果:提示「已更新公开设置」,任何人可浏览表单定义并复制成自己的。
  • 公开数据:打开「公开数据」开关→ 结果:提交数据对所有登录用户可见;它和「公开表单定义」是两件独立的事。
  • 分享给指定的人:填对方邮箱后点「分享」→ 结果:对方进「已分享用户」列表,可逐条撤销。
  • 设公开地址:在「设置」里选 CDN 场景,再填「唯一访问 key(留空则不公开)」→ 结果:下面那行「回源地址:…」即时更新;限制。
  • 复制:市场里别人的表单点「复制」→ 结果:副本归你,且不继承源表单的唯一访问 key。

字段 / 状态说明

名称含义什么时候用
状态草稿 / 已发布 / 暂停 / 作废想让市场收进去就选「已发布」
允许匿名提交「设置」里的开关不想要求填写者登录
唯一访问 key回源地址的末段,留空则不公开只有 CDN 内容表单才有
公开访问(上架)表单定义对所有人可读想被市场里的人找到并复制
公开数据提交数据对所有登录用户可见结果本身就要公示
场景无预设 / CDN / 支付声明这张表单是「投递内容」还是「要收款」

与其它功能的关系

  • 公开地址和 CDN 缓存:发布表单不会自动刷 CDN,唯一的刷新入口是工作流函数 refreshCdn。要「发布后内容立刻更新」,得把 refreshCdn 设计进这张表单的工作流里。
  • 内容读取走的是公开端点 /cdn/{userid}/{key}:无鉴权、直接返回 data 文档本身,带 ETag / Cache-Control / Last-Modified,命中 If-None-Match 返回 304。
  • CDN 内容表单必须打开「数据版本化」,设置里的开关会锁死在开。
  • CDN 服务商的凭据要填在「秘密配置」卡里,那张卡只有属主与获授权者能看,不会对外公开。

限制与注意

  • 只有 CDN 内容表单才有公开地址;普通表单没有网页填写地址,填写是在客户端里点「填写」完成的。
  • refreshCdn 的刷新地址一律看 purge_urls,为空就等于不刷,服务端不会替你推导地址。
  • refreshCdn 的 provider 必须明确写 cloudflare / aliyun / tencent,没有默认值,缺了就报错。
  • 官方(内置)表单的公开地址固定是 https://cdn.banyan.run/official/{key},属主段恒为 official。
  • 未登录访客只能看「全部 / 官方 / 共享」三个标签,切到「我的」会弹登录。
  • 删除表单会连带删掉它的所有提交数据,不可恢复。

常见问题

Q:发布之后 CDN 上的内容为什么没变? A:发布不刷 CDN。要立刻生效,得在工作流里调用 refreshCdn,并且它的 purge_urls 里要有真实地址。

Q:公开地址在哪里看? A:编辑器「设置」→「表单配置」,选了 CDN 场景后,「唯一访问 key」下面那行「回源地址:…」就是。

Q:「上架」和「公开数据」有什么不一样? A:上架公开的是表单定义(别人可以看、可以复制),公开数据公开的是填进来的内容。

Q:市场里别人的表单我能改吗? A:不能。别人的表单只显示「填写」「数据」「复制」,分享、编辑、删除只对属主显示。