随笔分类 - SimpleAdmin
1
摘要:一、说明 当有一个树形结构的数据有非常多个节点的时候,一次性加载所有节点会显得过于臃肿,可能会对性能造成影响,正好Ant Design 的树(Tree)组件支持异步加载,于是我就想把异步加载封装为一个组件,可以减少接口数据返回,点击展开节点,动态加载数据。非常好用! 二、前端实现 需要接收一些值用来
阅读全文
摘要:一、说明 在2.0的架构设计中引用了插件式开发的概念,将功能模块插件化,以实现更清晰的目录结构,更灵活的解决方案,减少代码的臃肿性。随着2.0版本的使用,也随之暴露出一些问题,之前讲究的插件化并没有完全的实现插件化,我理想的插件化应该是需要某个业务或者功能模块,直接引用该项目既可,不需要进行额外的操
阅读全文
摘要:一、说明 导入导出是系统中经常需要用到的功能,大部分系统的导入功能都是上传一个excel文件,然后导入成功就提示导入成功,失败就提示导入失败,顶多返回一个导入结果的excel,非常的不直观。如何设计一个优雅的导入让用户能非常直观的在数据还没导入进系统的时候看到有哪些数据是可以导入的,有哪些是会导入失
阅读全文
摘要:一、说明 批量修改功能是系统使用中经常用到的功能,可以修改多条数据的某一个属性值为某一个值,非常方便,目前市面上的开源系统好像都不支持批量修改功能,只支持手动的去一个个修改记录,非常麻烦,于是我根据这个需求开发了批量修改插件SimpleAdmin.Plugin.Batch,可以实现表的单个字段的批量
阅读全文
摘要:一、前言 传统开发中,通常采用DbFirst的方式开发,先有数据库和表,再将对应的表转为实体。随着技术的发展,开始有了CodeFist的方式开发,先创建实体类,再通过实体类反向的创建数据库和表结构,微软的EF框架就是典型,本系统使用的ORM是SqlSugar,同样也支持CodeFisrt,详情可以查
阅读全文
摘要:一、前言 在2.0的架构设计中,引入了插件的概念,目的就是为了解决代码臃肿问题,随着系统功能越来越多,System层的代码也越来越多,之前是以文件夹的方式区分功能模块,这样的话代码就过于集中,想找到某一个功能模块的代码就要翻好几个文件夹,不利于以后的开发和维护。所以在新的架构中,我将部分功能模块通过
阅读全文
摘要:一、说明 大部分项目里,其实有很多代码是重复的,几乎每个模块都有 CRUD 增删改查的功能,而这些功能的实现代码往往是大同小异的。如果这些功能都要自己去手写,非常无聊枯燥,浪费时间且效率很低,还可能会写错。 本框架提供代码生成器功能,通过选择数据库表,完成单表的增删改查管理功能,可以生成包括前端、后
阅读全文
摘要:一、说明 系统中有很多数据是不会经常修改的,但是读取的频率确很高,所以这时候就需要使用缓存将这些数据缓存起来。本系统支持MemeryCache和Redis分布式缓存两种方式,将一些基本信息表缓存在内存中,可以大大减少数据库压力,提高读取速度。关于Redis的说明和安装请自行百度,win下都是一键安装
阅读全文
摘要:一、前言 在之前使用其他admin的时候,经常会有人再部署的时候会遇到这么一个问题:明明在生产环境中配置了后端的api地址,但是通过nginx部署之后,请求的确是本地的地址。这是因为在项目中配置了代理,部署之后所有的请求都走了代理导致配置文件地址失效,关于vite代理说明,请自行百度,针对这种情况,
阅读全文
摘要:一、什么是国密加密 二、国密实现 本系统实现了国密SM2和SM4加解密,可以在SimpleAdmin.Core下的Utils->Cryptogram文件夹下找到。 2.1 SM2 Sm2加解密需要配置公钥和私钥,在配置文件中配置即可 前端通过公钥加密数据,详情可看utils下的smCrypto.js
阅读全文
摘要:一、前言 作为前后端分离项目,前后端交互是一个非常重要的功能。目前主流框架都是通过Socket实现,本系统自然也是实现了基于Signalr的前后端交互,并在此基础上实现了基于MQTT的前后端交互功能,MQTT相比socket业务场景更多更灵活,在物联网方向有着非常多的应用。在工业物联网方向,mqtt
阅读全文
摘要:一、说明 日志模块作为一个管理系统应该有的模块之一,在系统中有着举足轻重的作用,可以记录用户的操作记录和者系统异常,出现问题可以快速定位错误。在之前的系统开发中,我一般用的是Serilog来进行日志模块的开发,然而在Fruion推出了自己的日志功能之后,所有能改的系统都改成了Furion的日志模块,
阅读全文
摘要:一、说明 本系统权限设计采用的是标准的RBAC模型,即基于角色的访问控制,通过用户关联角色,角色关联权限,来间接的为用户赋予权限,当然也支持对用户进行单独授权,非常灵活。 用户和角色都比较熟悉了,不再赘述,这里说一下权限,在本框架中,权限分为四种: 1.1 功能菜单权限 一个系统中有很多菜单,功能菜
阅读全文
摘要:一、前言 不管是作为一个后台管理系统,还是客户端应用系统,登录都是一个必备的功能,基本上每个程序员都写过登录接口,基本就是用户输入账号密码然后去数据查比对是否一样,一样就返回登录成功,不一样就返回登录失败。当然这只是登录最简单的实现,其实登录是一个非常有技术含量的功能,本系统没有使用任何权限框架,而
阅读全文
摘要:一、前言 在传统的开发中,我们有用户user表,有角色role表,有菜单menu表,这些表代表着一个“实体”,而我们想把user和role关联,就会创建user_role关联表,想把role和menu关联,就会创建一个role_menu表,其实关联表创建多了,我们就不难发现,他们的结构大致是相同的,
阅读全文
摘要:一、启动 1.1 前端启动 1.1.1 安装nodejs 安装nodejs最新版,如果没有安装 Node.js ,下载地址:https://nodejs.org 安装完之后控制台输入node -v 能显示node版本表示安装成功。 1.1.2 拉取代码 从git上拉取最新的前端代码,进入代码目录,然
阅读全文
摘要:一、说明 本章主要介绍的是SimpleAdmin后端架构设计,作为一个系统的基石,一个好的架构设计可以让开发者在开发中少走很多弯路。在写SimpleAdmin这个系统之前,也用过一些其他的admin系统,在实际开发中发现一些问题,项目分层不清晰导致依赖严重,耦合度过高,将API和Service都写在
阅读全文
摘要:SimpleAdmin 🐔没有花里胡哨,只有简单、稳定、灵活、高效🐔 [](https://gitee.com/zxzyjs/SimpleAdm
阅读全文
摘要:框架相关 是否支持多租户? 1.当前版本并未实现多租户功能,因为在实际开发场景中,需要多租户的场景少之又少,多机构的模式完全可以满足99%的业务需求,增加多租户对代码量和BUG率有着明显的增加。2.多租户需要考虑的方方面面太多,并不是加个租户id这么简单,目前.net开源的多租户基本上就是套个租户i
阅读全文
摘要:一、介绍 💥SimpleAdmin一个小而美的通用业务型后台管理系统。前端基于小诺2.0版本,采用Vue3+Vite+Vuex,并在此基础上增加更人性化功能,后端采用.NET6/7+Furion,ORM采用Sqlsugar单例模式。基于RBAC+多机构的权限管理模式,实现接口级别的数据权限控制,集
阅读全文
1