main.ts 974 B

123456789101112131415161718192021222324252627282930313233
  1. import '@/assets/styles/index.scss'
  2. // element css
  3. import 'element-plus/dist/index.css'
  4. // element dark css
  5. import 'element-plus/theme-chalk/dark/css-vars.css'
  6. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
  7. import { createApp } from 'vue'
  8. import App from './App.vue'
  9. import { setupRouter } from '@/router'
  10. import { createPinia } from 'pinia'
  11. import '@imengyu/vue3-context-menu/lib/vue3-context-menu.css'
  12. import ContextMenu from '@imengyu/vue3-context-menu'
  13. import { initWebSocket } from '@/utils/webSocket'
  14. const pinia = createPinia()
  15. // 创建实例
  16. const setupAll = async () => {
  17. const app = createApp(App)
  18. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  19. app.component(key, component)
  20. }
  21. setupRouter(app)
  22. app.use(ContextMenu)
  23. app.use(pinia)
  24. let protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://'
  25. initWebSocket(protocol + window.location.host + '/websocket')
  26. app.mount('#app')
  27. }
  28. setupAll()