0.1.1 • Published 7 months ago

@jhit/deep-chat v0.1.1

Weekly downloads
-
License
-
Repository
-
Last release
7 months ago

巨信智能助理

巨信智能助理是一个 JavaScript 聊天组件,用于实现弹窗聊天功能。 该组件支持自定义配置、样式和交互逻辑,能够快速集成到现有的项目中。

安装

npm i @jhit/deep-chat

一般情况下,不使用上述安装方式,而是通过script方式本地引入

使用

  • 请务必确保window.onload页面加载完成之后,再进行初始化
  • 初始化jhitChat组件需要传入一个配置对象config
  • new JhitChat(config)返回的是一个deep-chat实例对象,参见:Deep-Chat 官方文档
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>巨信智能助理</title>
  <script src="dist/index.umd.cjs" ></script>
  <script>
  window.onload = function() {
    const chat = new JhitChat({
      apiConfig: {
        baseUrl: 'url/to/api/base/path',
        token: 'Bearer TOKEN',
        userName: '张三',
        areaName: '联络总站'
      }
    })

    // 获取按钮并添加点击事件监听器
    const reportButton = document.getElementById('reportButton')
    reportButton.addEventListener('click', async e => {
      e.stopPropagation()
      await chat.openPopup() // 等待openPopup方法里的异步操作完成
      const DeepChat = await chat.getDeepChatComponent()

      setTimeout(() => {
        const DeepChat = chat.getDeepChatComponent()
        if (DeepChat) {
          DeepChat.submitUserMessage({
            text: '代表建议是否可以多人一起提出?', // 这就是传参
            role: 'user'
          })
        }
      }, 500)
    })
  }
  </script>
</head>
<body ontouchstart>
  <h1>巨信智能助理</h1>
  <button id="reportButton">点击测试发送消息给巨信智能助理</button>
</body>
</html>

事件

名称说明
popupOpen打开弹窗,对外抛出deep-chat对象
popupClosed关闭弹窗,对外抛出deep-chat对象

你可以全局监听这两个事件,代码如下

document.addEventListener('popupOpen', (event) => {
  console.log('弹窗组件加载完成,并打开组件,并对外抛出deep-chat对象', event.detail.component);
});
// 监听弹窗关闭事件
document.addEventListener('popupClosed', (event) => {
  console.log('弹窗已关闭', event.detail.component);
});

配置

参数类型说明
apiConfigObject接口配置
apiConfig.baseUrlString接口基准URL
apiConfig.tokenString认证所需的 Bearer Token
apiConfig.bodyObject请求体参数,包含用户信息
popupStyleObject弹窗样式配置
popupStyle.backgroundColorString弹窗背景颜色
popupStyle.borderRadiusString弹窗圆角半径
popupStyle.boxShadowString弹窗阴影效果
buttonStyleObject按钮样式配置
buttonStyle.backgroundColorString按钮背景颜色
buttonStyle.colorString按钮文字颜色
buttonStyle.buttonTextString按钮显示的文本
chatConfigObject聊天配置:聊天信息样式,麦克风样式,输入框样式
streamBoolean是否启用流式输出效果,是否启用打字机效果
connectConfigFunction自定义连接函数。

注意事项

  1. 请确保所有必需的配置项已正确填写。
  2. token 为敏感信息,请妥善保管,避免泄露。
  3. 弹窗和按钮样式可以根据实际需求进行自定义。

常见问题

1. 为什么弹窗没有显示?

  • 确保 chat.openPopup() 已正确调用。(目前有bug,请加一个定时器,后期我做优化)
  • 检查是否正确配置了 popupStylebuttonStyle

2. 安卓端聊天键盘弹起后,输入框的位置存在错位

  • 这个还需要一点时间做优化

巨信杭分 2024-12-21