基于Jeecgboot前后端分离的聊天功能集成(二)

简介: 基于Jeecgboot前后端分离的聊天功能集成(二)

因为本项目不需要electron组件,所以相关这条个组件的内容都先去掉

token是采用jeecgboot机制,所以相关内容也要做调整

因为部门与人员都是用现有的表,所以相应前端内容也要做调整

1、所有userid相关都要修改成username

比如:ChatListUtils部分修改如下:

export const ChatListUtils = {
  listKey: "_chatList",
  setChatList: function(userName, chatList) {
    localStorage.setItem(userName + this.listKey, JSON.stringify(chatList));
  },
  //从缓存中获取已经保存的会话
  getChatList: function(userName) {
    let str = localStorage.getItem(userName + this.listKey);
    if (!str) {
      return [];
    }
    console.log("getChatList", str);
    return JSON.parse(str);
  },

2、对于群组与个人chat ,因为id不一样,所以也要做判断处理

比如resetChatList  这个部分修改如下:

resetChatList: function(self, user, host, type) {
    console.log("resetChatList user=",user);  
    console.log("resetChatList self.$store.state.im=",self.$store.state.im);  
    let chatList = this.getChatList(self.$store.state.im.imuser.username);
    // 删除当前用户已经有的会话
    let newChatList = chatList.filter(function(element) {
      return String(element.id) !== String(user.username);
    });
    let avatar = user.avatar;
    let chat=null;
    if (type === "1") { //若是群聊
      // 重新添加会话,放到第一个
      chat = new Chat(
        user.id,
        user.name,
        avatar,
        0,
        "",
        user.phone,
        user.email,
        type
      );
    } else {
      // 重新添加会话,放到第一个
      chat = new Chat(
      user.username,
      user.realname,
      avatar,
      0,
      "",
      user.phone,
      user.email,
      type
      );
    }
    console.log("resetChatList chat=",chat);  
    newChatList.unshift(chat);
    console.log("resetChatList newChatList=",newChatList); 
    // 存储到localStorage 的 chatList
    this.setChatList(self.$store.state.im.imuser.username, chatList);
    self.$store.commit("setChatList", newChatList);
    return chat;
  }

3、部门这部分前端修改较少,主要是后端的修改

4、文件上传需要修改成jeecgboot模式

upload-tool文件的下面部分做调整

action: conf.getHostUrl() + "/sys/common/upload",
      headers: {
        "Access-Control-Allow-Origin": "*",
        "X-Access-Token": StoreUtils.getAccessToken(),
      }

同时返回信息修改如下

handleSuccess(res, file) {
      let self = this;
      if (res.success) {
        let path = res.message;
        let fileName = file.name;
        // 文件后缀
        let suffix = fileName.substring(
          fileName.lastIndexOf(".") + 1,
          fileName.length
        );
相关文章
|
2月前
|
传感器 监控 搜索推荐
智能服装:集成健康监测功能的纺织品——未来穿戴科技的新篇章
【10月更文挑战第7天】智能服装作为穿戴科技的重要分支,正以其独特的技术优势和广泛的应用前景,成为未来科技发展的亮点之一。它不仅改变了我们对服装的传统认知,更将健康监测、运动训练、医疗康复等功能融为一体,为我们的生活带来了更多的便利和可能。随着技术的不断进步和市场的日益成熟,我们有理由相信,智能服装将成为未来穿戴科技的新篇章,引领我们走向更加健康、智能、可持续的生活方式。
|
2月前
|
前端开发 JavaScript UED
探索Python Django中的WebSocket集成:为前后端分离应用添加实时通信功能
通过在Django项目中集成Channels和WebSocket,我们能够为前后端分离的应用添加实时通信功能,实现诸如在线聊天、实时数据更新等交互式场景。这不仅增强了应用的功能性,也提升了用户体验。随着实时Web应用的日益普及,掌握Django Channels和WebSocket的集成将为开发者开启新的可能性,推动Web应用的发展迈向更高层次的实时性和交互性。
100 1
|
4月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
144 1
|
28天前
|
缓存 资源调度 JavaScript
Vue集成Excalidraw实现在线画板功能
Excalidraw是一款开源在线绘图工具,适用于白板、思维导图、原型设计等场景。支持手绘风格、多种图形元素、导出功能及多人协作,深受开发者喜爱。本文档介绍了如何在Vue项目中集成Excalidraw,包括安装依赖、配置文件修改、页面添加等步骤,帮助开发者快速上手。
130 0
Vue集成Excalidraw实现在线画板功能
|
1月前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
40 2
|
1月前
|
SQL 开发框架 .NET
突破T-SQL限制:利用CLR集成扩展RDS SQL Server的功能边界
CLR集成为SQL Server提供了强大的扩展能力,突破了T-SQL的限制,极大地拓展了SQL 的应用场景,如:复杂字符串处理、高性能计算、图像处理、机器学习集成、自定义加密解密等,使开发人员能够利用 .NET Framework的丰富功能来处理复杂的数据库任务。
|
1月前
|
JSON Java API
springboot集成ElasticSearch使用completion实现补全功能
springboot集成ElasticSearch使用completion实现补全功能
42 1
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
409 11
|
5月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
15056 34

热门文章

最新文章