1 Star 0 Fork 204

equalll / vue-mchat

forked from Meteor / vue-mchat 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

MChat

vue element-ui Build Status license

简体中文 | English

简介 如果觉得还行请给个star谢谢

这是一款基于vue与elementu-ui开发的聊天室组件库,在UI上模仿了TIM及微信。在提供基础封装的同时,最大程度的增加扩展性。

演示图 MChat-index演示图

演示地址

v1.0.0内容

  • 基础聊天室功能
    • 文字媒体转换
    • 未读提醒
    • 多会话
  • 右边框
    • 基础群组模板 还在做
    • 自定义组件扩展
  • 工具栏
    • 自定义组件扩展

安装

*使用 npm 安装

npm install vue-mchat
  • 使用 yarn 安装

使用

main.js中引入

// 进入css
import 'MChat/lib/MChat.css'
//引入组件
import MChat from 'MChat'
// 使用vue加载组件
Vue.use(MChat)

#组件说明

Sample

MChat

Attributes

config MChat配置信息
参数 类型 默认值 说明
rightBox false boolean 是否有右侧抽屉,如果为true,则右侧面板显示,可以加入自定义组件
brief true boolean 是否开启简约模式,Chat可以被缩小
notice false boolean 是否开启桌面消息提醒,即在浏览器之外的提醒
voice false boolean 是否开启消息提醒
mine 我的信息
参数 默认值 类型 说明
id 10001 string/number 我的id
username july-meteor string 我的昵称
sign 与其感慨路难行,不如马上出发! string 签名
avatar '/avatar/avatar_meteor.png' url 头像
data 你需要的数据 object 扩展数据
chats 会话属性
参数 类型 默认值 说明
id 10002 string/number 会话id
name 海喵突基队 string 会话名称
type group string 会话类型 group/friend 根据你的需要自行扩展
avatar /images/group_1.jpg url 会话头像
Content talk content format
类型 格式 说明 参考值
Text ---- 普通文字信息 hello july meteor
emoji emoji[url] 表情 emoji[汗]
Audio audio[url] 视频消息 audio[https://www.w3school.com.cn/i/horse.mp3]
Video video[url] 音频 video[https://www.w3school.com.cn/i/movie.mp4]
Image img[url] 图片类型 img[/emoticon/emoticon_1.jpg]

Methods

方法名 说明 参数
chatEvent 操作会话框触发,返回事件类型及窗口信息 event
talkEvent 当你点击对话内容返回对话信息触发 user,message
sendMessage 每当你发送一个消息,都可以通过该事件监听到。 回调参数接受一个object类型的值,携带发送的聊天信息 message
loadHistory 点击查看更多信息后触发,会返回一个回调方法 funcation()
getMessage 监听接受的消息 user,message

MChat Events

事件名称 说明 回调参数/使用方法
getMessage 监听接受的消息 参考下方示例1

示例1

            let message = {
                    //消息来源用户名
                    username: '七月'
                    //消息来源用户头像
                    avatar: avatar,
                    //消息的来源ID(如果是私聊,则是用户id,如果是群聊,则是群组id)
                    id: 1001,
                    //聊天窗口来源类型,从发送消息传递的to里面获取
                    type: 'group',
                    //消息内容  请看 Attributes 中的content说明
                    content:'你好',
                    //消息id,可不传。除非你要对消息进行一些操作(如撤回)
                    cid: 0,
                    //是否我发送的消息,如果为true,则会显示在右方
                    mine: true,
                    //消息的发送者id(比如群组中的某个消息发送者),可用于自动解决浏览器多窗口时的一些问题
                    fromid: 10002,
                    //服务端时间戳毫秒数。注意:如果你返回的是标准的 unix 时间戳,记得要 *1000
                    timestamp: new date(),
                  };
                  // 方法一、 通过内置MChat的event 随时随地引用 
                  this.$im.emit("getMessage", message);
                  // 方法二、
                  this.$refs[MChatname].getMessage(message)
        

**如有问题请先看上述使用文档和文章,若不能满足,欢迎 issue 或者 发邮件给我,根据star和watch的人数进行下一步更新

MChat-right-box

** 通过 Scoped slot 可以获取到 chat (内部的状态管理)的数据,用法参考 demo。

MChat-group-list

Attributes

参数 类型 默认值 说明
notices array id, type, title 群公告栏
userList array id, name,type, avatar 成员信息
filter-user-method Function(value, data) 对成员节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点会被隐藏

Methods

方法名 说明 参数
click 点击群公告,或者成员触发 event

Event

Browsers support

Modern browsers and Internet Explorer 10+.

IEIE / Edge FirefoxFirefox ChromeChrome Safari
IE10, IE11, Edge last 2 versions last 2 versions last 2 versions

License

MIT

Copyright (c) 2020-present july-meteor

MIT License Copyright (c) 2018-present july-meteor Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

这是一款基于vue与elementu-ui开发的聊天室组件库,在UI上模仿了TIM及微信。在提供基础封装的同时,最大程度的增加扩展性。 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/forgo/vue-mchat.git
git@gitee.com:forgo/vue-mchat.git
forgo
vue-mchat
vue-mchat
master

搜索帮助