cool-admin-vue
🔥 cool-admin一个很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.0、typeorm、mysql、jwt、element-ui、vuex、vue-router、vue等构建
Top Related Projects
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!
🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro
Vue3、Element Plus、typescript后台管理系统
Vue 2.0 admin management system template based on iView
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).
Quick Overview
Cool Admin Vue is a modern, feature-rich admin template based on Vue.js 3 and TypeScript. It provides a comprehensive set of UI components and tools for building efficient and responsive admin interfaces, with a focus on customization and ease of use.
Pros
- Built with Vue 3 and TypeScript, offering improved performance and type safety
- Extensive collection of pre-built components and layouts for rapid development
- Supports both light and dark themes with easy customization options
- Integrates well with popular backend frameworks and RESTful APIs
Cons
- Steep learning curve for developers new to Vue.js or TypeScript
- Limited documentation and examples for some advanced features
- May require additional configuration for complex enterprise-level applications
- Regular updates might lead to compatibility issues with older projects
Code Examples
- Creating a basic table component:
<template>
<cl-table :data="tableData" :columns="columns" />
</template>
<script setup lang="ts">
import { ref } from 'vue'
const tableData = ref([
{ id: 1, name: 'John Doe', age: 30 },
{ id: 2, name: 'Jane Smith', age: 25 },
])
const columns = [
{ label: 'ID', prop: 'id' },
{ label: 'Name', prop: 'name' },
{ label: 'Age', prop: 'age' },
]
</script>
- Implementing a form with validation:
<template>
<cl-form :model="form" :rules="rules" @submit="handleSubmit">
<cl-form-item label="Username" prop="username">
<cl-input v-model="form.username" />
</cl-form-item>
<cl-form-item label="Email" prop="email">
<cl-input v-model="form.email" type="email" />
</cl-form-item>
<cl-form-item>
<cl-button type="primary" native-type="submit">Submit</cl-button>
</cl-form-item>
</cl-form>
</template>
<script setup lang="ts">
import { reactive } from 'vue'
const form = reactive({
username: '',
email: '',
})
const rules = {
username: [{ required: true, message: 'Username is required' }],
email: [
{ required: true, message: 'Email is required' },
{ type: 'email', message: 'Invalid email format' },
],
}
const handleSubmit = (valid: boolean) => {
if (valid) {
// Process form submission
}
}
</script>
- Creating a custom chart component:
<template>
<cl-chart :options="chartOptions" />
</template>
<script setup lang="ts">
import { ref } from 'vue'
const chartOptions = ref({
title: { text: 'Sales Overview' },
xAxis: { data: ['Q1', 'Q2', 'Q3', 'Q4'] },
yAxis: {},
series: [
{
name: 'Sales',
type: 'bar',
data: [120, 200, 150, 80],
},
],
})
</script>
Getting Started
-
Install Cool Admin Vue:
npm install cool-admin-vue
-
Import and use components in your Vue 3 project:
<script setup lang="ts"> import { ClButton, ClInput } from 'cool-admin-vue' </script> <template> <cl-button type="primary">Click me</cl-button> <cl-input v-model="inputValue" placeholder="Enter text" /> </template>
-
Configure the theme in your main.ts file:
import { createApp } from 'vue' import CoolAdminVue from 'cool-admin-vue
Competitor Comparisons
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
Pros of vue-element-admin
- More comprehensive documentation and examples
- Larger community and ecosystem support
- Extensive internationalization features
Cons of vue-element-admin
- Steeper learning curve due to its complexity
- Potentially heavier and slower for smaller projects
- Less focus on rapid development compared to cool-admin-vue
Code Comparison
vue-element-admin:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [
{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index')
}
]
}
]
cool-admin-vue:
import { createRouter, createWebHistory } from 'vue-router';
import { routerModules } from '/@/cool/modules';
export const routes = [
{
path: '/',
name: 'layout',
component: () => import('/@/layout/index.vue'),
children: [...routerModules]
}
];
The code comparison shows that vue-element-admin uses Vue Router 3.x syntax, while cool-admin-vue uses Vue Router 4.x syntax with the Composition API. cool-admin-vue's approach appears more concise and modular, potentially easier for rapid development.
A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!
Pros of vue-vben-admin
- More comprehensive documentation and examples
- Larger community and more frequent updates
- Better TypeScript support and type definitions
Cons of vue-vben-admin
- Steeper learning curve due to its complexity
- Potentially overkill for smaller projects
- Less flexibility in customization compared to cool-admin-vue
Code Comparison
vue-vben-admin:
import { defineComponent } from 'vue';
import { BasicForm, useForm } from '/@/components/Form';
import { formSchema } from './data';
export default defineComponent({
setup() {
const [registerForm, { setFieldsValue }] = useForm({
schemas: formSchema,
});
// ... more code
},
});
cool-admin-vue:
import { ref } from 'vue';
import { useForm } from '@cool-vue/crud';
export default {
setup() {
const form = ref(null);
const { submit, reset } = useForm(form);
// ... more code
},
};
The code comparison shows that vue-vben-admin uses TypeScript and has a more structured approach to form handling, while cool-admin-vue uses a simpler JavaScript implementation. vue-vben-admin's code is more verbose but provides better type safety and intellisense support.
🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro
Pros of vue-admin-better
- More comprehensive documentation and examples
- Larger community and more frequent updates
- Includes additional features like multi-tab support and theme customization
Cons of vue-admin-better
- Steeper learning curve due to more complex architecture
- Potentially heavier and slower performance for simpler applications
- Less flexibility for customization in certain areas
Code Comparison
cool-admin-vue:
<template>
<cl-crud @load="onLoad">
<cl-row>
<cl-col>
<cl-table v-bind="table" />
</cl-col>
</cl-row>
</cl-crud>
</template>
vue-admin-better:
<template>
<div class="app-container">
<vab-query-form>
<!-- Query form fields -->
</vab-query-form>
<vab-query-table
:data="list"
:columns="columns"
@selection-change="handleSelectionChange"
/>
</div>
</template>
The code comparison shows that cool-admin-vue uses a more concise and declarative approach with its cl-crud
component, while vue-admin-better provides more granular control over individual components like query forms and tables. This reflects the trade-off between simplicity and flexibility in the two projects.
Vue3、Element Plus、typescript后台管理系统
Pros of vue-manage-system
- Simpler and more lightweight, making it easier to understand and customize
- Includes a variety of pre-built components and layouts for quick development
- Regularly updated with new features and bug fixes
Cons of vue-manage-system
- Less comprehensive than cool-admin-vue in terms of advanced features
- May require more manual configuration for complex enterprise applications
- Limited built-in support for backend integration compared to cool-admin-vue
Code Comparison
vue-manage-system:
<template>
<div class="sidebar">
<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
<template v-for="item in items">
<template v-if="item.subs">
<el-submenu :index="item.index" :key="item.index">
<template #title>
<i :class="item.icon"></i><span>{{ item.title }}</span>
</template>
<template v-for="subItem in item.subs">
<el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index">
<template #title>{{ subItem.title }}</template>
<el-menu-item v-for="(threeItem,i) in subItem.subs" :key="i" :index="threeItem.index">
{{ threeItem.title }}
</el-menu-item>
</el-submenu>
<el-menu-item v-else :index="subItem.index" :key="subItem.index">
{{ subItem.title }}
</el-menu-item>
</template>
</el-submenu>
</template>
<template v-else>
<el-menu-item :index="item.index" :key="item.index">
<i :class="item.icon"></i><span>{{ item.title }}</span>
</el-menu-item>
</template>
</template>
</el-menu>
</div>
</template>
cool-admin-vue:
<template>
<div class="cl-menu">
<el-menu
:default-active="active"
:collapse="app.isSidebarCollapse"
:unique-opened="config.menu.uniqueOpened"
:collapse-transition="false"
:mode="mode"
@select="onSelect"
>
<cl-menu-item
v-for="(item, index) in list"
:key="index"
:item="item"
:index="String(index)"
/>
</el-menu>
</div>
</template>
Vue 2.0 admin management system template based on iView
Pros of iview-admin
- More mature and established project with a larger community
- Comprehensive documentation and examples
- Built on top of the popular iView UI component library
Cons of iview-admin
- Less frequent updates and maintenance
- Older technology stack (Vue 2.x)
- More complex setup and configuration
Code Comparison
iview-admin:
<template>
<div class="layout">
<Layout>
<Sider hide-trigger :style="{background: '#fff'}">
<Menu active-name="1" theme="light" width="auto" :open-names="['1']">
<!-- Menu items -->
</Menu>
</Sider>
<!-- Main content -->
</Layout>
</div>
</template>
cool-admin-vue:
<template>
<cl-layout>
<cl-menu-tree :data="menuList" />
<cl-container>
<router-view />
</cl-container>
</cl-layout>
</template>
The code comparison shows that cool-admin-vue uses custom components (cl-layout, cl-menu-tree, cl-container) for layout and menu structure, while iview-admin relies on iView's built-in components (Layout, Sider, Menu). cool-admin-vue's approach appears more streamlined and easier to use, while iview-admin offers more granular control over the layout structure.
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).
Pros of Vuestic Admin
- More comprehensive UI component library with a wider range of pre-built elements
- Better documentation and examples, making it easier for developers to get started
- Active community support and regular updates
Cons of Vuestic Admin
- Larger bundle size due to the extensive component library
- Less flexibility in terms of customization compared to Cool Admin Vue
- Steeper learning curve for developers new to the framework
Code Comparison
Vuestic Admin component usage:
<va-card>
<va-card-title>Card Title</va-card-title>
<va-card-content>Card Content</va-card-content>
</va-card>
Cool Admin Vue component usage:
<cl-card>
<template #title>Card Title</template>
<template #default>Card Content</template>
</cl-card>
Both frameworks offer similar component structures, but Vuestic Admin tends to use more specific component names (e.g., va-card-title
), while Cool Admin Vue relies more on slots for content organization.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
cool-admin [vue3 - ts - vite]
cool-admin ä¸ä¸ªå¾é ·çåå°æé管çç³»ç»ï¼å¼æºå è´¹ï¼æ¨¡ååãæ件åãæéå¼å CRUDï¼æ¹ä¾¿å¿«éæ建è¿ä»£åå°ç®¡çç³»ç»ï¼ å°ææ¡£ è¿ä¸æ¥äºè§£
ç¹æ§
Aiæ¶ä»£ï¼å¾å¤èæ§çæ¡æ¶å·²ç»æ æ³æ»¡è¶³ç°ä»£åçå¼åéæ±ï¼Cool-Adminå¼åäºä¸ç³»åçåè½ï¼è®©å¼ååå¾æ´ç®åãæ´å¿«éãæ´é«æã
- Aiç¼ç ï¼éè¿å¾®è°å¤§æ¨¡åå¦ä¹ æ¡æ¶ç¹æåæ³ï¼å®ç°ç®ååè½ä»Apiæ¥å£å°å端页é¢çä¸é®çæ
- æµç¨ç¼æï¼éè¿ææ½ç¼ææ¹å¼ï¼å³å¯å®ç°ç±»ä¼¼åæºè½å®¢æè¿æ ·çåè½
- 模ååï¼ä»£ç æ¯æ¨¡ååçï¼æ¸ æ°æäºï¼æ¹ä¾¿ç»´æ¤
- æ件åï¼æ件åç设计ï¼å¯ä»¥éè¿å®è£ æ件çæ¹å¼æ©å±å¦ï¼æ¯ä»ãçä¿¡ãé®ä»¶çåè½
å°å
è§é¢æç¨
æ¼ç¤º
è´¦æ·ï¼adminï¼å¯ç ï¼123456
项ç®å端
https://github.com/cool-team-official/cool-admin-midway
æ
https://gitee.com/cool-team-official/cool-admin-midway
æ
https://gitcode.com/cool_team/cool-admin-midway
微信群
å®è£ 项ç®ä¾èµ
æ¨èä½¿ç¨ pnpm
ï¼
pnpm i
è¿è¡åºç¨ç¨åº
å®è£ è¿ç¨å®æåï¼è¿è¡ä»¥ä¸å½ä»¤å¯å¨æå¡ãæ¨å¯ä»¥å¨æµè§å¨ä¸é¢è§ç½ç« http://localhost:9000
pnpm dev
ä½ä»·æå¡å¨
é¿éäºãè ¾è®¯äºãå为äºä½ä»·äºæå¡å¨ï¼ä¸éæ°è
Top Related Projects
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin
A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!
🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro
Vue3、Element Plus、typescript后台管理系统
Vue 2.0 admin management system template based on iView
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot