| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- import type { App } from 'vue'
- // import { install } from '@icon-park/vue-next/es/all'
- import { System, Check, MenuFoldOne, MenuUnfoldOne, Logout, SettingTwo } from '@icon-park/vue-next'
- import ElementPlus from 'element-plus'
- import 'element-plus/dist/index.css'
- import * as ElementPlusIconsVue from '@element-plus/icons-vue'
- import 'xe-utils'
- import {
- VxeIcon,
- VxeLoading,
- // VxeGrid,
- VxeTooltip,
- // VxeToolbar,
- // VxePager,
- // VxeForm,
- // VxeFormItem,
- // VxeFormGather,
- // VxeCheckbox,
- // VxeCheckboxGroup,
- // VxeRadio,
- // VxeRadioGroup,
- // VxeRadioButton,
- // VxeSwitch,
- // VxeInput,
- // VxeSelect,
- // VxeOptgroup,
- // VxeOption,
- // VxeTextarea,
- VxeButton,
- // VxeButtonGroup,
- VxeModal
- // VxeDrawer,
- // VxeList,
- // VxePulldown
- } from 'vxe-pc-ui'
- import {
- VxeUI,
- VXETable,
- VxeTable,
- VxeColumn,
- VxeColgroup,
- // VxeGrid,
- VxeToolbar
- } from 'vxe-table'
- import VxeUIPluginRenderElement from '@vxe-ui/plugin-render-element'
- import '@vxe-ui/plugin-render-element/dist/style.css'
- import 'vxe-table/styles/cssvar.scss'
- import 'vxe-pc-ui/styles/cssvar.scss'
- // 导入默认的语言
- import zhCN from 'vxe-pc-ui/lib/language/zh-CN'
- import '@/utils/tableFormat'
- // import WujieVue from 'wujie-vue3'
- // import * as Sentry from '@sentry/vue'
- const modules = import.meta.glob('./form/*.vue', { eager: true })
- function LazyVxeUI(app: any) {
- app.use(VxeIcon)
- app.use(VxeLoading)
- // app.use(VxeVxeGrid)
- app.use(VxeTooltip)
- // app.use(VxeToolbar)
- // app.use(VxePager)
- // app.use(VxeForm)
- // app.use(VxeFormItem)
- // app.use(VxeFormGather)
- // app.use(VxeCheckbox)
- // app.use(VxeCheckboxGroup)
- // app.use(VxeRadio)
- // app.use(VxeRadioGroup)
- // app.use(VxeRadioButton)
- // app.use(VxeSwitch)
- // app.use(VxeInput)
- // app.use(VxeSelect)
- // app.use(VxeOptgroup)
- // app.use(VxeOption)
- // app.use(VxeTextarea)
- app.use(VxeButton)
- // app.use(VxeButtonGroup)
- app.use(VxeModal)
- // app.use(VxeDrawer)
- // app.use(VxeList)
- // app.use(VxePulldown)
- }
- function LazyVxeTable(app: any) {
- app.use(VxeTable)
- app.use(VxeColumn)
- app.use(VxeColgroup)
- // app.use(VxeGrid)
- app.use(VxeToolbar)
- }
- function registerComponent(app: App): void {
- // icon-park
- app.component('icon-system', System)
- app.component('icon-check', Check)
- app.component('icon-menu-fold-one', MenuFoldOne)
- app.component('icon-menu-unfold-one', MenuUnfoldOne)
- app.component('icon-logout', Logout)
- app.component('icon-setting-two', SettingTwo)
- // install(app)
- // element-plus
- app.use(ElementPlus)
- for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
- app.component(key, component)
- }
- // vxe-table
- VXETable.setI18n('zh-CN', zhCN)
- VXETable.setLanguage('zh-CN')
- VxeUI.use(VxeUIPluginRenderElement)
- app.use(LazyVxeUI)
- app.use(LazyVxeTable)
- // 动态注册form文件夹下的组件
- for (const key in modules) {
- const name = key.replace(/^\.\/form\/|\.vue/g, '')
- const component = (modules[key] as any).default
- app.component('El' + name, component)
- }
- // 微服务 wujie
- // app.use(WujieVue)
- // 监控 sentry
- // import.meta.env.VITE_SENTRY_DSN &&
- // Sentry.init({
- // app,
- // dsn: import.meta.env.VITE_SENTRY_DSN,
- // integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration()],
- // tracesSampleRate: 1.0,
- // tracePropagationTargets: [],
- // replaysSessionSampleRate: 0.1,
- // replaysOnErrorSampleRate: 1.0
- // })
- }
- export default registerComponent
|