文档导航
发布与访问:给谁看、谁能填、公开地址长什么样
表单的状态与上架分享、公开地址与 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:不能。别人的表单只显示「填写」「数据」「复制」,分享、编辑、删除只对属主显示。