<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Soybean Admin清新優(yōu)雅的中后臺模版

          聯(lián)合創(chuàng)作 · 2023-09-19 14:00

          Soybean Admin 是一個基于 Vue3、Vite3、TypeScript、NaiveUI、Pinia 和 UnoCSS 的清新優(yōu)雅的中后臺模版,它使用了最新流行的前端技術棧,內置豐富的主題配置,有著極高的代碼規(guī)范,基于文件的路由系統(tǒng)以及基于 Mock 的動態(tài)權限路由,開箱即用的中后臺前端解決方案,也可用于學習參考。

          特性

          • 最新流行技術棧:使用 Vue3/Vite 等前端前沿技術開發(fā), 使用高效率的 npm 包管理器 pnpm
          • TypeScript: 應用程序級 JavaScript 的語言
          • 主題:豐富可配置的主題、暗黑模式,基于原子 css 框架 - UnoCss 的動態(tài)主題顏色
          • 代碼規(guī)范:豐富的規(guī)范插件及極高的代碼規(guī)范
          • 文件路由系統(tǒng):基于文件的路由系統(tǒng),根據頁面文件自動生成路由聲明、路由導入和路由模塊
          • 權限路由:提供前端靜態(tài)和后端動態(tài)兩種路由模式,基于 mock 的動態(tài)路由能快速實現后端動態(tài)路由
          • 請求函數:基于 axios 的完善的請求函數封裝,提供 Promise 和 hooks 兩種請求函數,加入請求結果數據轉換的適配器

          特性細節(jié)?

          • 技術棧: Vue3 + Vite3 + TypeScript + NaiveUI + Pinia + UnoCss + Axios + ECharts + AntV G2 + @vueuse + iconify

          • 嚴格的代碼規(guī)范

            • 基于 eslint + prettier 抽離的 eslint 規(guī)則依賴提供代碼全面的格式規(guī)范,eslintrc 的 import/order 規(guī)則規(guī)范了導入依賴的順序
            • 基于 simple-git-hooks 和 lint-staged 對 git 提交代碼進行規(guī)范,提交的內容規(guī)范遵循 Angular 提交規(guī)范

              通過@soybeanjs/cli 提供的 git-commit 命令生成符合 Angular 提交規(guī)范的 commit,通過 git-commit-verify 命令校驗 commit 是否符合 Angular 提交規(guī)范

            • 應用設計模式優(yōu)化代碼:項目里面多次用到策略模式
            • 所有頁面使用 script-setup 寫法,并遵循約定的順序寫法
            • 目錄結構組織遵循特定規(guī)范,頁面的寫法嚴格遵循模塊思想,使得每個頁面的代碼結構清晰明了
          • 權限路由

            • 根據文件自動生成路由的類型和路由模塊數據
            • 動態(tài)的路由數據由 mock 生成,前端添加動態(tài)路由
            • 指定了 mock 路由的類型,方便快速對接后端
            • 菜單由動態(tài)路由數據生成,支持隱藏指定菜單,支持多級菜單,支持外鏈打開
            • 在多頁簽中的緩存的頁面會記錄滾動位置
            • 面包屑數據由當前路由和菜單數據生成
          • 主題

            • 支持各種主題顏色、暗黑模式和各種布局
            • UnoCss 引入各種主題顏色,直接通過 class 即可應用對應的顏色
            • 初始化加載適應主題顏色
            • 支持項目 logo 自適應主題顏色
          • 請求函數:基于 axios 封裝

            • 請求實例:可創(chuàng)建多個不同的 baseUrl 的請求實例

            • 統(tǒng)一請求結果:將錯誤信息統(tǒng)一處理成特定格式,和請求成功的數據再按特定格式一起返回

              typescript
              /** 自定義的請求成功結果 */
              interface SuccessResult<T = any> {
              	/** 請求錯誤 */
              	error: null;
              	/** 請求數據 */
              	data: T;
              }
              /** 請求錯誤 */
              interface RequestError {
              	/** 請求服務的錯誤類型 */
              	type: RequestErrorType;
              	/** 錯誤碼 */
              	code: string | number;
              	/** 錯誤信息 */
              	msg: string;
              }
              /** 自定義的請求失敗結果 */
              interface FailedResult {
              	/** 請求錯誤 */
              	error: RequestError;
              	/** 請求數據 */
              	data: null;
              }
              /** 自定義的請求結果 */
              type RequestResult<T = any> = SuccessResult<T> | FailedResult;
            • 錯誤提示:智能提示錯誤,避免同一種錯誤在同一時間段顯示,通過指定錯誤碼不展示響應錯

            • token 刷新:無感刷新 token

            • 請求參數轉換:根據不同的 Content-Type 轉換數據,利用 qs 序列化數據,支持單文件和多文件上

            • 封裝的請求函數支持 Promise 和 hooks 兩種, hooks 的請求函數包含 loading 狀態(tài)

          • 自定義組件

            • 布局組件soybean-admin-layout

              • 分為 header、tab、sider、content、footer 五個部分,除了 content,其余都可以控制顯示隱藏,且可以自定義過度動畫
              • 支持 vertical 和 horizontal 兩種模式,結合局部的現實隱藏,為該項目提供了 4 種布局模式
              • 高性能組件,相比用 UI 組件構建的布局,該組件不用考慮很多因素,專注于當前的幾種布局模式
            • 多頁簽組件soybean-admin-tab:ChromeTab 和 ButtonTab

              • 支持主題顏色及暗黑模式
              • ChromeTab 類似于瀏覽器的標簽,樣式清新
              • 結合 BetterScroll,實現多頁簽組件的左右鼠標滑動(移動端左右觸摸滑動),激活狀態(tài)的 Tab 自動居中
            • LoadingEmptyWrapper

              • 支持現實加載狀態(tài)、空狀態(tài)和網絡狀態(tài)的組件
              • 支持主題顏色及暗黑模式
              • 圖片文字大小通過屬性配置
          瀏覽 17
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色操逼大片 | 一性一交一伦一色一区二免费看 | 中文字幕日韩成人 | 人人干人人叉人人操 | 国产精品一区二区性色AV |