main.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { createApp } from 'vue'
  2. import App from './App.vue'
  3. import router from './router/router.js'
  4. // import store from '@/store'
  5. import pinia from './pinia'
  6. import api from '@/api/index.js'
  7. import tools from '@/utils/common.js'
  8. import specialChar from'@/utils/directive.js'
  9. import axios from 'axios'
  10. import Less from 'less'
  11. import ElementPlus from 'element-plus'
  12. import 'element-plus/dist/index.css'
  13. import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
  14. // import jwtDecode from 'jwt-decode'
  15. import i18n from '@/locale/i18n'
  16. let app = createApp(App)
  17. // 根据域名判断调用测试站接口
  18. let hostName = window.location.hostname
  19. /*
  20. * 正式站:https://event.teammodel.cn
  21. * 测试站:https://contest-test.teammodel.cn
  22. */
  23. axios.defaults.baseURL = hostName === 'localhost' ? 'https://localhost:5001' : (hostName === 'contest-test.teammodel.cn' ? 'https://test.teammodel.cn' : 'https://www.teammodel.cn')
  24. app.config.globalProperties.$axios = axios
  25. app.config.globalProperties.$api = api
  26. app.config.globalProperties.$tools = tools
  27. // app.config.globalProperties.$jwtDecode = jwtDecode
  28. // 设置全局自定义指令
  29. /* app.directive('special-char', specialChar)
  30. app.directive('file-name', fileName) */
  31. specialChar(app)
  32. app.use(router)
  33. // app.use(store)
  34. app.use(pinia)
  35. app.use(Less)
  36. app.use(ElementPlus, {locale: zhCn})
  37. // 全局静态配置数据
  38. app.use(i18n)
  39. app.mount('#app')