diff --git a/src/directives/index.ts b/src/directives/index.ts deleted file mode 100644 index e4cdc06..0000000 --- a/src/directives/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { App } from "vue" -import { permission } from "./permission" - -/** 加载自定义指令 */ -export function loadDirectives(app: App) { - app.directive("permission", permission) -} diff --git a/src/main.ts b/src/main.ts index 94e9e49..cb9817f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,7 +4,6 @@ import { pinia } from "@/pinia" import { router } from "@/router" import { createApp } from "vue" // load -import { loadDirectives } from "@/directives" import { loadPlugins } from "@/plugins" // css import "uno.css" @@ -17,12 +16,9 @@ import "@@/assets/styles/index.scss" const app = createApp(App) -// 加载插件 +// 加载插件(全局组件、自定义指令等) loadPlugins(app) -// 加载自定义指令 -loadDirectives(app) - app.use(pinia).use(router) router.isReady().then(() => { diff --git a/src/plugins/index.ts b/src/plugins/index.ts index 7d84900..353652d 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -1,12 +1,14 @@ import type { App } from "vue" import { loadElementPlus } from "./element-plus" import { loadElementPlusIcons } from "./element-plus-icons" +import { loadPermissionDirective } from "./permission-directive" import { loadSvgIcons } from "./svg-icons" import { loadVxeTable } from "./vxe-table" export function loadPlugins(app: App) { loadElementPlus(app) loadElementPlusIcons(app) - loadVxeTable(app) + loadPermissionDirective(app) loadSvgIcons(app) + loadVxeTable(app) } diff --git a/src/directives/permission.ts b/src/plugins/permission-directive.ts similarity index 79% rename from src/directives/permission.ts rename to src/plugins/permission-directive.ts index d833ec9..9419cc2 100644 --- a/src/directives/permission.ts +++ b/src/plugins/permission-directive.ts @@ -1,4 +1,4 @@ -import type { Directive } from "vue" +import type { App, Directive } from "vue" import { useUserStore } from "@/pinia/stores/user" import { isArray } from "@@/utils/validate" @@ -6,7 +6,7 @@ import { isArray } from "@@/utils/validate" * @name 权限指令 * @description 和权限判断函数 checkPermission 功能类似 */ -export const permission: Directive = { +const permission: Directive = { mounted(el, binding) { const { value: permissionRoles } = binding const { roles } = useUserStore() @@ -19,3 +19,7 @@ export const permission: Directive = { } } } + +export function loadPermissionDirective(app: App) { + app.directive("permission", permission) +}