Skip to content
This repository has been archived by the owner on May 30, 2024. It is now read-only.

MoomFE-Starter-Template/Admin

Repository files navigation

后台管理系统模板

基于 Naive UI 的后台管理系统模板, 目前仅是一个基础的实例


特性


预配置

UI 框架

  • UnoCSS - 高性能且极具灵活性的即时原子化 CSS 引擎
  • Naive UI - 比较完整,主题可调的组件库

Icons

插件

编码风格

开发工具


项目目录结构

  • ***.code-workspace: VsCode 工作区文件, 使用这个打开项目
  • public: 打包后需要放到根目录的文件
  • dist: 打包后的代码
  • src: 源码
    • assets: 存放静态资源
    • styles: 公共样式
    • shared: 公用变量 or 函数
    • lib: 外部依赖库 ( 不满足需求需要重构时或者外部依赖库有 BUG 时, 从 node_modules 移至这里 )
    • utils: 工具函数
    • modules: 项目依赖类库的配置
    • workers: 存放独立的 Web Worker 应用
    • stores: 状态存储
    • composables: 组合式函数
    • components: 公共组件 ( 相对独立的组件, 离开当前项目也能使用的组件 )
    • components-private: 私有组件 ( 只能在当前项目中使用的组件, 比如说包含了业务代码的组件 )
    • layouts: 布局组件
    • pages: 页面

开始

使用项目根目录的 ***.code-workspace 文件进入 VsCode 工作区

安装相应的 VsCode 扩展 ( 首次进入工作区时, 右下角会提示安装 ), 可以在扩展界面, 输入 @recommended 检查安装状态

执行以下命令就可以启动项目

  pnpm dev # 如果你没装过 pnpm, 可以先运行: npm install -g pnpm

项目配置

name ( string ) ( 必填 )

  • 项目名称
  • 默认值: 'NaiveUI Admin'

titleTemplate ( string )

  • 标题名称模板, 用于自定义页面标题的格式, 使用 ':title' 代表当前路由的 meta.title 属性
  • 默认值: ':title | ${settings.name}'
  • 设置标题的相关代码在 src/modules/router/index.ts

路由鉴权

  • 通过在路由中配置 meta.requiresAuth 来判断是否需要鉴权

菜单栏

  • 菜单为遍历所有路由生成的

    • 但是排除以下情况的路由
      • path: ['/', '/:all(.*)*', '/login']
      • meta.hidden: true
    • 相关代码在 src/modules/router/utils.ts
  • 菜单栏图标

    • 首先在 src/modules/router/icons.ts 引入图标后导出, 导出名为图标名称
    • 为路由添加 meta.icon 属性, 值为图标名称
  • 菜单排序

    • 为路由添加 meta.sort 属性, 可为同一文件夹下的路由进行排序

Releases

No releases published

Packages

No packages published

Languages