scui.js 3.3 KB

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