|
@@ -1,21 +1,142 @@
|
|
import type { App } from 'vue'
|
|
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 })
|
|
const modules = import.meta.glob('./form/*.vue', { eager: true })
|
|
-import { System, Check, MenuFoldOne, MenuUnfoldOne, Logout, SettingTwo } from '@icon-park/vue-next'
|
|
|
|
|
|
|
|
-function registerComponent(app: App): void {
|
|
|
|
- for (const key in modules) {
|
|
|
|
- const name = key.replace(/^\.\/form\/|\.vue/g, '')
|
|
|
|
- const component = (modules[key] as any).default
|
|
|
|
- app.component('El' + name, component)
|
|
|
|
- }
|
|
|
|
|
|
+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-system', System)
|
|
app.component('icon-check', Check)
|
|
app.component('icon-check', Check)
|
|
app.component('icon-menu-fold-one', MenuFoldOne)
|
|
app.component('icon-menu-fold-one', MenuFoldOne)
|
|
app.component('icon-menu-unfold-one', MenuUnfoldOne)
|
|
app.component('icon-menu-unfold-one', MenuUnfoldOne)
|
|
app.component('icon-logout', Logout)
|
|
app.component('icon-logout', Logout)
|
|
app.component('icon-setting-two', SettingTwo)
|
|
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
|
|
export default registerComponent
|