项目介绍
功能简介
1. 用户管理
2. 角色管理
3. 部门管理
4. 菜单管理
5. 系统日志
6. 代码生成
8. 系统监控
9. 计划任务 推荐大家用xxl-job
10. 在线用户
11. 通知公告
4、平台
系统权限组件、数据权限组件、数据字典组件、核心工具组件、视图操作组件、工作流组件、代码生成等。 前端界面风格采用了结构简单、性能优良、页面美观大气的Twitter Bootstrap页面展示框架。 采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。 使用Maven做项目管理,提高项目的易开发性、扩展性。
项目模块介绍:
platform-api
前后端分离 对前端的统一接口处理,其中包含了 jwt的统一登录鉴权 还有service后台逻辑
platform-gateway
网关项目 做统计的内部转发 用于防范攻击等等,类似nginx的代理但是功能要多。有实现 redis的限流(目前根据ip来限流),熔断策略(目前仅用了超时的熔断)
还有结合nacos的配置管理跟注册服务。动态修改限流的策略。后期需要完善,前端可以直接用nginx来做简单的转发。后期数据量上来考虑完善这个项目 来做内部的网关
platform-jwt
工具类 简单jwt做鉴权,因为有秘钥等常量,同时websocket里面也有用户登录的操作,所以独立出来几个项目一起用
platform-mgr
后台管理项目 引用service项目 做后台的逻辑处理
platform-service
整个项目的 db+service 放到一起了,为了减少springcloud太多服务的坑,整合的一个核心的大的工具包
包含了 redis mysql(主从) 逻辑处理
platform-task
分布式任务调度执行项目 xxl-job项目做分布式任务调度。这个项目专门用户执行分布式任务。 比如获取第三方订单的记录。
每天统计生成报表等等。等。
platform-websocket
netty 实现消息通信 统计在线人数,发送消息等等。连接建立时前端可带入token 用于记录在线游客还是已注册的
nacos 注册中心跟配置管理中心 目前主要用注册中心 用户发现服务是否正常。 配置管理跟gateway结合着用,做网关的一些策略跟动态配置文件等。该项目为阿里云的开源项目 注册中心+配置管理。 有需要可以去学习一下http://dubbo.apache.org/zh-cn/docs/user/references/registry/nacos.html
xxl-job 分布式任务调度中心,(类似定时任务) 跨平台性,可以将不同项目的任务集中管理,查询日志 后台可以查询每个任务的执行日志
xxl-job 开源地址:https://github.com/xuxueli/xxl-job
项目结构
config放项目的配置文件 丢弃springcloud的配置文件项目
线上项目部署 将 config 改成正式配置 直接放入跟jar同级目录就行 还有lib。 所以每次上传就不需要单独修改配置文件 跟lib一起打包,减少项目体量 方便部署
config
lib
放到jar同级目录启动即可
nohup java -Dloader.path=/lib -jar /xxx.jar &
所用框架
前端
1. Bootstrap
2. jQuery
3. bootstrap-table
4. Layer+layuiMini 三级菜单解决 项目比较大菜单多的困扰
5. jsTree
6. summernote
7. jquery-validate
8. jquery-treegrid
后端
1. SpringBoot
2. MyBatis
3. Thymeleaf
4. Shiro+redis
5. druid
6. Ehcache
Git地址:https://gitee.com/super222/th-platform-master
项目只是初期的一个底层技术架构,业务不是太多。 可以方便大家做二次开发。