main.js 826 B

12345678910111213141516171819202122232425262728293031
  1. import './assets/main.css'
  2. import { createApp, computed } from 'vue'
  3. import { createPinia } from 'pinia'
  4. import { useUserStore } from '@/stores/user'
  5. import PrimeVue from 'primevue/config'
  6. import ToastService from 'primevue/toastservice'
  7. import ConfirmService from 'primevue/confirmationservice'
  8. import Aura from '@primeuix/themes/aura'
  9. import 'primeicons/primeicons.css'
  10. import App from './App.vue'
  11. import router from './router'
  12. const app = createApp(App)
  13. app.use(createPinia())
  14. app.use(router)
  15. app.use(PrimeVue, { ripple: true, theme: { preset: Aura } })
  16. app.use(ToastService)
  17. app.use(ConfirmService)
  18. app.provide(
  19. 'isAdmin',
  20. computed(() => {
  21. if (!(useUserStore().userInfo && useUserStore().userInfo.role)) return false
  22. return useUserStore().userInfo.role === 'admin'
  23. })
  24. )
  25. app.mount('#app')