refactor: 合并 directives 目录到 plugins 目录

This commit is contained in:
pany 2024-11-27 11:17:38 +08:00
parent f6668e471c
commit dc48bf4880
4 changed files with 10 additions and 15 deletions

View File

@ -1,7 +0,0 @@
import type { App } from "vue"
import { permission } from "./permission"
/** 加载自定义指令 */
export function loadDirectives(app: App) {
app.directive("permission", permission)
}

View File

@ -4,7 +4,6 @@ import { pinia } from "@/pinia"
import { router } from "@/router" import { router } from "@/router"
import { createApp } from "vue" import { createApp } from "vue"
// load // load
import { loadDirectives } from "@/directives"
import { loadPlugins } from "@/plugins" import { loadPlugins } from "@/plugins"
// css // css
import "uno.css" import "uno.css"
@ -17,12 +16,9 @@ import "@@/assets/styles/index.scss"
const app = createApp(App) const app = createApp(App)
// 加载插件 // 加载插件(全局组件、自定义指令等)
loadPlugins(app) loadPlugins(app)
// 加载自定义指令
loadDirectives(app)
app.use(pinia).use(router) app.use(pinia).use(router)
router.isReady().then(() => { router.isReady().then(() => {

View File

@ -1,12 +1,14 @@
import type { App } from "vue" import type { App } from "vue"
import { loadElementPlus } from "./element-plus" import { loadElementPlus } from "./element-plus"
import { loadElementPlusIcons } from "./element-plus-icons" import { loadElementPlusIcons } from "./element-plus-icons"
import { loadPermissionDirective } from "./permission-directive"
import { loadSvgIcons } from "./svg-icons" import { loadSvgIcons } from "./svg-icons"
import { loadVxeTable } from "./vxe-table" import { loadVxeTable } from "./vxe-table"
export function loadPlugins(app: App) { export function loadPlugins(app: App) {
loadElementPlus(app) loadElementPlus(app)
loadElementPlusIcons(app) loadElementPlusIcons(app)
loadVxeTable(app) loadPermissionDirective(app)
loadSvgIcons(app) loadSvgIcons(app)
loadVxeTable(app)
} }

View File

@ -1,4 +1,4 @@
import type { Directive } from "vue" import type { App, Directive } from "vue"
import { useUserStore } from "@/pinia/stores/user" import { useUserStore } from "@/pinia/stores/user"
import { isArray } from "@@/utils/validate" import { isArray } from "@@/utils/validate"
@ -6,7 +6,7 @@ import { isArray } from "@@/utils/validate"
* @name * @name
* @description checkPermission * @description checkPermission
*/ */
export const permission: Directive = { const permission: Directive = {
mounted(el, binding) { mounted(el, binding) {
const { value: permissionRoles } = binding const { value: permissionRoles } = binding
const { roles } = useUserStore() const { roles } = useUserStore()
@ -19,3 +19,7 @@ export const permission: Directive = {
} }
} }
} }
export function loadPermissionDirective(app: App) {
app.directive("permission", permission)
}