@arantic/bugpin-widget

中文文档
1.1.5发布于 2026/10/24MITTypeScriptESM + CJS近 30 天下载 3065

可嵌入可视化的错误报告部件 - 抓取截图、注释问题并提交错误报告

中文使用文档
文档目录21 节
  1. 特征
  2. 安装
  3. 使用量
  4. 配置
  5. 需要的选项
  6. 选项
  7. 预填报器细节
  8. 隐私和诊断捕捉
  9. 语言
  10. 框架实例
  11. 反应 / Vite
  12. 下一个.js
  13. Vue / 坚果
  14. 角质
  15. 类型脚本 / Vanilla Java 脚本
  16. .NET / 布拉佐尔
  17. 环境变量
  18. 获取您的 API 密钥
  19. 文档
  20. 许可证
  21. 支助

BugPin 部件

可嵌入可视化错误报告网络应用程序的部件 。 抓取截图,注释问题,并易地提交错误报告.

特征

  • 截图抓取 - 全页或可见区域
  • 注释工具 - 绘制、突出显示、模糊并添加文字
  • 隐私第一 - 自动托管,您的数据留在您的服务器上
  • 可自定义 - 配合你的品牌颜色和风格
  • 轻巧 - 小于175KB克齐普
  • 黑暗模式 - 自动主题检测
  • 响应 - 所有设备的工程
  • 多语言 - 翻译成8种语文(英文、德文、法文、荷兰文、西班牙文、意大利文、日文、简化中文),自动检测来自 <html lang> 或访问者的浏览器
  • 框架不可知论 - 与React、Vue、Angular、Svelte、.NET等合作

安装

npm install @arantic/bugpin-widget

使用量

import BugPin from '@arantic/bugpin-widget';

BugPin.init({
  apiKey: 'your-project-api-key',
  serverUrl: 'https://your-bugpin-server.com',
});

从1.1.3版本开始, BugPin.init() 向配置的 BugPin 报告软件包版本 服务器可以让管理员看到兼容性警告。 托管 /widget.js 整合没有 发送软件包元数据.

配置

该部件根据您的 API 密钥自动从 BugPin 服务器获取配置 。 所有视觉设置(主题,位置,颜色,按钮文本)均由BugPin Admin Console管理.

需要的选项

选项类型说明
apiKeystring您的工程 API 密钥( 来自 BugPin 管理员)
serverUrlstring您的 BugPin 服务器 URL

选项

选项类型说明
languagestringBCP 47语言代码(例如. en, (中文(简体) ), de, (中文(简体) ), fr, (中文(简体) ), nl, (中文(简体) ), es, (中文(简体) ), it, (中文(简体) ), ja, (中文(简体) ), zh) (中文(简体) ). 覆盖自动检测和项目默认.
reporterNamestring预填可编辑的记者名称字段.
reporterEmailstring预填可编辑的报员电子邮件字段.

预填报器细节

BugPin.init({
  apiKey: 'your-project-api-key',
  serverUrl: 'https://your-bugpin-server.com',
  reporterName: currentUser.name,
  reporterEmail: currentUser.email,
});

用于自动脚本标签初始化 :

<script
  src="https://your-bugpin-server.com/widget.js"
  data-api-key="your-project-api-key"
  data-reporter-name="{{ currentUser.name }}"
  data-reporter-email="{{ currentUser.email }}"
></script>

记者在提交前仍然可以编辑这两个字段.

隐私和诊断捕捉

服务器控制部件可能收集的诊断分类 。 欧盟隐私模式禁用 每个项目的用户活动线索,没有项目覆盖。 当欧盟隐私模式关闭时, 除非项目禁用,否则活动线索将自动可用。 控制台输出, 网络失败,存储键名称仍然是独立的项目控制;存储键捕获是 默认关闭.

活动线索记录了与按钮、链接、输入、选择、, 复选框,以及类似的控件。 它不记录按键或键入值 。 普通个人 数据和符号图案在进入内元缓冲器前被编辑.

标记嵌入式网站的敏感部分 data-bugpin-private。BugPin 忽略活动 在标记的元素及其所有后代中:

<section data-bugpin-private>
  <!-- Account, payment, health, or other sensitive UI -->
</section>

活动始终是页面内存,直到报告提交或得到清理。 当欧盟隐私 模式或项目活动设置禁用抓取, 部件不安装活动 听者并清除活动缓冲.

诊断捕捉是失败关闭和服务器控制的:

  • 控制台和网络抓取仅在部件配置完成后开始 。 错误 在部件初始化未抓取之前发生 。 如果配置请求失败, 所有 诊断捕捉在会话中仍然被禁用.
  • 抓取旗帜不能被当地人覆盖 BugPin.init() 选项; 它们总是 从服务器配置中解析此实例, 项目隐私设置优先 .

语言

载有英文、德文、法文、荷兰文、西班牙文、意大利文、日文和简化中文译文的部件船.

默认情况下,活动语言按此顺序解决:

  1. language 转至 BugPin.init()
  2. data-language 脚本标签上的属性(通过 <script>(中文(简体) )
  3. 这个 lang 属性 <html> (部件监视更改和重递)
  4. 访问者浏览器语言
  5. 项目的默认语言( 在管理控制台中配置)
BugPin.init({
  apiKey: 'your-project-api-key',
  serverUrl: 'https://your-bugpin-server.com',
  language: 'de',
});

在运行时切换语言, 例如当您的应用程序的地盘改变时 :

BugPin.setLanguage('fr'); // returns the resolved locale, or null if unsupported
BugPin.getLanguage(); // returns the currently active locale

框架实例

反应 / Vite

import { useEffect } from 'react';
import BugPin from '@arantic/bugpin-widget';

function App() {
  useEffect(() => {
    BugPin.init({
      apiKey: import.meta.env.VITE_BUGPIN_API_KEY,
      serverUrl: import.meta.env.VITE_BUGPIN_SERVER_URL,
    });
  }, []);

  return <div>Your app</div>;
}

下一个.js

import { useEffect } from 'react';
import BugPin from '@arantic/bugpin-widget';

function App() {
  useEffect(() => {
    BugPin.init({
      apiKey: process.env.NEXT_PUBLIC_BUGPIN_API_KEY,
      serverUrl: process.env.NEXT_PUBLIC_BUGPIN_SERVER_URL,
    });
  }, []);

  return <div>Your app</div>;
}

Vue / 坚果

<script setup>
import { onMounted } from 'vue';
import BugPin from '@arantic/bugpin-widget';

onMounted(() => {
  BugPin.init({
    apiKey: import.meta.env.VITE_BUGPIN_API_KEY,
    serverUrl: import.meta.env.VITE_BUGPIN_SERVER_URL,
  });
});
</script>

角质

// app.component.ts
import { Component, OnInit } from '@angular/core';
import BugPin from '@arantic/bugpin-widget';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
})
export class AppComponent implements OnInit {
  ngOnInit() {
    BugPin.init({
      apiKey: environment.bugpinApiKey,
      serverUrl: environment.bugpinServerUrl,
    });
  }
}

类型脚本 / Vanilla Java 脚本

import BugPin from '@arantic/bugpin-widget';

// Initialize when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
  BugPin.init({
    apiKey: 'your-api-key',
    serverUrl: 'https://bugpin.example.com',
  });
});

.NET / 布拉佐尔

// Services/BugPinService.cs
public class BugPinService
{
    private readonly IJSRuntime _js;

    public BugPinService(IJSRuntime js) => _js = js;

    public async Task InitializeAsync(string apiKey, string serverUrl)
    {
        await _js.InvokeVoidAsync("eval",
            $"import('@arantic/bugpin-widget').then(m => m.default.init({{apiKey: '{apiKey}', serverUrl: '{serverUrl}'}}))");
    }
}
// Program.cs or Startup.cs
builder.Services.AddScoped<BugPinService>();
@inject BugPinService BugPin
@inject IConfiguration Config

@code {
    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await BugPin.InitializeAsync(
                Config["BugPin:ApiKey"],
                Config["BugPin:ServerUrl"]
            );
        }
    }
}

环境变量

将您的 API 密钥存储在环境变量中( 使用参见以上框架示例 ) :

# Vite (React, Vue) - .env
VITE_BUGPIN_API_KEY=your-api-key
VITE_BUGPIN_SERVER_URL=https://bugpin.example.com

# Next.js - .env.local
NEXT_PUBLIC_BUGPIN_API_KEY=your-api-key
NEXT_PUBLIC_BUGPIN_SERVER_URL=https://bugpin.example.com

# .NET (appsettings.json)
{
  "BugPin": {
    "ApiKey": "your-project-api-key",
    "ServerUrl": "https://bugpin.example.com"
  }
}

获取您的 API 密钥

您需要您 BugPin 服务器的 API 密钥来初始化部件 .

  1. 在您的基础设施上部署 BugPin 服务器( 例如使用 夹克(中文(简体) )
  2. 登录到 BugPin 管理控制台
  3. 打开 项目,创建新项目或选择现有项目
  4. 复制 API 密钥( 在工程卡中或 工程设置(中文(简体) )

文档

完整文件,访问: BugPin 文档

许可证

麻省理工学院

支助

版本与发布记录

@arantic/bugpin-widget 共发布 14 个版本,首次发布于 2026/01/03;过去 12 个月发布了 14 个版本。

版本发布日期距今
1.1.5latest2026/10/2414 天前
1.1.42026/10/0930 天前
1.1.32026/09/261 个月前
1.1.22026/08/282 个月前
1.1.12026/07/233 个月前
1.1.02026/05/165 个月前

关于 @arantic/bugpin-widget 的常见问题

@arantic/bugpin-widget 是什么?

可嵌入可视化的错误报告部件 - 抓取截图、注释问题并提交错误报告

如何安装 @arantic/bugpin-widget?

在项目目录运行 npm install @arantic/bugpin-widget,或使用 pnpm add / yarn add / bun add。

@arantic/bugpin-widget 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@arantic/bugpin-widget 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@arantic/bugpin-widget 可以商用吗?

@arantic/bugpin-widget 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@arantic/bugpin-widget 的下载量有多少?

根据 npm 官方下载统计,@arantic/bugpin-widget 在 2026/10/07 – 2026/11/05 这 30 天内被下载 3,065 次,日均约 102 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@arantic/bugpin-widget 还在维护吗?

最新版本 1.1.5 发布于 2026/10/24(14 天前);至今共发布 14 个版本,其中过去 12 个月发布了 14 个;首次发布于 2026/01/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。