反馈人身份
我们推荐您在配置Web SDK时,将** 反馈人身份 **一并进行配置,这样您就可以在提交时看到反馈人信息。避免出现Debug时无法找到反馈人的情况。
SDK 跑在访客的浏览器里,读不到你服务端的登录态;BugCapturer 也刻意不读你站点的 Cookie 去「猜」身份。所以身份要由页面显式传给 SDK——按你的页面类型二选一。
方式一:服务端渲染页面(模板里直接填)
Section titled “方式一:服务端渲染页面(模板里直接填)”出 HTML 时服务端就知道用户是谁,在接入代码里填上即可(${...} 换成你模板引擎的写法):
<script> window.BugCapturerConfig = { key: "bcpk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", reporter: { uid: "${user.id}", name: "${user.name}", email: "${user.email}" } };</script><script src="https://api.bugcapturer.com/sdk/bugcapturer.js" async></script>方式二:SPA / 前端渲染页面(登录后调用)
Section titled “方式二:SPA / 前端渲染页面(登录后调用)”用户信息在前端状态里,登录成功后调用 identify():
function identifyReporter(user) { if (!user) return; var apply = function () { BugCapturer.identify({ uid: user.id, name: user.name, email: user.email }); }; if (window.BugCapturer && BugCapturer.ready) BugCapturer.ready(apply); // SDK 已加载 else window.addEventListener('bugcapturer:ready', apply, { once: true }); // SDK 还没加载完}
// 登录成功后调用;切换账号后再调一次(后调用的覆盖前一次)identifyReporter(currentUser);React / Vue 里把这一句放进登录后的钩子(useEffect / 路由守卫)就行,帮助函数本身不用改。
字段上限:uid ≤ 64、name ≤ 100、email ≤ 254 字符;三项至少填一项才算已识别,超长或格式不合法的值会被自动忽略、不会卡住提交。三项都留空即匿名提交——此时可在项目设置里开启「联系方式必填」,让匿名访客留下邮箱或其他联系方式。
- 打开已接入的页面并登录,点悬浮球:编辑器顶部应显示「✓ 以 xxx 身份提交」,而不是「匿名提交」
- 提交一条测试报告,到「反馈记录」或绑定的多维表格里确认「反馈人」「反馈人邮箱」两列已填充(列名即这两列;用自建应用方式接入表格时会自动创建)
如果始终显示匿名,依次检查:① identify() 是否在登录之后调用;② 浏览器控制台执行 window.BugCapturer 是否有返回;③ 传入的值是否是非空字符串;④ 表格里是否有上面那两列(缺列不会报错,只是不显示)。更多见 SDK 与插件排错。
这样做的好处
Section titled “这样做的好处”- 定位到人,不用猜 —— 报告直接带着提出人的姓名与邮箱,排查时可以回问具体细节,不用在群里挨个问「这是谁提的」
- 少一步操作,提交率更高 —— 身份已知时表单不再要求填联系方式,反馈人点一下就能提交
- 多人 / 多账号环境可追溯 —— 内部系统、SaaS 后台这类多人登录的场景,报告能准确归到具体账号
- 插件汇入同样受益 —— 测试者用插件在已接入的页面上提交时,插件会读取页面暴露的身份作为「站点反馈人」一起带上;不希望暴露的页面可设
exposeReporter: false,报告照常送达,只是不带这层身份
会带上当前页地址与标题,直接提交给文档维护者