基于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
        );
相关文章
|
29天前
|
传感器 监控 搜索推荐
智能服装:集成健康监测功能的纺织品——未来穿戴科技的新篇章
【10月更文挑战第7天】智能服装作为穿戴科技的重要分支,正以其独特的技术优势和广泛的应用前景,成为未来科技发展的亮点之一。它不仅改变了我们对服装的传统认知,更将健康监测、运动训练、医疗康复等功能融为一体,为我们的生活带来了更多的便利和可能。随着技术的不断进步和市场的日益成熟,我们有理由相信,智能服装将成为未来穿戴科技的新篇章,引领我们走向更加健康、智能、可持续的生活方式。
|
28天前
|
前端开发 JavaScript UED
探索Python Django中的WebSocket集成:为前后端分离应用添加实时通信功能
通过在Django项目中集成Channels和WebSocket,我们能够为前后端分离的应用添加实时通信功能,实现诸如在线聊天、实时数据更新等交互式场景。这不仅增强了应用的功能性,也提升了用户体验。随着实时Web应用的日益普及,掌握Django Channels和WebSocket的集成将为开发者开启新的可能性,推动Web应用的发展迈向更高层次的实时性和交互性。
53 1
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
105 1
|
2天前
|
JSON Java API
springboot集成ElasticSearch使用completion实现补全功能
springboot集成ElasticSearch使用completion实现补全功能
14 1
|
5月前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
198 1
|
12天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
1月前
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
177 11
|
2月前
|
机器学习/深度学习 人工智能 搜索推荐
如何让你的Uno Platform应用秒变AI大神?从零开始,轻松集成机器学习功能,让应用智能起来,用户惊呼太神奇!
【9月更文挑战第8天】随着技术的发展,人工智能与机器学习已融入日常生活,特别是在移动应用开发中。Uno Platform 是一个强大的框架,支持使用 C# 和 XAML 开发跨平台应用(涵盖 Windows、macOS、iOS、Android 和 Web)。本文探讨如何在 Uno Platform 中集成机器学习功能,通过示例代码展示从模型选择、训练到应用集成的全过程,并介绍如何利用 Onnx Runtime 等库实现在 Uno 平台上的模型运行,最终提升应用智能化水平和用户体验。
47 1
|
4月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14834 26
|
3月前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败