44 lines
1.2 KiB
TypeScript
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
|
|
}
|
|
}
|