yak_handcuffs/src/main.ts

34 lines
1.0 KiB
TypeScript
Raw Normal View History

2025-04-17 17:26:50 +08:00
import { createApp } from 'vue';
2025-03-31 18:24:37 +08:00
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';
2025-04-03 18:21:17 +08:00
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
2025-03-31 18:24:37 +08:00
import 'element-plus/dist/index.css';
import './assets/css/icon.css';
2025-04-12 18:35:54 +08:00
import WebSocketService from "@/utils/webSocket.js";
const ws = new WebSocketService()
2025-03-31 18:24:37 +08:00
const app = createApp(App);
2025-04-03 18:21:17 +08:00
const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);
app.use(pinia);
2025-03-31 18:24:37 +08:00
app.use(router);
2025-04-12 18:35:54 +08:00
app.provide('ws', ws)
2025-03-31 18:24:37 +08:00
// 注册elementplus图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component);
}
// 自定义权限指令
const permiss = usePermissStore();
app.directive('permiss', {
mounted(el, binding) {
if (binding.value && !permiss.key.includes(String(binding.value))) {
el['hidden'] = true;
}
},
});
app.mount('#app');