天天看點

别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧

前言

你知道光是基于 Vue 的背景架構在 Github 上有多少個倉庫麼?

如果你搜尋 vue admin 會得到 13120 個倉庫,如果用 vue 背景 會得到 7596 個倉庫,如果把兩者結合一下,搜尋 vue admin 背景 也還是能得到 2719 個(以上搜尋統計截止至 2021/1/2)。

當然,如果你需要找一款背景架構用來做項目或者是産品,大機率你不會上 Github 現搜,國内有很多文章整理過值得一用的背景架構,例如 vue-element-admin 、d2-admin 、vue-antd-admin 等等,但隻有這些了麼?

今天,就給大家正式介紹一款值得進入你收藏夾吃灰你在 2021 年關注的背景架構:

别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧

Fantastic-admin —— 一款開箱即用的 Vue 中背景管理系統架構

為什麼要用它?

背景架構這麼多,Fantastic-admin 為什麼值得你去了解,它又有什麼亮點,下面就簡單介紹一下。

Tip:以下部分介紹為專業版功能

繼承自 vue-automation

我在之前的《收下這款 Vue 項目模版,它将讓你的開發效率在 2021 年提高 50%》這篇文章裡介紹過 vue-automation 這款 Vue 項目模版,它內建了很多不錯的特性可以友善在開發中直接使用,而必備浪費太多時間,而 Fantastic-admin 也繼承了大部分特性。

豐富的主題與布局

雙側邊欄布局 頭部導航布局 單側邊欄布局
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧
自适應 自适應(有最小寬度) 定寬居中 定寬居中(有最大寬度)
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧

除此之外,還提供了 5 款内置主題風格的界面可以選擇

預設 Vue CLI 風格 碼雲風格 清新 素雅
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧
别再費勁去找背景的前端架構了,2021 年就用 Fantastic-admin 吧

當然,也提供的自定義配置主題的檔案,可快速擴充一套自定義風格的主題。

路由導航

通過路由配置生成菜單導航是背景架構的必備功能,除此之外,路由配置還支援外鍊、标記、權限等功能,并且還支援無限層級的頁面緩存。

關于頁面緩存的問題,之前我也特别寫過一篇文章叫《一勞永逸,解決基于 keep-alive 的背景多級路由緩存問題》,感興趣的小夥伴可以前往了解。

權限驗證

除了路由上的權限驗證外,還分别提供了鑒權元件、鑒權指令和鑒權函數,提供全方位鑒權。

鑒權元件

頁面中某個子產品,目前使用者具備該權限是如何顯示,不具備該權限又是如何顯示,針對這樣的需求,架構提供了 <Auth> 和 <AuthAll> 元件,具體使用如下:

<!-- 單權限驗證 -->
<Auth :value="'department.create'">
    你有該權限
    <template slot="no-auth">
        你沒有該權限
    </template>
</Auth>

<!-- 多權限驗證,使用者隻要具備其中任何一個權限,則驗證通過 -->
<Auth :value="['department.create', 'department.edit']">
    你有該權限
    <template slot="no-auth">
        你沒有該權限
    </template>
</Auth>

<!-- 多權限驗證,使用者必須具備全部權限,才驗證通過 -->
<AuthAll :value="['department.create', 'department.edit']">
    你有該權限
    <template slot="no-auth">
        你沒有該權限
    </template>
</AuthAll>      

鑒權指令

對于單個元素,也提供了 v-auth 和 v-auth-all 鑒權指令,使用上對比鑒權元件更友善,當然它能做的事情也更簡單。

<!-- 單權限驗證 -->
<button v-auth="'department.create'">新增部門</button>

<!-- 多權限驗證,使用者隻要具備其中任何一個權限,則驗證通過 -->
<button v-auth="['department.create', 'department.edit']">新增部門</button>

<!-- 多權限驗證,使用者必須具備全部權限,才驗證通過 -->
<button v-auth-all="['department.create', 'department.edit']">新增部門</button>      

鑒權函數

鑒權元件和鑒權指令控制的是頁面上的元素是否展示,而鑒權函數則更多是使用在業務流程代碼裡的權限判斷。

// 單權限驗證,傳回 true 或 false
this.$auth('department.create')

// 多權限驗證,使用者隻要具備其中任何一個權限,則驗證通過,傳回 true 或 false
this.$auth(['department.create', 'department.edit'])

// 多權限驗證,使用者必須具備全部權限,才驗證通過,傳回 true 或 false
this.$authAll(['department.create', 'department.edit'])      

多頁面(Tab 标簽欄)

雖然我個人覺得這個功能挺雞肋的,實際效果體驗也不如浏覽器原生的 tab 标簽欄,但咱得有這功能。并且這功能目前在我看來,幾乎秒殺了其它同類架構,用一張圖簡單示範下吧:

國際化

最後