Chatwoot Vue 3 && Nuxt 3
此模組由 productdevbook 團隊創建。
功能
- 零配置需求
- isOpen 支援
設定
pnpm install @productdevbook/chatwoot
yarn install @productdevbook/chatwoot
npm install @productdevbook/chatwoot
Vue 3 設定
新增 Main.ts
import { createChatWoot } from '@productdevbook/chatwoot/vue'
const chatwoot = createChatWoot({
init: {
websiteToken: 'b6BejyTTuxF4yPt61ZTZHjdB'
},
settings: {
locale: 'en',
position: 'left',
launcherTitle: 'Hello Chat'
},
partytown: false,
})
app.use(chatwoot)
Nuxt 3 設定
export default defineNuxtConfig({
modules: [
'@productdevbook/chatwoot'
],
chatwoot: {
init: {
websiteToken: 'b6BejyTTuxF4yPt61ZTZHjdB'
},
settings: {
locale: 'en',
position: 'left',
launcherTitle: 'Hello Chat',
// ... and more settings
},
// If this is loaded you can make it true, https://github.com/nuxt-modules/partytown
partytown: false,
}
})
Composables
新增 app.vue 或新增至任何您想要的位置。
<script setup lang="ts">
const { isModalVisible, toggle, toggleBubbleVisibility, popoutChatWindow } = useChatWoot()
</script>
<template>
<div class="flex space-x-3">
<div>{{ isModalVisible }}</div>
<button @click="toggle('open')">
open
</button>
<button @click="toggle('close')">
close
</button>
<div class="flex space-x-3">
<button @click="toggleBubbleVisibility('hide')">
hide
</button>
<button @click="toggleBubbleVisibility('show')">
show
</button>
<button @click="popoutChatWindow()">
open popup
</button>
</div>
</div>
</template>
初始化預設值
選項 | 類型 | 描述 | 預設值 |
---|---|---|---|
websiteToken | string | 當您建立聊天小工具時,給予您的權杖。 | |
baseUrl | bool | 您在 Chatwoot 設定中宣告的網站網域 | https://app.chatwoot.com |
useChatWoot
useChatWoot()
接受一些
選項 | 類型 | 描述 |
---|---|---|
isModalVisible | boolean | 此聊天室將顯示其開啟狀態。 |
toggle | 'open' 或 'close' - 函數 | 您可以開啟和關閉聊天室 |
setUser | key: string, args: ChatwootSetUserProps - 函數 | 您可以將使用者資訊傳送到 chatwoot 面板。 |
setCustomAttributes | attributes: { [key: string]: string } - 函數 | 您可以將自訂屬性傳送到 chatwoot 面板。 |
setConversationCustomAttributes | attributes: { [key: string]: string } - 函數 | 您可以將對話自訂屬性傳送到 chatwoot 面板。 |
deleteCustomAttribute | key: string - 函數 | 您可以刪除 chatwoot 面板的自訂屬性。 |
setLocale | local: string - 函數 | 變更小工具語言環境 |
setLabel | label: string - 函數 | 您可以將標籤傳送到 chatwoot 面板。 |
removeLabel | label: string - 函數 | 您可以刪除 chatwoot 面板的標籤。 |
reset | 函數 | 您可以重設所有設定。 |
toggleBubbleVisibility | 'hide' 或 'show' - 函數 | 您可以設定語音氣泡的隱藏狀態。 |
popoutChatWindow | 您可以將對話視窗以彈出視窗開啟。 |
贊助商
💻 開發
- 複製此儲存庫
- 使用
corepack enable
啟用 Corepack (Node.js < 16.10 請使用npm i -g corepack
) - 使用
pnpm install
安裝依賴套件 - 使用
pnpm dev:prepare
Stub 模組 - 執行
pnpm dev
以在開發模式下啟動 playground
感謝
感謝 @surmon-china,此專案的 loadScript 函數很大程度受到 surmon-china.github.io 的啟發。
授權條款
MIT 授權 © 2022-至今 productdevbook