/LayIM

基于HTML5 WebSocket的一款IM即时通讯软件,使用Gradle集成了Scala、SpringBoot、Spring MVC、Mybatis、Redis等,前端使用了LayIm框架

Primary LanguageScala

SpringBoot-WebSocket

一个基于WebSocketLayIM的即时通讯系统,后台使用了Gradle集成了Spring BootScalaMybatisDevTools SpringBoot热部署方案以及Redis

需要

  • Scala 2.1+
  • JDK 1.8+
  • Gradle 3.+
  • Mysql 5.0+
  • Redis

技术

  • Gradle
  • Scala
  • SpringBoot
  • SpringSecurity
  • Mybatis And PageHelper
  • Redis
  • Alibaba Druid
  • Java Mail

界面

系统功能

功能设计

系统主页

发送文字、表情和图片

发送文件

获取群成员

聊天记录、分页处理

个人信息

群聊天记录、分页处理

查找好友并添加好友、现在默认查找全部

消息盒子并同意添加好友

右键菜单

好友资料

在线、隐身切换

注册、登陆

application.properties配置文件

你需要在这里配置你的Mysql数据库,Redis以及邮件服务器,如果不需要邮件相关服务,你可以在UserService.scala中注释掉相关的代码

# Application
spring.application.name=LayIM

# Mybayis
mybatis.mapper-locations=classpath*:/mapper/*Mapper.xml
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.use-generated-keys=true
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=30
spring.jpa.show-sql=true

# Datasource
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url = jdbc:mysql://localhost:3306/websocket
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name= com.mysql.jdbc.Driver

# Spring MVC
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
spring.http.multipart.max-file-size=50MB
spring.http.multipart.max-request-size=50MB

# Server
server.port=80
server.session.timeout=1800

# Email
spring.mail.host=smtp.qq.com
spring.mail.username=764341083@qq.com
spring.mail.password=ugmgoaidcsaobbaf
spring.mail.port=587
spring.mail.properties.mail.smtp.auth=true  
spring.mail.properties.mail.smtp.starttls.enable=true  
spring.mail.properties.mail.smtp.starttls.required=true  

# Redis Configration
# Redis database index, default is 0
spring.redis.database=0 
spring.redis.host=120.27.114.229
spring.redis.password=redis
spring.redis.port=6379
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.timeout=500

# Logging
logging.level.*=debug
logging.level.com.silence.repository=debug
logging.file=./log/spring.log

构建