2024-10-30 01:56:24 +00:00
|
|
|
|
import { upperFirst } from 'lodash-es'
|
2024-03-14 03:36:22 +00:00
|
|
|
|
import { getModules } from 'utils/autoImport'
|
|
|
|
|
|
|
|
|
|
const codeMap = new Map([
|
|
|
|
|
['task.software.iscsi', 'IscsiServer'],
|
|
|
|
|
['task.software.memcache', 'MemCache'],
|
|
|
|
|
['task.software.rocketmq', 'RocketMq'],
|
|
|
|
|
['task.software.sqlserver', 'SqlServer'],
|
|
|
|
|
['task.software.postgresql', 'PgSql'],
|
|
|
|
|
['task.software.rabbitmq', 'RabbitMq'],
|
|
|
|
|
['task.software.activemq', 'ActiveMq']
|
|
|
|
|
])
|
|
|
|
|
// const vueFiles = require.context('./', true, /\.vue$/);
|
2024-10-30 01:56:24 +00:00
|
|
|
|
const vueFiles = (import.meta as any).globEager('./*.vue')
|
|
|
|
|
export const components = getModules(vueFiles)
|
2024-03-14 03:36:22 +00:00
|
|
|
|
|
|
|
|
|
// 优先在map里取值, 组件命名规范 task.software.nginx => NginxItem task.software.iscsi.client=>IscsiClient
|
|
|
|
|
export function getCurrentComponent(code: string) {
|
|
|
|
|
const [f, s = 'Item'] = code.split('task.software.')[1].split('.')
|
|
|
|
|
return codeMap.get(code) || `${upperFirst(f)}${upperFirst(s)}`
|
|
|
|
|
}
|