Nuxt Nation カンファレンスが開催されます。11月12日から13日にご参加ください。

chatwoot
@productdevbook/chatwoot

Chatwoot は、企業がウェブサイト上で顧客とエンゲージメントを図るのに役立つオープンソースの顧客エンゲージメントプラットフォームです。

alt text

Chatwoot Vue 3 && Nuxt 3

Version Downloads License Github Stars

このモジュールは productdevbook チームによって作成されました。

ChatWootVue および Nuxt への統合。

特徴

  • 設定不要
  • 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>

デフォルトの初期化

オプション説明デフォルト
websiteTokenstringチャットウィジェットを作成した際に付与されるトークン。
baseUrlboolChatwoot の設定で宣言したサイトのドメインhttps://app.chatwoot.com

useChatWoot

useChatWoot() はいくつかの値を受け取ります

オプション説明
isModalVisiblebooleanこのチャットは、そのオープン状態を表示します。
toggle'open' または 'close' - 関数チャットを開閉できます
setUserkey: string, args: ChatwootSetUserProps - 関数ユーザー情報を chatwoot パネルに送信できます。
setCustomAttributesattributes: { [key: string]: string } - 関数カスタム属性を chatwoot パネルに送信できます。
deleteCustomAttributekey: string - 関数カスタム属性を chatwoot パネルから削除できます。
setLocalelocal: string - 関数ウィジェットのロケールを変更
setLabellabel: string - 関数ラベルを chatwoot パネルに送信できます。
removeLabellabel: string - 関数ラベルを chatwoot パネルから削除できます。
reset関数すべての設定をリセットできます。
toggleBubbleVisibility'hide' または 'show' - 関数吹き出しの表示状態を設定できます。
popoutChatWindow会話をポップアップとして開くことができます。

スポンサー

sponsors

💻 開発

  • このリポジトリをクローンします
  • Corepackcorepack enable を使用して有効にします (Node.js < 16.10 の場合は npm i -g corepack を使用してください)
  • pnpm install を使用して依存関係をインストールします
  • pnpm dev:prepare でモジュールをスタブ化します
  • pnpm dev を実行して、開発モードで プレイグラウンド を起動します

謝辞

@surmon-china に感謝します。このプロジェクトの loadScript 関数は、surmon-china.github.io に大きく影響を受けています。

ライセンス

MIT License © 2022-PRESENT productdevbook