跳到主要内容

Feedback Widget 自定义

该小部件会通过配置选项在视觉上适应您的应用程序。您可以更改颜色、文本、位置和响应式行为。

完整配置选项

选项类型默认值描述
publicKeystring--(必填)您项目的公钥
positionstring'bottom-right'按钮位置:'bottom-right''bottom-left''top-right''top-left'
themestring'auto'视觉主题:'light''dark''auto'
accentColorstring'#6366f1'小部件的主色(按钮、边框和链接)
labelsobject见下文可自定义的小部件文本
labels.titlestring'提交反馈'表单标题
labels.placeholderstring'描述您的想法或问题...'文本字段占位符
labels.submitButtonstring'提交'提交按钮文本
labels.successMessagestring'感谢您的反馈'成功提交后的消息
labels.triggerButtonstring'反馈'浮动按钮文本
showTriggerLabelbooleantrue在浮动按钮图标旁显示文本
zIndexnumber9999小部件的 CSS z-index
metadataobject{}随每条反馈发送的附加数据(用户、页面等)

视觉自定义

强调色

accentColor 定义小部件的主色。它会应用于浮动按钮、焦点边框和提交按钮。

<script>
FeedbackWidget.init({
publicKey: 'pk_your_public_key',
accentColor: '#e11d48',
});
</script>

在 React 中:

<FeedbackWidget
publicKey="pk_your_public_key"
accentColor="#e11d48"
/>

自定义文本

自定义小部件的所有文本,使其符合您的品牌或语言:

<script>
FeedbackWidget.init({
publicKey: 'pk_your_public_key',
labels: {
title: '告诉我们您的想法',
placeholder: '在此写下您的建议...',
submitButton: '提交建议',
successMessage: '已收到。感谢您帮助我们改进。',
triggerButton: '建议',
},
});
</script>

在 React 中:

<FeedbackWidget
publicKey="pk_your_public_key"
labels={{
title: '告诉我们您的想法',
placeholder: '在此写下您的建议...',
submitButton: '提交建议',
successMessage: '已收到。感谢您帮助我们改进。',
triggerButton: '建议',
}}
/>

浮动按钮

控制触发小部件的按钮的外观和位置:

<script>
FeedbackWidget.init({
publicKey: 'pk_your_public_key',
position: 'bottom-left',
showTriggerLabel: false, // 仅显示图标,不显示文本
});
</script>

可用位置:

描述
'bottom-right'右下角(默认值)
'bottom-left'左下角
'top-right'右上角
'top-left'左上角

z-index

如果小部件被界面中的其他元素遮挡,请调整 zIndex

<script>
FeedbackWidget.init({
publicKey: 'pk_your_public_key',
zIndex: 50000,
});
</script>

自定义元数据

您可以随每条反馈发送附加数据,以便进行分类。元数据会附加到 Almirant 中的创意条目。

<script>
FeedbackWidget.init({
publicKey: 'pk_your_public_key',
metadata: {
userId: '12345',
plan: 'enterprise',
page: window.location.pathname,
},
});
</script>

在 React 中,您可以传入动态元数据:

function App() {
const { user } = useAuth();

return (
<FeedbackWidget
publicKey="pk_your_public_key"
metadata={{
userId: user?.id,
email: user?.email,
plan: user?.plan,
page: window.location.pathname,
}}
/>
);
}
提示

请在元数据中至少包含 userId 和当前页面。这让您可以将反馈与特定用户关联,并了解他们从应用程序的哪个部分发送了反馈。

响应式行为

小部件会自动适应不同的屏幕尺寸:

屏幕行为
桌面端(> 768px)表单会以浮层形式在浮动按钮旁打开
平板电脑(481px - 768px)表单会居中打开,并带有半透明遮罩层
移动端(< 480px)表单会以底部面板形式占满整个宽度

浮动按钮在所有分辨率下都会保持其位置。在移动端,showTriggerLabel 会自动禁用以节省空间。

注意

无需进行任何操作即可使小部件具备响应式能力。它会根据设备视口自动适应。

深色模式

使用 theme: 'auto' 时,小部件会检测操作系统偏好(prefers-color-scheme)并相应适应。

如果您的应用程序有自己的主题切换控件,可以直接进行控制:

function App() {
const { theme } = useTheme(); // 您的主题 Hook

return (
<FeedbackWidget
publicKey="pk_your_public_key"
theme={theme} // 'light' 或 'dark'
/>
);
}

完整示例

<script src="https://cdn.almirant.ai/feedback-widget.iife.js"></script>
<script>
FeedbackWidget.init({
publicKey: 'pk_your_public_key',
position: 'bottom-right',
theme: 'auto',
accentColor: '#2563eb',
showTriggerLabel: true,
zIndex: 9999,
labels: {
title: '您的意见很重要',
placeholder: '我们可以改进什么?',
submitButton: '提交',
successMessage: '感谢您。您的反馈已记录。',
triggerButton: '反馈',
},
metadata: {
page: window.location.pathname,
userAgent: navigator.userAgent,
},
});
</script>