1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee
Files
epp/frontend/src/main.ts

32 lines
947 B
TypeScript

import { createApp } from 'vue';
import { createPinia } from 'pinia';
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
import App from './App.vue';
import router from './router';
import { usePermissStore } from './store/permiss';
import 'element-plus/dist/index.css';
import './assets/css/icon.css';
const app = createApp(App);
app.use(createPinia());
app.use(router);
// 注册elementplus图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component);
}
// 自定义权限指令
const permiss = usePermissStore();
app.directive('permiss', { // 元素级权限控制
mounted(el, binding) {
const roleId = localStorage.getItem('ms_role_id');
const currentUserPermiss = permiss[roleId as string];
if (!currentUserPermiss || !currentUserPermiss.includes(binding.value as string)) {
el['hidden'] = true;
}
},
});
app.mount('#app');