hwg001-JWeb 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
hwg001-JWeb 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
hwg001-JWeb 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Mulan
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 hwg01
适用人群 未知
收录时间 2021-03-23

软件简介

JWeb 后台管理系统,基于Springboot、springCloud(Gateway)、Consul(注册中心)、Mybatis开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:用户管理、功能菜单管理、角色管理、权限管理、部门管理、字典管理、参数配置、日志和在线用户等,界面简洁美观大方,使用舒适,适合新项目的快速搭建开发。

软件架构

输入图片说明

在线演示

在线演示地址: http://139.227.254.194:18081/ 用户名:admin 密码:123456 (注意:请使用较新版本浏览器(支持localstorage,css3等),推荐使用google浏览器。)

部分页面截图

1、登录页面

输入图片说明

2、首页

 输入图片说明

3、统一用户管理模块

 输入图片说明

4、访问日志

 输入图片说明

5、在线文档(Swagger3) 输入图片说明

项目模块介绍

  1. module-root。此模块配置基础公共依赖,以及spring等相关Maven仓库信息,此模块本身不包含代码。
  2. module-common。此模块依赖module-root模块,主要提供一些通用的工具类。
  3. module-api-gateway。网关模块,此模块依赖module-root模块,基于springCloud中的Gateway实现,主要完成路由、统一鉴权和日志记录。
  4. module-uums。统一用户管理模块,此模块依赖module-root模块,实现用户、角色、部门、权限、参数配置、字典等功能。
  • 另外注册中心使用Consul实现,module-uums模块注册到注册中心,module-api-gateway模块从注册中心发现服务。

开发环境搭建

本项目使用Eclipse作为开发工具基于springboot、Maven构建的微服务项目,具体环境和下载如下:

  1. JDK。 安装JDK8及以上版本,JDK8下载路径:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。
  2. Mysql。Mysql下载路径:https://dev.mysql.com/downloads/mysql/,建议安装Mysql5.5以上。
  3. IDE。本项目使用Eclipse作为开发工具,下载路径:https://www.eclipse.org/downloads/,比较新版本的Eclipse一般都自带了SVN,GIT、Maven等插件,如果没有可以自己安装。
  4. Consul。Consul下载地址:https://www.consul.io/downloads,本项目使用的是1.9.4版本,下载最新版本安装即可。
  5. Navicat。数据库管理工具,根据自己的喜好,可以使用其他数控管理工具,下载地址:http://www.navicat.com.cn/products
  6. 创建数据库和表结构,初始化数据。创建一个数据库,本项目中数据库名为:module-uums,创建好数据库后,下载sql.sql脚本,执行脚本创建表结构和初始化数据。(注意:查看定时策略是否开启:show variables like '%event_sche%',若未开启执行set global event_scheduler=1开启)

Eclipse安装好后,要把JDK环境配置好,相关文章网上都很多的,基本上不会有问题。都安装好后,启动Mysql和Consul服务,使用默认端口即可。 克隆项目源代码到本地解压,使用Eclipse导入module-root、module-common、module-api-gateway和module-uums四个模块到工程中,这4个模块中,module-root是基础的Maven相关依赖仓库配置模块,module-common是公共的工具类模块,只要运行module-api-gateway和module-uums模块即可。module-api-gateway模块启动类:com.hm.gateway.ApiGatewayApplication,点击运行即可;module-uums模块启动类:com.hm.uums.UUMSApplication,点击运行即可。运行后访问:http://127.0.0.1:8080/如果能正常访问,恭喜你环境搭建OK了!

关于部署

Mysql和Consul和开发环境类似安装,而module-common和module-api-gateway模块需要使用Maven编译部署到本地仓库,然后把jar拿到需要部署的服务器上运行即可。当然如果你要使用tomcat,也可以把module-common和module-api-gateway模块打包为相应的war包,部署到tomcat中即可。

关于一些设计想法

本项目总体上是比较简单的,看软件架构基本上能总体掌握,这里想聊一聊token。本来一开始想用JWT TOKEN这样的框架来处理token的,但觉得不太符合自己的需要,而且用不上很多功能,故没用。以下是此项目中token的处理:

  • token的生成和保存:用户登录成功后,后台会生成一个MD5的token,token会被保存到Mysql数据库表中;
  • token超时处理:用户每次调用微服务API都会刷新token的访问时间,在参数配置中有一个参数是设置token超时时间的,默认为30分钟,mysql中设置了一个都是任务,每隔1分钟对token进行检查,如果用户最后访问的时间到目前已经超过了设置的超时时间,则删除token,用户再次访问需要重新登录认证。

本项目实现的是基础功能,实际开发中,可能需要根据具体需求搭配不同组件,如缓存数据库(如Redis)、负载均衡、消息队列、熔断处理等,项目本身就比较简单,很方便扩展改造。本人能力有限,大家若发现项目中存在的缺陷或者错误,恳请大家批评指正,谢谢

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(3) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
3 评论
14 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部