基于 Vue3.x + Vite4.x + Ant Design Vue 构建的适用于中后台管理系统的组合模板框架。
( A unified template used to backend management system based on Vue3.x + Vite4.x + Ant Design Vue. )
🚩
Makeit Admin Pro
是基于Vue3.x + Vite4.x + Ant Design Vue
构建开发的一套适合中后台管理项目的UI
框架。🔰 框架内置了统一风格的页面布局 / 注册页面 / 登录页面 / 忘记密码 / 滑块验证码组件 / 搜索联想组件 / 动态菜单配置 / 权限管理配置等常用模块,开箱即用(有部分组件已抽离并发布于
Npm
,可单独安装使用)。🍭 设计这套框架的初衷是为了免去中后台管理项目中,基础又重复的页面构建,如各个项目的基础布局,登录 / 注册 / 忘记密码等模块,让开发人员能更加专注于业务内容的开发,无需花费过多的时间在基础构建上。框架封装了
Axios
/Cookie
/Storage
等常用的基础基础功能,如cookie
可通过如this.$cookie
形式直接调用,同时也支持开发人员自行定制,易于扩展。现阶段还在不断完善,持续开发更新中 ...🐛 该框架并不一定适合所有人的需求,若您看到或是尝试使用了该框架 😇 对该框架的
UI
或功能组件的使用有更好的建议,或组件存在BUG
等,欢迎来 这里 提issues
,我将尽力去解决相应的问题及尽量满足一些合理的定制化需求。
✅ 主题配置 ( css variables
)
✅ 国际化 ( vue-i18n
)
✅ Cookie ( document.cookie
)
✅ Storage ( localStorage & sessionStorage
)
✅ Request ( axios
)
✅ Global ( 全局配置 global configuration
)
✅ Tools ( 全局公用函数库 common functions
)
✅ 基础布局 ( Layout
) 💖
✅ 滑块验证码 ( Captcha
) 💥
✅ 锚点链接 ( Anchor
) 🎈
✅ 时钟 ( Clock
- 仿 Apple Watch
表盘 ) 🕜
✅ 下拉菜单 ( Dropdown
) 🌴
✅ 忘记密码 ( Forget
) 🔨
✅ 历史路由 ( History
) 🎸
✅ 登录组件 ( Login
) 🍒
✅ 注册组件 ( Register
) 🏰
✅ 菜单组件 ( Menu
) 🚀
✅ 弹窗动效 ( Modal
) 🚥
✅ 消息中心 ( Notice
) 📍
✅ 密码设置 ( Password
) 🈲
✅ 搜索组件 ( Search
) 📑
✅ 代码高亮 ( Code
) 🛬
✅ 标题设置 ( Title
) 🌴
✅ 引用说明 ( Quotes
) #️⃣
✅ 回到顶部 ( Backtop
) 🔝
❌ 权限控制 😎
✅ 应用管理 🌹
✅ 菜单配置 ( 动态路由 ) 🚩
✅ 语言配置 ❄️
❌ 富文本编辑器 🌊
❌ 地域选择 😻
❌ 异常页面 ( 404
) 😴
❌ 个人中心 😍
✨ ······
npm i makeit-admin-pro
import { createApp } from 'vue'
import MakeitAdminPro from 'makeit-admin-pro'
import 'makeit-admin-pro/dist/miitvip.min.css'
import App from './app.vue'
const app = createApp(App)
app.use(MakeitAdminPro)
app.mount('#app')
<template>
<mi-layout>
<template v-slot:headerExtra>
<mi-search :data="searchData"
search-key="title"
:width="120"
:height="48"
placeholder="搜索组件"
:list-width="320"
:list-height="335"
:gap="4"
:page-size="3"
:list-radius="8"
border-color="transparent"
background-color="transparent" />
</template>
</mi-layout>
</template>
<script setup>
import { getCurrentInstance } from 'vue'
import { DashboardOutlined, LayoutOutlined } from '@ant-design/icons-vue'
const { appContext: {config: {globalProperties: vm}} } = getCurrentInstance()
// 全局变量, 直接设定左侧菜单
vm.$g.menus.items = [{
name: 'dashboard',
path: '/dashboard',
meta: {
title: '控制中心',
subTitle: 'Dashboard',
icon: DashboardOutlined,
tag: {color: '#f50', content: 'Hot'}
}
}, {
// ... sider menu
}]
// 搜索数据
const searchData = [{
title: '页面布局',
content: '基于 Layout 组件的二次定制',
link: '/layout',
icon: LayoutOutlined
}, {
// ... search data
}]
</script>
<template>
<mi-login :action="api.login"
:background="bg"
:captcha-init-action="api.captcha.init"
:captcha-verify-action="api.captcha.verify" />
</template>
<script setup>
import bg from '@images/login-bg.jpg'
</script>
<template>
<mi-register :action="api.register"
:background="bg"
:email-verify-action="api.validator.email"
:username-verify-action="api.validator.name" />
</template>
<script setup>
import bg from '@images/login-bg.jpg'
</script>
更多内容及使用请查看在线示例:https://admin.makeit.vip