还在用generator生成xxx管理系统的CRUD代码?来看看我是怎么写的
🥓前言
眾所周知,后端程序員有一個別名,叫CRUD程序員,為什么這么叫呢?因為后端程序員大部分時間都在寫CRUD上,一旦有一個新的管理系統來臨的時候,我們一般都是需要自己重新手寫CRUD的代碼,甚至有時候連前端都要換,一直寫CRUD代碼不僅僅會對我們的自身技術提升沒有任何幫助,還會讓我們對程序員這份工作產生麻木感,覺得寫代碼就這?就這?
很多人會說可以使用Mybatis或者是MyBatis-plus的代碼生成器,不可否認,這類的生成器確實可以生成出很多機械的代碼,但是他有兩個很致命的缺陷:
我今天無聊去biying上搜了以下CRUD,可真別說,搜出來了一個寶貝——iCRUD,順帶體驗了一圈他的功能,很完美的替換了我之前使用的任何generator,不黑不吹。
🧇簡介
國際慣例,先給出iCRUD的官網:https://icrud.iviewui.com/,看樣子iCRUD開發的小伙是xx榮耀的愛好者,還喜歡玩百里守約。
iCRUD有兩種使用方式:
🍿基于Vue UI Table
他大概長這樣。
我們可以看出CRUD一應俱全,我還是突然有點好奇,他是怎么樣查詢和渲染出來的數據,這個表格下面有代碼,我們來分析一下。
可以從我截圖出來的代碼里面很容易看到,他確實是僅通過 iCRUD 的 API 配置實現,均無額外業務代碼,他是發了ajax請求,然后去渲染數據(是不是看到這代碼有點像平時自己寫的?),而且他的角色、性別、狀態使用數據字典且為服務端并自動緩存,意味著我們如果需要做一些自動緩存的字段就可以直接套用他的邏輯代碼,無需二次重寫。
點擊查看詳情的時候他也是側開。
有意思的是他支持跨頁多選,這個需求我聽過但是現實中沒有做過,看起來不是很好實現。
我再試了一下模糊查詢,13條數據的情況下查詢速度還挺快,我查看了一下他的源碼,他并沒有走后端的查詢接口,難怪會這么快。
他的編輯和查詢不一樣,編輯是中間彈出模態框。
他還有一個很有意思的點,是它可以導出報表下載,他導出數據為 xlsx。
可以看得出來,導出的excel格式還是很工整的,便于我們后期進行二次開發,包括上傳員工模板進行批量導入的POI操作。
除了導出excel他還支持調出打印機,交互效果直接拉滿。
🌭基于 vxe-table
這個界面和基于 View UI Table 一模一樣,我們僅僅只需要在代碼中該一行配置參數,就可以實現無縫銜接,兼容了各種不同的UI庫,這個點也是iCRUD很棒的。
🍔大數據渲染(基于 vxe-table)
現在說到大數據估計很多人都不會陌生,如果你都系統是對C端用戶的管理(類似于淘寶對注冊用戶的管理),當注冊的用戶達到一個量級的時候,如果你使用普通的后臺管理系統模板的話,會遭遇穩定性的瓶頸,但是iCRUD給我們寫好了一個基于 vxe-table的表格渲染,我們只需要拿到后端返回的真實數據即可實現和前面一模一樣的效果。
iCRUD給的演示頁面基于虛擬滾動技術,動態設置大量列配置和大量數據,共計超過 100列*2000行=20萬數據節點,最大可支撐5萬列、30萬行。在3000行左右的數據做一個快速滾動,基本上沒有視覺上的延遲。同時前面基于Vue UI Table所展示出的絕大多數CRUD功能他都支持。
當我們有渲染大數據表格需求的時候,我們只需要將table這個參數設置為vxe即可,不僅僅兼容了iCRUD絕大多數的功能,甚至連API參數都不需要改,同時兼容了與 View UI Table 部分核心功能統一的 API。
🍕總結
一個字總結——全,整套體驗下來基本上我一個后端程序員該寫的不該寫的功能他全部都幫我實現好了,確實是幫后端程序員減輕了很多的壓力,減少書寫很多無意義代碼的時間,可以更專注于做一些優化層面上的事情,而且他還支持一些大數據方面和POI層面的功能,目前市面上還是很少見的。
總結
以上是生活随笔為你收集整理的还在用generator生成xxx管理系统的CRUD代码?来看看我是怎么写的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一款游戏让你成为 Vim 高手!
- 下一篇: android10代码开启横幅通知,An