import type { App } from 'vue';
import * as components from './components';

export * from './components';
export const install = function (app: App) {
  Object.keys(components).forEach((key) => {
    const component = components[key];
    //console.log('install（）🚀 ~ components.forEach ~ item:', key, component);
    if (component.install) {
      app.use(component);
    }
  });
  return app;
};

export const getViews = function () {
  // @ts-ignore
  return Object.assign({
    './src/views/jlap/codegen/index.vue': () => import('./jlap/codegen/index.vue'),
    './src/views/jlap/monitor/datalog/index.vue': () => import('./jlap/monitor/datalog/index.vue'),
    './src/views/jlap/monitor/datasource/index.vue': () => import('./jlap/monitor/datasource/index.vue'),
    './src/views/jlap/monitor/log/index.vue': () => import('./jlap/monitor/log/index.vue'),
    './src/views/jlap/monitor/mynews/index.vue': () => import('./jlap/monitor/mynews/index.vue'),
    './src/views/jlap/monitor/online/index.vue': () => import('./jlap/monitor/online/index.vue'),
    './src/views/jlap/monitor/quartz/index.vue': () => import('./jlap/monitor/quartz/index.vue'),
    './src/views/jlap/monitor/redis/index.vue': () => import('./jlap/monitor/redis/index.vue'),
    './src/views/jlap/monitor/route/index.vue': () => import('./jlap/monitor/route/index.vue'),
    './src/views/jlap/monitor/server/index.vue': () => import('./jlap/monitor/server/index.vue'),
    './src/views/jlap/monitor/trace/index.vue': () => import('./jlap/monitor/trace/index.vue'),
    './src/views/jlap/online/cgform/index.vue': () => import('./jlap/online/cgform/index.vue'),
    './src/views/jlap/scheduler/job/index.vue': () => import('./jlap/scheduler/job/index.vue'),
    './src/views/jlap/visualization/material/index.vue': () => import('./jlap/visualization/material/index.vue'),
    './src/views/jlap/visualization/project/index.vue': () => import('./jlap/visualization/project/index.vue'),
    './src/views/jlap/visualization/project/home.vue': () => import('./jlap/visualization/project/home.vue'),
    './src/views/jlap/visualization/template/index.vue': () => import('./jlap/visualization/template/index.vue'),
    './src/views/system/address/index.vue': () => import('./system/address/index.vue'),
    './src/views/system/category/index.vue': () => import('./system/category/index.vue'),
    './src/views/system/checkRule/index.vue': () => import('./system/checkRule/index.vue'),
    './src/views/system/config/index.vue': () => import('./system/config/index.vue'),
    './src/views/system/dbDoc/index.vue': () => import('./system/dbDoc/index.vue'),
    './src/views/system/depart/index.vue': () => import('./system/depart/index.vue'),
    './src/views/system/departUser/index.vue': () => import('./system/departUser/index.vue'),
    './src/views/system/dict/index.vue': () => import('./system/dict/index.vue'),
    './src/views/system/examples/demo/index.vue': () => import('./system/examples/demo/index.vue'),
    './src/views/system/file/index.vue': () => import('./system/file/index.vue'),
    './src/views/system/FileConfig/index.vue': () => import('./system/FileConfig/index.vue'),
    './src/views/system/fillRule/index.vue': () => import('./system/fillRule/index.vue'),
    './src/views/system/menu/index.vue': () => import('./system/menu/index.vue'),
    './src/views/system/message/manage/index.vue': () => import('./system/message/manage/index.vue'),
    './src/views/system/message/setting/index.vue': () => import('./system/message/setting/index.vue'),
    './src/views/system/message/template/index.vue': () => import('./system/message/template/index.vue'),
    './src/views/system/notice/index.vue': () => import('./system/notice/index.vue'),
    './src/views/system/onlineuser/OnlineUserList.vue': () => import('./system/onlineuser/OnlineUserList.vue'),
    './src/views/system/ossfile/index.vue': () => import('./system/ossfile/index.vue'),
    './src/views/system/position/index.vue': () => import('./system/position/index.vue'),
    './src/views/system/role/index.vue': () => import('./system/role/index.vue'),
    './src/views/system/rule/index.vue': () => import('./system/rule/index.vue'),
    './src/views/system/tenant/index.vue': () => import('./system/tenant/index.vue'),
    './src/views/system/user/index.vue': () => import('./system/user/index.vue')
  });
};

export default { install, getViews };
