2.0.22-beta118 • Published 5 months ago

cowell-ai-chat v2.0.22-beta118

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

高济机器人聊天组件

安装

npm set registry http://npmrepo.cowelltech.com/

npm install cowell-ai-chat --save-dev

在页面中使用

引入
import AiChat from 'cowell-ai-chat';

import 'cowell-ai-chat/lib/main.css';
使用
render() {
        const id = getUrlParam('id');
        const env = getEnv().toLocaleUpperCase();
        return (
            <div >
                <AiChat
                    robotId={id}
                    env={env}
                />
            </div>
        )
    }
页面效果

参数

参数名类型是否必填默认值说明
robotIdstring25机器人id
sessionIdstring-会话id (用于保存会话记录,推荐传当前用户id)
envstring"TEST"运行环境(LOCAL,TEST,STAGE,PROD)
containerStyleReact.CSSProperties-最外层容器style
agreementNamestring-协议名称
agreementLinkstring-协议跳转链接
timeFormatstring"MM-DD HH:ss"发送消息时间格式
textAreaProps_messagestring-发送输入框props
placeholder_messagestring-发送消息输入框placeholder
feedbackModalOptions{title, subTitle, placeholder}-反馈按钮弹框配置 (title: 主标题, subTitle: 副标题)
onSendMessage(text) => void-发送消息事件 text: 发送文案
onAnswer({answer, timestamp}) => void-机器人回答 answer: 机器人回答文案; timestamp: 回答所需时间
onConversationComplete({answer, question, timestamp}) => void-一次对话完成 question: 问题文案
onBtnClick(text) => void-发送按钮点击
onNewSessionBtnClick() => void-新会话按钮点击
onGeetingCardShow() => void-欢迎语卡片展示
onTemplateClick({templateContent, templatePosition}) => void-问题模版点击 templateContent: 模版内容 templatePosition: 模版位置 1快捷键2欢迎语
onActionButtonClick({messageItem, type}) => void-机器人操作按钮点击 type: ACTION_TYPE messageItem: { question: 问题, answer: 答案}
newSessionBtnRenderer() => any-新会话按钮渲染函数
sendMessageBtnRenderer() => any-发送消息按钮渲染函数
helpfulBtnRenderer(active) => any-有帮助按钮渲染函数 active: 按钮是否是激活状态
helplessBtnRenderer(active) => any-无帮助按钮渲染函数
reAskBtnRenderer() => any-重新询问按钮渲染函数
copyBtnRenderer() => any-复制按钮渲染函数
audioPlayBtnRenderer(isPlaying, loading) => any-语音播放按钮渲染函数 isPlaying:语音是否正在播放 , loading: 首次加载语音loading状态
onArgeementClick(link) => any-协议点击
/**反馈 */
export enum ACTION_TYPE {
    /**有帮助 */
    HELP = 1,
    /**没帮助 */
    UN_HELP = 2,
    /**重新询问 */
    REASK = 3,
    /**复制 */
    COPY = 4,
    /**复制 */
    AUDIO_PLAY = 5,
}

自定义样式表

在样式中使用

:global {
    .ai_chat_page_wrapper {
        ...
    }
}
类名说明
ai_chat_page_wrapper最外层容器(宽高、背景色,等)
ai_chat_message_container对话列表容器
ai_chat_message_item消息外层容器
ai_chat_message_item_container_system消息外层容器(系统消息)
ai_chat_message_item_system消息容器(系统消息)
ai_chat_message_item_user用户消息外层容器
ai_chat_message_item_robot机器人消息外层容器
ai_chat_head头像 (_user用户后缀、_robot机器人后缀)
ai_chat_message_item_text消息文字(_user用户后缀、_robot机器人后缀)
ai_chat_message_item_text_container消息内容容器 (_user用户后缀、_robot机器人后缀)
ai_chat_sendmessage_bar底部发送消息容器
ai_chat_agreement协议容器
ai_chat_agreement_label"请遵守"部分样式
ai_chat_agreement_name协议名称部分样式
ai_chat_search_container联想词&指令容器
ai_chat_search_item联想词&指令容器每条容器
ai_chat_input输入框
ai_chat_send_btn_container发送按钮容器
ai_chat_newsession_btn_container新会话按钮容器
ai_chat_message_item_action_item操作按钮容器(有帮助、无帮助,复制按钮等)
ai_chat_conversation_btn聊天记录按钮
ai_chat_feed_back_modal反馈弹窗最外层容器
ai_chat_feed_back_modal_content反馈弹窗内容容器
ai_chat_feed_back_modal_header反馈弹窗头部容器
ai_chat_feed_back_modal_title反馈弹窗标题
ai_chat_feed_back_modal_body反馈弹窗body容器
ai_chat_feed_back_modal_subtitle反馈弹窗副标题
ai_chat_feed_back_modal_textarea反馈弹窗文本框
ai_chat_feed_back_modal_footer反馈弹窗按钮容器
ai_chat_feed_back_modal_button_cancel反馈弹窗取消按钮
ai_chat_feed_back_modal_button_submit反馈弹窗提交按钮

全局css变量

变量修改方式

document.documentElement.style.setProperty('--ai-font-size-small', '14px')
变量说明
--ai-font-size-small12px小字文案:协议文案、提示文案、动作按钮等
--ai-font-size-normal14px正常文字大小:消息内容、描述文案等
--ai-font-size-big22px标题文案:机器人介绍、突出显示字体等

页面结构

├── README.md
├── global.d.ts
├── lib // 打包文件
│   ├── index.js
│   └── main.css
├── package-lock.json
├── package.json
├── src
│   ├── app.tsx
│   ├── components
│   │   ├── ai-chat
│   │   ├── enums.ts
│   │   ├── index.ts
│   │   └── message-item
│   ├── entry.js    // 打包模式入口文件
│   ├── index.ejs   // 开发模式页面模版
│   ├── index.less  // 公共样式表
│   ├── index.tsx   // 开发模式页面入口
│   ├── types       // 组件类型声明
│   │   ├── ai-chat.d.ts
│   │   └── message-item.d.ts
│   └── utils       // 公共方法
│       ├── index.ts
│       └── request.ts
├── tsconfig.json
├── webpack.config.development.js
├── webpack.config.js
└── webpack.config.production.js

开发模式

npm install

npm run start

打包上传

npm run build

// 修改版本号

npm publish

版本隔离

版本规则部门
2.x.x客户价值
0.x.x互医