原创 SimpleAdmin手摸手教學之:基於Ant Design Tree組件實現樹形結構數據的異步加載

一、說明 當有一個樹形結構的數據有非常多個節點的時候,一次性加載所有節點會顯得過於臃腫,可能會對性能造成影響,正好Ant Design 的樹(Tree)組件支持異步加載,於是我就想把異步加載封裝爲一個組件,可以減少接口數據返回,點擊展開節點

原创 SimpleAdmin手摸手教學之:項目架構設計2.1

一、說明 在2.0的架構設計中引用了插件式開發的概念,將功能模塊插件化,以實現更清晰的目錄結構,更靈活的解決方案,減少代碼的臃腫性。隨着2.0版本的使用,也隨之暴露出一些問題,之前講究的插件化並沒有完全的實現插件化,我理想的插件化應該是需要

原创 SimpleAdmin手摸手教學之:導入導出

一、說明 導入導出是系統中經常需要用到的功能,大部分系統的導入功能都是上傳一個excel文件,然後導入成功就提示導入成功,失敗就提示導入失敗,頂多返回一個導入結果的excel,非常的不直觀。如何設計一個優雅的導入讓用戶能非常直觀的在數據還沒

原创 SimpleAdmin手摸手教學之:批量修改

一、說明 批量修改功能是系統使用中經常用到的功能,可以修改多條數據的某一個屬性值爲某一個值,非常方便,目前市面上的開源系統好像都不支持批量修改功能,只支持手動的去一個個修改記錄,非常麻煩,於是我根據這個需求開發了批量修改插件SimpleAd

原创 SimpleAdmin手摸手教學之:CodeFirst

一、前言 傳統開發中,通常採用DbFirst的方式開發,先有數據庫和表,再將對應的錶轉爲實體。隨着技術的發展,開始有了CodeFist的方式開發,先創建實體類,再通過實體類反向的創建數據庫和表結構,微軟的EF框架就是典型,本系統使用的ORM

原创 SimpleAdmin手摸手教學之:插件管理

一、前言 在2.0的架構設計中,引入了插件的概念,目的就是爲了解決代碼臃腫問題,隨着系統功能越來越多,System層的代碼也越來越多,之前是以文件夾的方式區分功能模塊,這樣的話代碼就過於集中,想找到某一個功能模塊的代碼就要翻好幾個文件夾,不

原创 SimpleAdmin手摸手教學之:項目架構設計2.0

一、說明 在SimpleAdmin1.0版本中,我將整體項目結構分爲三大塊,分別爲架構核心、業務模塊和應用服務。隨着1.0版本的封版,回去再看我之前的項目架構,也暴露了一些問題,比如在1.0版本中,Signalr和Mqtt只能二選一,這顯然

原创 SimpleAdmin手摸手教學之:代碼生成

一、說明 大部分項目裏,其實有很多代碼是重複的,幾乎每個模塊都有 CRUD 增刪改查的功能,而這些功能的實現代碼往往是大同小異的。如果這些功能都要自己去手寫,非常無聊枯燥,浪費時間且效率很低,還可能會寫錯。 本框架提供代碼生成器功能,通過選

原创 SimpleAdmin手摸手教學之:請求代理

一、前言 在之前使用其他admin的時候,經常會有人再部署的時候會遇到這麼一個問題:明明在生產環境中配置了後端的api地址,但是通過nginx部署之後,請求的確是本地的地址。這是因爲在項目中配置了代理,部署之後所有的請求都走了代理導致配置文

原创 SimpleAdmin手摸手教學之:國密加密

一、什麼是國密加密 二、國密實現 本系統實現了國密SM2和SM4加解密,可以在SimpleAdmin.Core下的Utils->Cryptogram文件夾下找到。 2.1 SM2 Sm2加解密需要配置公鑰和私鑰,在配置文件中配置即可

原创 SimpleAdmin手摸手教學之:Redis緩存

一、說明 系統中有很多數據是不會經常修改的,但是讀取的頻率確很高,所以這時候就需要使用緩存將這些數據緩存起來。本系統採用Redis分佈式緩存,將一些基本信息表緩存在內存中,可以打打減少數據庫壓力,提高讀取速度。關於Redis的說明和安裝請自

原创 SimpleAdmin手摸手教學之:即時通訊

一、前言 作爲前後端分離項目,前後端交互是一個非常重要的功能。目前主流框架都是通過Socket實現,本系統自然也是實現了基於Signalr的前後端交互,並在此基礎上實現了基於MQTT的前後端交互功能,MQTT相比socket業務場景更多更靈

原创 SimpleAdmin手摸手教學之:操作日誌

一、說明 日誌模塊作爲一個管理系統應該有的模塊之一,在系統中有着舉足輕重的作用,可以記錄用戶的操作記錄和者系統異常,出現問題可以快速定位錯誤。在之前的系統開發中,我一般用的是Serilog來進行日誌模塊的開發,然而在Fruion推出了自己的

原创 SimpleAdmin手摸手教學之:權限設計

一、說明 本系統權限設計採用的是標準的RBAC模型,即基於角色的訪問控制,通過用戶關聯角色,角色關聯權限,來間接的爲用戶賦予權限。 用戶和角色都比較熟悉了,不再贅述,這裏說一下權限,在本框架中,權限分爲四種: 1.1 功能菜單權限 一個系

原创 SimpleAdmin手摸手教學之:關聯關係

一、前言 在傳統的開發中,我們有用戶user表,有角色role表,有菜單menu表,這些表代表着一個“實體”,而我們想把user和role關聯,就會創建user_role關聯表,想把role和menu關聯,就會創建一個role_menu表,