>[danger]仅仅是聊天的过程
---
这里集成的是环信SDK聊天, 官方暂时只有React的UI, 没有Vue的UI库, 所以自己写一个, 先在vue项目中[集成环信SDK/](vueCli%E9%9B%86%E6%88%90%E7%8E%AF%E4%BF%A1SDK.md)
1. 在chat.vue中
~~~
mounted() {
// 6. 注册监听事件(等待别人给我发消息)
this.$store.dispatch('listenConnect', this.myCon);
// 7. 登录环信
// 账号密码, 默认去环信官网, 自己控制台中, 注册个账户
let options = {
apiUrl: this.WebIM.config.apiURL,
user: 'lidongxu',
pwd: '111111',
appKey: this.WebIM.config.appkey
};
this.myCon.open(options);
document.onkeypress = this.keypress;
},
~~~
2. 聊天发送事件
~~~
sendMessage() {
// 8. 我发送消息了, 更新本地消息数组(vuex)
this.$store.dispatch("localMessageChange", this.messageText);
let _that = this;
// 单聊发送文本消息
let sendPrivateText = function () {
// 生成本地消息id
let id = _that.myCon.getUniqueId();
// 创建文本消息
let msg = new _that.WebIM.message('txt', id);
msg.set({
// 消息内容
msg: _that.messageText,
// 9. 接收消息对象(对方用户名/ID)
to: 'wangergou',
roomType: false,
// 10. 发送成功, 回调
success: function (id, serverMsgId) {
console.log('send Success');
},
fail: function (e) {
console.log("Send private text error");
}
});
msg.body.chatType = 'singleChat';
// 11. 发送这个文本消息
_that.myCon.send(msg.body);
};
sendPrivateText();
// 获取滚动条, 滚动到最底部
this.$el.getElementsByClassName("chat_main_content")[0].scrollTop = this.$refs.chat_main.scrollHeight;
}
~~~
[组件单独下载]([https://github.com/lidongxuwork126com/ldx\_vue/tree/master/Vue%E8%81%8A%E5%A4%A9%E7%BB%84%E4%BB%B6](https://github.com/lidongxuwork126com/ldx_vue/tree/master/Vue%E8%81%8A%E5%A4%A9%E7%BB%84%E4%BB%B6))
[完整代码下载]([https://github.com/lidongxuwork126com/VueCli--huanxin](https://github.com/lidongxuwork126com/VueCli--huanxin))
效果演示:
![](https://box.kancloud.cn/f24d445c2af36d371d5c39755d83141c_1056x761.gif)
- web前端
- CSS问题
- 布局
- 双飞翼布局_flex方式
- 双飞翼布局_margin方式
- 圣杯布局_flex方式
- 圣杯布局_margin方式
- 子元素居中问题
- 弹性布局
- 概念_
- 标准模式与混杂模式
- 各种FC
- line-height
- vertical-align
- CSS3新特性
- 效果
- div添加箭头
- CSS绘制三角形
- JavaScript
- 兼容
- 事件相关
- 原理
- Ajax原理
- 继承原理
- 原型链继承
- 组合继承
- 寄生组合继承
- 数据绑定
- 1单向数据绑定m到c到v
- 2伪双向数据绑定
- 3双向数据绑定
- socket.io
- 运行时
- this指向
- 0.1+0.2问题
- 对象/数组-深拷贝&浅拷贝
- 事件循环
- typeof
- instanceof
- 概念
- 闭包
- 回调函数
- Promise
- 原生对象
- Attribute和property区别
- 防抖函数
- 节流函数
- 语言类型
- Vue
- Vue优缺点
- 仿Vue源码
- 1数据绑定_Observe
- 2数据绑定_订阅者&观察者定义
- 3数据绑定_Vue类实现
- 4数据绑定_Vue访问data更改
- 5DOM编译_Compile_双大括号模板讲解
- 6DOM编译_v-model讲解
- 7DOM编译_v-on:事件绑定讲解
- 项目总结
- 使用Svg图标
- vueCli环境_真机测试
- vueCli集成环信SDK
- 父子组件双向绑定
- React
- React优缺点
- 我的组件库
- Vue的组件库
- 环信_聊天组件
- 面试题
- HTML_分类
- CSS_分类
- JavaScript_分类
- VueJS_分类
- ReactJS_分类
- AngularJS_分类
- 浏览器端
- 笔试题
- CSS
- 特殊布局
- JavaScript_
- 经典_宏任务_微任务
- 浏览器问题
- CORS
- web服务器
- Apache
- 开启跨域
- Nginx
- 常用命令
- 正向代理
- 反向代理
- 负载均衡
- mac安装Nginx
- 配置80端口
- 算法
- 冒泡排序
- 选择排序
- 合并对象_排序
- 杨辉三角
- 红黑树
- 计算机基础
- 网络相关
- OSI七层模型
- http协议
- http工作原理
- https协议
- GET和POST区别
- hosts文件
- php相关
- session机制
- Linux
- 阿里云服务器
- linux使用Mysql
- 安装mysql
- 导入.sql文件
- 远程连接mysql
- linux使用xampp
- 安装Xampp
- 配置web访问
- 域名绑定服务器
- linux搭建git服务器_apache下
- 代码管理
- 什么是git
- 命令行_使用git
- .gitignore文件讲解
- 软件
- VSCode的安装
- 理财
- 基金
- 摄影