反馈
使用基于情感的交互式小部件收集用户反馈并创建 GitHub Issues
反馈功能允许阅读者通过交互式小部件分享他们对文档页面的看法。反馈会自动以 issues 的形式发布到集中管理的 GitHub 仓库,便于跟踪、标记和响应用户输入。
工作原理
反馈小部件会显示在每个文档页面的目录侧边栏中。当用户点击“提供反馈”时,他们可以:
- 撰写他们的反馈信息
- 选择表示其体验的情感(🤩、🙂、😕、😭)
- 可选地提供他们的姓名和电子邮件
- 提交他们的反馈
反馈工作流
当反馈被提交时:
- 反馈会根据 JSON 模式进行验证
- 在配置的反馈仓库中创建一个新的 GitHub Issue
- 根据情感、主题和其他元数据自动应用标签
- 用户详情和元数据被格式化为结构化的 markdown 表格
每条反馈都会创建一个单独的 issue,便于单独跟踪和解决。
反馈架构
API 接受以下字段:
| Field | Type | Required | Max Length | Description |
|---|---|---|---|---|
note | string | 是 | 16,384 | 反馈消息 |
url | string | 否 | 1,024 | 提交反馈的页面 URL |
emotion | string | 否 | 1 | 表示用户情感的表情符号 |
topic | string | 否 | 1,024 | 反馈主题/类别 |
name | string | 否 | 1,024 | 用户姓名 |
email | string | 否 | 1,024 | 用户电子邮件 |
ua | string | 否 | 256 | 用户代理字符串 |
label | string | 否 | 64 | 用于 issue 的自定义标签 |
thumbs | string | 否 | 4 | 赞成/反对 指示器 |
reason | string | 否 | 10 | 不赞成的原因 |
plan | string | 否 | 10 | 用户的计划类型 |
附加字段会作为元数据被捕获并显示在 issue 正文中。
功能
自动标记
Issues 会根据以下内容自动添加标签:
- 情感:
emotion-amazed,emotion-happy,emotion-sad,emotion-cry - 主题:
topic-{topic-name} - 计划:
{plan}-plan - 赞/踩:
thumbs-up,thumbs-down - 原因:
reason-{reason}(用于不赞成) - 自定义标签: 通过
label字段传入的任何标签 - 默认标签:
unresolved,vercel-site
结构化的 Issue 正文
每个 issue 包含格式化的 markdown 正文,包含:
- 反馈内容
- 提交反馈的页面 URL
- 用户详情表(电子邮件、上下文、IP、用户代理)
- 用于任何附加字段的元数据表
元数据支持
在请求正文中传递任何附加字段,它们将被作为元数据捕获并显示在 issue 的单独表格中。这允许你包含:
- 用户 ID
- 功能开关
- 实验分组
- 自定义跟踪数据