通过 100 多个技巧学习 Nuxt!

chatwoot
@productdevbook/chatwoot

Chatwoot 是一个开源的客户互动平台,可帮助公司在其网站上与客户互动

alt text

Chatwoot Vue 3 && Nuxt 3

Version Downloads License Github Stars

此模块由 productdevbook 团队创建。

ChatWoot 集成,用于 VueNuxt

特性

  • 无需配置
  • 支持 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,
  }
})

组合式函数

添加 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字符串当您创建聊天小部件时给您的令牌。
baseUrl布尔值您在 Chatwoot 设置中声明的网站域名https://app.chatwoot.com

useChatWoot

useChatWoot() 接受一些参数

选项类型描述
isModalVisible布尔值此聊天将显示其打开状态。
toggle'open' 或 'close' - 函数您可以打开和关闭聊天
setUserkey: 字符串, args: ChatwootSetUserProps - 函数您可以将用户信息发送到 Chatwoot 面板。
setCustomAttributesattributes: { [key: string]: string } - 函数您可以将自定义属性发送到 Chatwoot 面板。
setConversationCustomAttributesattributes: { [key: string]: string } - 函数您可以将对话自定义属性发送到 Chatwoot 面板。
deleteCustomAttributekey: 字符串 - 函数您可以删除 Chatwoot 面板的自定义属性。
setLocalelocal: 字符串 - 函数更改小部件的语言环境
setLabellabel: 字符串 - 函数您可以将标签发送到 Chatwoot 面板。
removeLabellabel: 字符串 - 函数您可以删除 Chatwoot 面板的标签。
reset函数您可以重置所有设置。
toggleBubbleVisibility'hide' 或 'show' - 函数您可以设置气泡的隐藏状态。
popoutChatWindow您可以将对话作为弹出窗口打开。

赞助商

sponsors

💻 开发

  • 克隆此存储库
  • 使用 corepack enable 启用 Corepack(对于 Node.js < 16.10,请使用 npm i -g corepack
  • 使用 pnpm install 安装依赖项
  • 使用 pnpm dev:prepare 存根模块
  • 运行 pnpm dev 以在开发模式下启动 playground

感谢

感谢 @surmon-china,此项目的 loadScript 函数深受 surmon-china.github.io 的启发。

许可证

MIT 许可证 © 2022-PRESENT productdevbook