admin/src/pi.ts

44 lines
1.2 KiB
TypeScript

import * as elIcons from '@element-plus/icons-vue'
import {App} from "vue";
import * as piIcons from '@assets/icons'
import auth from './directives/auth'
import role from './directives/role'
import excludeRole from './directives/excludeRole'
import time from './directives/time'
import copy from './directives/copy'
import drag from './directives/drag'
import errorHandler from "@/utils/errorHandler";
import piDialog from "@/components/piDialog"
import piTable from "@/components/piTable"
import piUpload from "@/components/piUpload"
export default {
install(app: App) {
// 注册全局组件
app.component('piDialog', piDialog)
app.component('piTable', piTable)
app.component('piUpload', piUpload)
//注册全局指令
app.directive('auth', auth)
app.directive('role', role)
app.directive('exclude-role', excludeRole)
app.directive('time', time)
app.directive('copy', copy)
app.directive('drag', drag)
//统一注册el-icon图标
for (let icon in elIcons) {
app.component(`ElIcon${icon}`, elIcons[icon])
}
//统一注册sc-icon图标
for(let icon in piIcons.default){
app.component(`PiIcon${icon}`, piIcons.default[icon])
}
//全局代码错误捕捉
app.config.errorHandler = errorHandler
}
}