Skip to content

协作功能 ​

SmartTable 提供完善的协作与分享能力,支持团队成员在同一 Base 中协同工作,并通过权限控制保障数据安全。

实时协作编辑 ​

当管理员启用实时协作功能后,多人可以同时编辑同一个数据表:

  • 在线状态:查看当前正在编辑同一表格的成员及其光标位置。
  • 视图同步:实时同步其他成员的视图切换和滚动位置。
  • 单元格锁定:正在编辑的单元格自动锁定,防止多人同时编辑造成冲突。
  • 冲突检测:基于乐观锁检测编辑冲突,并在冲突发生时提示处理。
  • 离线队列:断网时操作自动缓存在本地,重新连接后按顺序重放。
  • 优雅降级:当 WebSocket 连接不可用时,自动切换为普通 HTTP 模式。

启用实时协作

实时协作功能基于 WebSocket 实现,默认不启用。管理员可通过启动参数 --enable-realtime 或设置环境变量 ENABLE_REALTIME=true 开启。

成员与权限 ​

Base 成员角色 ​

SmartTable 基于 RBAC 模型提供五种 Base 级别角色:

角色权限说明
所有者(Owner)拥有 Base 的完全控制权限,包括删除 Base。
管理员(Admin)拥有管理权限,除删除 Base 外可执行大部分操作。
编辑者(Editor)可以添加、修改和删除记录。
评论者(Commenter)可以查看数据并添加评论。
查看者(Viewer)只能查看数据,无法编辑。

成员管理 ​

Base 所有者或管理员可以:

  1. 点击 Base 右上角的「共享」或「成员管理」按钮。
  2. 输入成员的邮箱或用户名。
  3. 选择对应的角色。
  4. 发送邀请。

转移所有权 ​

Base 的所有权支持转移给其他用户,适用于工作交接、组织调整等场景。仅 当前所有者 可以执行转移操作:

  1. 打开成员管理弹窗,在成员列表的所有者行点击「转移所有权」按钮。
  2. 在弹窗中按姓名或邮箱搜索并选择目标用户(可以不是当前 Base 成员)。
  3. 选择转移后原所有者的处理方式:
    • 保留我的协作权限:从管理员 / 编辑者 / 评论者 / 查看者中选择一个角色,转移后原所有者降级为该角色。
    • 不保留我的协作权限:转移后原所有者立即失去对该 Base 的所有访问权限。
  4. 点击「转移」完成操作。

转移完成后:

  • 目标用户立即成为新的所有者,拥有完全控制权限(包括再次转移所有权、删除 Base)。
  • 原所有者按转移时的配置降级为指定角色或移除协作权限。
  • 双方都会收到站内信与邮件通知。

谨慎操作

所有权转移即时生效且不能撤销,如需收回需要新所有者再次转移。选择「不保留我的协作权限」后,您将立即失去对该 Base 的访问能力,请确认后再执行。

分享功能 ​

Base 分享

Base 分享 ​

通过链接将 Base 分享给团队成员或外部用户:

  1. 点击「共享」按钮。
  2. 开启「链接分享」。
  3. 设置访问权限(公开 / 私有 / 密码保护)。
  4. 复制链接分享给他人。

数据表分享 ​

除 Base 级分享外,还可以将单个数据表通过链接分享给他人。接收者无需加入整个 Base,即可访问该表,适合仅需共享部分数据的场景。

开启分享与配置 ​

  1. 打开目标数据表,点击视图切换器旁的「分享」按钮(仅 Base 所有者/管理员可见)。
  2. 在「分享数据表」弹窗中点击「开启分享」,系统生成专属链接。
  3. 复制链接发送给对方。

分享配置项:

配置说明
谁可以加入加入者获得的权限:编辑者 / 评论者 / 查看者。
视图范围「所有视图」,或限定为「指定视图」(可多选)。
有效期永久有效、7 天、30 天或自定义过期时间,过期后链接自动失效。

分享链接支持随时「停用 / 启用」,停用后已生成的链接立即失效;弹窗中还会展示累计访问次数。点击「删除」将永久删除该分享链接,所有已加入用户立即失去访问权限。

用户加入与访问 ​

  • 用户打开分享链接后会看到落地页,展示数据表名称、所属 Base 与包含的视图,点击「进入表格」即可加入。
  • 加入成功后,该表会自动出现在用户的「首页」表格列表与「分享-分享给我的」列表中,之后可直接从列表打开,无需再次使用链接。
  • 仅通过表分享加入的用户为「受限访问」:只能访问被分享的数据表及其可见视图,无法查看 Base 内其他数据表,Base 级管理功能(成员管理、插件等)对其不可用。

管理已加入的用户 ​

「分享数据表」弹窗下方的「已加入的用户」列表展示所有通过链接加入的用户(头像、名称、邮箱与加入时间):

  • Base 所有者或管理员可点击用户行尾的「移除」按钮,二次确认后将其移出分享,回收其对该表的全部访问权限。
  • 不能移除自己;无权限的用户无法执行移除操作。
  • 移除成功后,该用户会立即从成员列表与其「分享给我的」列表中消失,并失去访问权限;若分享链接仍处于启用状态且未过期,对方仍可通过原链接重新加入。

与 Base 分享的关系

数据表分享与 Base 分享相互独立。被分享人无需加入 Base 即可访问单个数据表;若其后续被添加为 Base 成员,则自动按成员角色访问,不再受表分享限制。

表单分享 ​

表单分享

表单视图可生成公开链接,用于数据收集:

  • 无需登录即可提交数据。
  • 支持配置提交选项,如每人限提交次数、验证码、有效期等。
  • 创建分享后可通过 复制链接 或 二维码 两种方式发送给他人。
  • 二维码弹窗展示分享者名称、分享标题和二维码图片,支持下载 PNG,适合打印或线下活动使用。
  • 「已分享表单」列表中每条记录同时提供复制链接和二维码按钮。

仪表盘分享 ​

仪表盘可生成公开链接:

  • 支持实时数据展示。
  • 可嵌入外部网站使用。

记录评论与 @提及 ​

SmartTable 支持在记录内直接展开讨论:团队成员可针对单条记录发表评论、回复他人形成讨论、使用 @ 提及相关成员,并关注重要记录以接收更新提醒。评论位于记录详情抽屉顶部的「评论」页签中。

功能概览 ​

  • 记录评论:在记录详情中查看与发表评论,支持分页与按时间排序。
  • 回复讨论:可回复任意评论,形成层级讨论树。
  • @提及:评论中通过 @成员名称 提及可访问该记录的成员,被提及者会收到通知。
  • 关注记录:关注某条记录后,该记录产生新评论时会收到通知。
  • 通知提醒:@提及、被回复、关注的记录有新评论时,通过站内信与邮件提醒(可在「通知设置」中分别配置)。

逐步操作请参阅《评论与 @提及 使用手册》。

谁能评论 ​

评论权限跟随 Base 成员角色与表分享角色:

角色读评论发表评论编辑/删除自己的评论删除任意评论
所有者 / 管理员✅✅✅✅
编辑者✅✅✅✅
评论者✅✅✅—
查看者✅———

通过数据表分享加入的「受限访问」用户,按其加入时获得的角色(编辑者 / 评论者 / 查看者)享有对应权限。

通知设置 ​

评论相关通知可在个人「通知设置」中分别开启或关闭(默认全部开启):

  • 被 @提及时通知:评论中提及你时提醒。
  • 被回复时通知:有人回复你的评论时提醒。
  • 记录有新评论时通知:你关注的记录产生新评论时提醒。

通知采用「站内信优先」策略:先写入站内消息,若部署了邮件服务则同时发送邮件。其他通知类型详见《站内信通知》。

安全与审计 ​

  • 操作日志:记录 Base 内的关键操作,便于审计。
  • 请求追踪:请求 ID 全链路追踪,统一错误处理。
  • 本地缓存:协作状态、认证信息和系统配置缓存,减少重复请求。

相关链接 ​

Released under the MIT License.