赞
踩
官方jeecgboot开源版本没有聊天功能,网上也比较少,所以考虑集成聊天功能。
目前网上比较好的开源聊天功能是V-IM,同时这个采用比较好的t-io高性能网络编程框架,其炸裂的性能、超长续航的稳定性、极简易用的API、丰富够用的内置功能,据说能达到百万级的,具体地址如下:
所以决定集成这个开源聊天项目,先放上集成后的聊天窗口。
1、前端部分
主要是窗口控制 webControl与utils部分,views部分如下
因为集成到jeecgboot里,所以登录部分去掉,采用本身的登录,index部分进行改造如下:
主要是登录后的相关操作移植过来。
created: function() {
let self = this;
let requestApi = RequestUtils;
const token = Vue.ls.get(ACCESS_TOKEN);
StoreUtils.setToken(token); //设置token
localStorage.setItem("host", window._CONFIG['hostAddress'] ); //设置主机地址
console.log("localStorage host=",localStorage.getItem("host"));
requestApi.request(conf.getInitUrl(), new FormData()).then(json => {
console.log("json=",json);
//个人信息
self.$store.commit("setImUser", json.me);
//好友
self.$store.commit("setUserFriendList", json.friends);
//群
self.$store.commit("setChatGroupList", json.groups);
//把群组封装到map中
let chatMap = new Map();
json.groups.forEach(group => {
chatMap.set(group.id, group);
});
self.$store.commit("setChatMap", chatMap);
self.imuser = self.$store.state.im.imuser;
console.log("self.$store.state=",self.$store.state);
console.log("self.imuser=",self.imuser);
RequestUtils.webSocketOperation(self);
// 跳转到index 页面
self.$router.push({
path: "/im/index/chatBox",
params: {}
});
})
.catch(function(error) {
console.error(error);
self.showErr = true;
if (ErrorType.NET_ERROR === error.toString()) {
self.err = "服务通讯失败,请检查服务设置";
} else {
self.err = error.toString();
}
});
},
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。