放眼望去,开源脚手架层穷不出,在 Gitee (码云是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 600 万的开发者选择 Gitee)浏览的时候,看的眼花,拿不准想用哪一款框架开发公司的业务或者当一个脚手架,更担心代码会不会有后门,还担心商用会不会侵权,是否额外二次封装还不开源的JAR。今天能阅读到这篇文章,不妨看看 小诺团队 开发的Snowy。 Snowy 团队认为,一套完美的脚手架,不仅长的漂亮,用户体验好,最重要的是能给开发者带来愉悦的开发体验跟大道至简的代码逻辑,及数据库适配带来的烦恼和作者开放的可商用协议。那么恭喜你, Snowy 来帮你~
Snowy简介
Snowy 是小诺团队下基于
SpringBoot+AntDesignVue开发的Java全新RBAC权限管理系统,前后分离,注释丰富,代码简洁。在国策讲究自主可控的时候,适配国产数据库(金仓、达梦)、主流数据库MySQL、Oracle、MSSQL、PostgreSQL,小诺的产品一致追求简洁干净,一套代码搞定!同时支持国产中间件部署、麒麟操作系统、Windows、Linux部署使用!同时拥有三个版本,Vue前后分离版、Layui单体版本、Cloud( https://gitee.com/xiaonuobase/snowy-cloud )微服务前后分离版本。如果此三款版本还不满足,作者还有Flowable版本工作流、多数据源、多租户、支付模块。
Snowy谐音“小诺”,恰应小诺团队名称;意思为”下雪的、纯洁的“,寓意框架追求简洁至上,大道至简。
小诺团队是一帮热血青年,更新代码的速度也是相比Gitee同类产品超之又超,群消息回复也是由团队亲自一一解答,就差手把手来教。
框架的基础功能
技术架构图
源码地址(Star 1k+)
在线演示(直接体验)
- 账号密码:superAdmin/123456,地址:https://vue.xiaonuo.vip
系统界面
界面
截图
界面
截图
框架亮点及优势
01
模块化架构设计,层次清晰
模块树
├─snowy ->项目工程
│ ├─snowy-base ->框架基础模块
│ ├─snowy-core ->核心模块
│ ├─snowy-gen ->代码生成
│ ├─snowy-system ->基础业务
│ ├─snowy-main ->业务开始模块
│ ├─业务 ->您的业务
02
独创前端字典翻译
全部字典数据储存前端store,后端接口数据统一过滤器翻译下拉框,多选框等取值只需1行代码:('dictData'为过滤器名称,'sex'为字典类型code)返回数组字典
this.$options.filters'dictData'
或直接给值
{{code|dictData}}
列表数据中字典翻译:('code'为字典类型唯一code,'value'为待翻译的值)返回name
{{code|dictType(value)}}。
03
独创的数据权限范围机制
数据范围的分配也来自于给用户单独分配的数据范围,最终决定用户有几个公司的数据范围的是,用户拥有的角色的数据范围 + 用户直接分配的数据范围
若一个用户有多个角色,系统最终判定用户有哪些数据范围是以多个角色和用户数据范围的 并集 为准。
仅通过注解就可以获取当前用户的数据范围,不强制联查sql可根据业务需求极其灵活的使用
@DataScope
param类继承baseparam,使用param.getDadaScope即可获取到数据权限列表
@EqualsAndHashCode
(callSuper = true)
@Datapublic class
SysUserParam extends
BaseParam {
04
独创的文件预览系统
支持txt.doc.docx.ppt.pptx.xls.xlsx.pdf.png.jpg.jpeg.bmp.gif等。预览速度快,兼容性好,支持常见文本格式.只需在运行环境一键安装libreoffice即可,运行简单,操作方便。
libreoffice文档在线预览配置
CentOS 下安装 libreoffice:
安装:yum -y install libreoffice
Linux 中文字体乱码解决:
1、上传 C:\Windows\Fonts 下的字体到 /usr/share/fonts/windows 目录
2、执行命令:chmod 644 /usr/share/fonts/windows/* && fc-cache -fv
jodconverter:
local:
#暂时关闭预览,启动时会有点慢
enabled: false
#设置libreoffice主目录 linux地址如:/usr/lib64/libreoffice
office-home: C:\Program Files\LibreOffice
#开启多个libreoffice进程,每个端口对应一个进程
port-numbers: 8100
#libreoffice进程重启前的最大进程数
max-tasks-per-process: 100
05
其它优势
前后端分离架构,分离开发、部署,互不影响
前端技术采用vue + antdvPro + axios
后端采用SpringBoot、Mybatis-Plus、hutool等,开源可靠
基于SpringSecurity(JWT)+用户UUID双重认证
基于AOP实现的接口粒度的鉴权,最细粒度过滤权限资源
基于Hibernate Validator实现的校验框架,支持自定义校验注解
提供Request-No的响应Header快速定位线上异常问题
在线用户可查,可在线踢人,同账号登录可同时在线,可单独在线(通过系统参数配置)
支持前端 + 后端在线代码生成
文件,短信,缓存,邮件等,利用接口封装,方便拓展
短信默认使用阿里云SMS,缓存默认使用内存缓存
详细功能
//Detailed Functions//
-
主控面板、控制台页面,可进行工作台,分析页,统计等功能的展示。
-
用户管理、对企业用户和系统管理员用户的维护,可绑定用户职务,机构,角色,数据权限等。
-
应用管理、通过应用来控制不同维度的菜单展示。
-
机构管理、公司组织架构维护,支持多层级结构的树形结构。
-
职位管理、用户职务管理,职务可作为用户的一个标签,职务目前没有和权限等其他功能挂钩。
-
菜单管理、菜单目录,菜单,和按钮的维护是权限控制的基本单位。
-
角色管理、角色绑定菜单后,可限制相关角色的人员登录系统的功能范围。角色也可以绑定数据授权范围。
-
字典管理、系统内各种枚举类型的维护。
-
访问日志、用户的登录和退出日志的查看和管理。
-
操作日志、用户的操作业务的日志的查看和管理。
-
服务监控、服务器的运行状态,Java虚拟机信息,jvm等数据的查看。
-
在线用户、当前系统在线用户的查看。
-
数据监控、druid控制台功能,可查看sql的运行信息。
-
公告管理、系统的公告的管理。
-
文件管理、文件的上传下载查看等操作,文件可使用本地存储,阿里云oss,腾讯cos接入,支持拓展。
-
定时任务、定时任务的维护,通过cron表达式控制任务的执行频率。
-
系统配置、系统运行的参数的维护,参数的配置与系统运行机制息息相关。
-
邮件发送、发送邮件功能。
-
短信发送、短信发送功能,可使用阿里云sms,腾讯云sms,支持拓展。
本地运行演示
运行说明
视频中的本地运行测试,为小帅本人亲测哦。没有坑,只要有JavaWeb经验,运行起来绝对不是问题
温馨提示:
IntelliJ IDEA 记得安装Lombok插件哦。要不然会报错说没有set/get方法~
Maven建议也安装配置哦。推荐使用阿里云源。下载JAR快哦~
官网公众号:
微信扫码关注公众号,免费加入微信交流群。
点击 阅读原文 ,直达源码地址