1
lzhe
2024-09-26 7d59e8e2c727dd49d9552a8febc2af47c5b95a69
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/*
 * @Date: 2024-03-23 09:49:06
 * @LastEditors: Sneed
 * @LastEditTime: 2024-06-16 15:38:54
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/scui.js
 */
import config from "./config"
import api from './api'
import tool from './utils/tool'
import http from "./utils/request"
import { permission, rolePermission } from './utils/permission'
 
import scTable from './components/scTable'
import scTableColumn from './components/scTable/column.js'
import scFilterBar from './components/scFilterBar'
import scUpload from './components/scUpload'
import scUploadMultiple from './components/scUpload/multiple'
import scUploadFile from './components/scUpload/file'
import scFormTable from './components/scFormTable'
import scTableSelect from './components/scTableSelect'
import scPageHeader from './components/scPageHeader'
import scSelect from './components/scSelect'
import scDialog from './components/scDialog'
import scForm from './components/scForm'
import scTitle from './components/scTitle'
import scWaterMark from './components/scWaterMark'
import scMyFilePreview from './components/scMyFilePreview'
import scQrCode from './components/scQrCode'
 
import scStatusIndicator from './components/scMini/scStatusIndicator'
import scTrend from './components/scMini/scTrend'
 
import auth from './directives/auth'
import auths from './directives/auths'
import authsAll from './directives/authsAll'
import role from './directives/role'
import time from './directives/time'
import copy from './directives/copy'
import errorHandler from './utils/errorHandler'
 
import * as elIcons from '@element-plus/icons-vue'
import * as scIcons from './assets/icons'
 
export default {
    install(app) {
        //挂载全局对象
        app.config.globalProperties.$CONFIG = config;
        app.config.globalProperties.$TOOL = tool;
        app.config.globalProperties.$HTTP = http;
        app.config.globalProperties.$API = api;
        app.config.globalProperties.$AUTH = permission;
        app.config.globalProperties.$ROLE = rolePermission;
 
        //注册全局组件
        app.component('scTable', scTable);
        app.component('scTableColumn', scTableColumn);
        app.component('scMyFilePreview', scMyFilePreview);
        app.component('scFilterBar', scFilterBar);
        app.component('scUpload', scUpload);
        app.component('scUploadMultiple', scUploadMultiple);
        app.component('scUploadFile', scUploadFile);
        app.component('scFormTable', scFormTable);
        app.component('scTableSelect', scTableSelect);
        app.component('scPageHeader', scPageHeader);
        app.component('scSelect', scSelect);
        app.component('scDialog', scDialog);
        app.component('scForm', scForm);
        app.component('scTitle', scTitle);
        app.component('scWaterMark', scWaterMark);
        app.component('scQrCode', scQrCode);
        app.component('scStatusIndicator', scStatusIndicator);
        app.component('scTrend', scTrend);
 
        //注册全局指令
        app.directive('auth', auth)
        app.directive('auths', auths)
        app.directive('auths-all', authsAll)
        app.directive('role', role)
        app.directive('time', time)
        app.directive('copy', copy)
 
        //统一注册el-icon图标
        for (let icon in elIcons) {
            app.component(`ElIcon${icon}`, elIcons[icon])
        }
        //统一注册sc-icon图标
        for (let icon in scIcons) {
            app.component(`ScIcon${icon}`, scIcons[icon])
        }
 
        //关闭async-validator全局控制台警告
        window.ASYNC_VALIDATOR_NO_WARNING = 1
 
        //全局代码错误捕捉
        app.config.errorHandler = errorHandler
    }
}