>[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))
效果演示:

- 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的安裝
- 理財
- 基金
- 攝影