前言
随着国家对信息安全的重视不断提升,国产密码算法(即"国密")在各类系统中的应用也日益广泛。为了满足企业在等保合规、数据安全、国产化适配等方面的多重需求,Snowy(SnowyAdmin)应运而生。
作为国内首个支持国密加解密的前后端分离快速开发平台,Snowy 采用主流开源技术栈开发,融合 Vue3、AntDesignVue4、Vite5、SpringBoot3、MyBatis-Plus、HuTool 和 Sa-Token 等核心技术,具备高可扩展性、易用性和安全性,是企业级项目快速落地的不错选择。
本文将从多个维度深入解析 Snowy 的架构设计、功能特点及技术实现,帮助大家全面了解这一优秀的国产开源项目。
项目介绍
Snowy 是由小诺团队打造的一款开源快速开发平台,其核心目标是为开发者提供一个符合国产化标准、集成国密算法、全栈可扩展的企业级开发框架。
该项目名称源自英文单词 "Snowy",寓意"纯洁",象征着代码结构的简洁与设计理念的纯粹。它不仅是一款技术工具,更是推动国产密码普及和应用的重要载体。
Snowy 支持多租户、工作流、即时通讯、多数据源等高级插件,适用于政务、金融、教育、医疗等多个行业领域。目前项目已开源,并可在 Gitee、GitHub、GitCode 等平台上免费下载使用。
项目功能
国密加解密支持:集成 SM2、SM3、SM4 算法,保障前后端通信与数据存储的安全性。
用户权限管理:包含登录鉴权、角色分配、菜单权限控制等功能。
操作日志记录:所有用户行为均被详细记录,并通过 SM2 签名保证完整性。
代码生成器:支持根据数据库自动生成前端页面与后端接口,提升开发效率。
多租户管理:支持 SaaS 架构下的多租户隔离与资源分配。
移动端适配:内置移动端管理插件,支持响应式布局。
国际化支持:支持中英文切换,便于多语言环境部署。
缓存与数据库兼容:支持 Redis 缓存和 MySQL 5.7/8.0 数据库。
项目框架
业务架构
应用架构
数据结构
技术架构
部署架构
代码结构
Snowy3.0框架对代码以插件化的模式进行分包,使得包层级结构更加清晰合理,同时降低了耦合度,关于插件模块化开发的规范请查阅文档【SNOWY开源文档——前端手册or后端手册——开发规范】板块。
项目特点
1、国内首个支持国密算法的前后端分离开发平台;
2、技术栈前沿,基于 Vue3 + SpringBoot3 开发;
3、插件化架构设计,模块清晰、耦合度低;
4、完全适配国产化环境,包括操作系统、中间件和数据库;
5、提供丰富的业务插件,如工作流、多租户、即时通讯等;
6、支持等保测评要求,符合安全合规标准;
7、开箱即用,注释丰富,文档齐全,适合新手与团队协作;
8、提供视频教程和完整开发手册,降低学习门槛;
9、演示地址开放,方便快速上手体验;
10、可平滑升级至新版本,维护成本低。
项目技术
Snowy 使用了当前主流且稳定的开源技术栈:
前端技术栈
-
Vue 3:新一代前端框架,性能更优;
-
Ant Design Vue 4:基于 Ant Design 的 Vue 组件库;
-
Vite 5:快速构建工具,提升开发效率;
-
Pinia:状态管理库,替代 Vuex;
-
TypeScript:增强类型检查,提高代码质量;
后端技术栈
-
Spring Boot 3:轻量级 Java 框架,快速搭建服务;
-
MyBatis Plus:增强 ORM 层操作,简化数据库交互;
-
HuTool:国产优秀工具类库;
-
Sa-Token:轻量级权限认证框架;
-
Redis:高性能缓存中间件;
-
MySQL 5.7 / 8.0:稳定可靠的数据库引擎;
工程结构
-
插件化分包结构,主模块包括前端 web、通用 common、插件 plugin、API 接口定义等;
-
支持多模块协同开发,便于功能拆分与复用;
密码处理流程
| 功能 | 算法类型 |
|---|---|
| 登录 | SM2 前端加密,后端解密 |
| 登录登出日志 | SM2 对日志签名,确保完整性 |
| 操作日志 | SM2 签名保护存储 |
| 用户密码 | SM3 完整性保护,登录时校验 |
| 用户手机号 | SM4 (CBC 模式) 加解密,字段脱敏 |
这种深度集成国密算法的方式,有效提升了系统的整体安全性,尤其适用于对数据隐私有高要求的政府或金融场景。
项目使用
前端启动
前端支撑 node.js≥18 JavaScript 运行环境
npm install
npm run dev
后端启动
jdk 17 java环境
lombok idea内 代码简化插件
maven 最新版 包管理工具
redis 最新版 缓存库
mysql 8.0/5.7 数据库
开发工具内配置好maven并在代码中配置数据库即可启动
项目效果
演示地址:snowy.xiaonuo.vip
可直接在线体验其功能模块与界面风格。
1、系统登录
2、系统首页
3、业务首页
4、工作流程
5、即时通讯
6、在线办公
项目源码
Gitee:gitee.com/xiaonuobase…
GitHub:github.com/xiaonuobase…
GitCode:gitcode.com/xiaonuobase…
演示地址:snowy.xiaonuo.vip
文档地址:xiaonuo.vip/doc
总结
Snowy 是一款集国密算法支持、国产化适配、前后端分离架构、插件化扩展能力于一体的开源快速开发平台。它不仅解决了传统系统在安全合规方面的短板,还通过现代化的技术栈和模块化的设计,大幅提升了开发效率和系统可维护性。
关键词
Snowy、国密算法、SpringBoot3、Vue3、快速开发平台、国产化适配、Sa-Token、MyBatisPlus、开源项目、前后端分离
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!