基於vue2.x 聊天(IM)UI組件,開箱即用


m-chat

npm
npm
npm
NPM
npm collaborators

介紹

基於vue2.x 聊天(IM)UI組件(3.x以后支持)

演示

Demo

安裝

npm install @maybecode/m-chat

全局安裝

import Vue from 'vue'
import MChat from '@maybecode/m-chat'

Vue.use(MChat)

局部安裝

import MChat from '@maybecode/m-chat'

export default {
  components: {
    MChat
  }
}

功能

預覽

main

Demo

 <m-chat
      ref="mChat"
      :messages="messages"
      @submit="submit"
      :loadMore="loadMore"
      height="100vh"
    >
    </m-chat>

Props

參數 類型 默認值 說明
messages Array [] 消息數組
height String 100vh 容器高度
loadMore Function - 加載更多函數
defaultAvatar String - 默認頭像(支持本地頭像require導入或者地址)
comment Boolean true 是否顯示回復框
openPops Array ['copy','cancel'] 氣泡框內顯示的功能 例: ['copy','cancel']
customRecord Boolean flase 自定義錄音功能(設置為true后自帶錄音失效,並且不觸發submit事件)
openExtends Array ["image", "file", "video"] 擴展面板顯示的功能
openBases Array ["text", "audio", "emoji"] 控制基礎功能顯示
imgMaxSize Number 500 圖片大小上傳限制(kb)
videoMaxSize Number 500 視頻大小上傳限制(kb)
fileMaxSize Number 500 文件大小上傳限制(kb)
leadPage String - 微信公眾號網頁下載引導頁面,例: http://www.xxx.com/leadPage 會跳轉到 http://www.xxx.com/leadPage?url='xxx'&name='xxxxx', 注意:參數需要用decodeComponent()解密

消息對象

 {
    id: null, // 唯一id
    name: "", // 姓名
    avatar: "", // 頭像地址
    self: false, // 是否是自己
    content:{
            text: "", // 文本
            duration: "", // 時長
            imageUrl: "", // 圖片地址
            videoUrl: "", // 視頻地址
            audioUrl: "", // 音頻地址
            fileUrl: "", // 文件地址
            fileName: "", // 文件名稱
            fileSize: "", // 文件大小
            fileExt: "", // 文件擴展名
    },
    type: "text", // 文件類型:text|image|audio|video,
    isCancel:false // 控制該消息是否已經撤回,
    time:'' // 發送時間
 }

事件

事件名 說明 回調參數
submit 文字、圖片、視頻、語音等等發送事件 (content:{type:string,content:object})
popItemClick 氣泡框點擊事件 (obj:{type:string,data:object})
recordStart 錄音開始 -
recordStop 錄音停止 ({ blob, duration})--H5錄音才有回調參數,自定義錄音沒有
recordCancel 錄音取消 -

popItemClick Demo

     popItemClick(obj) {
      // 撤回
      if (obj.type == "cancel") {
        obj.data.isCancel = true;
      }
      console.log(obj);
    }

Slots

名稱 說明 參數
left 輸入框左邊 -
right 輸入框右邊 -

方法

通過 ref 可以獲取到 mChat 實例並調用實例方法

方法名 說明 參數 返回值
toggleExtend 控制擴展面板,通過參數可以控制是否展示擴展面板 (flag:boolean) -

LICENSE

版權所有Copyright © by 或許

碼雲


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM