fix: 简化类型

This commit is contained in:
手瓜一十雪
2024-11-27 10:57:40 +08:00
parent e6d5a37236
commit d4fb09fa80

View File

@@ -147,7 +147,7 @@
</t-form-item> </t-form-item>
<div> <div>
<component <component
:is="resolveDynamicComponent(getComponent(newTab.type as ConfigKey))" :is="resolveDynamicComponent(getComponent(newTab.type as ComponentKey))"
:config="newTab.data" :config="newTab.data"
/> />
</div> </div>
@@ -161,17 +161,10 @@ import { AddIcon, DeleteIcon, Edit2Icon, ServerFilledIcon, CopyIcon, BrowseOffIc
import { onMounted, onUnmounted, ref, resolveDynamicComponent } from 'vue'; import { onMounted, onUnmounted, ref, resolveDynamicComponent } from 'vue';
import emitter from '@/ts/event-bus'; import emitter from '@/ts/event-bus';
import { import {
HttpClientConfig, mergeNetworkDefaultConfig,
httpClientDefaultConfigs,
HttpServerConfig,
httpServerDefaultConfigs,
mergeOneBotConfigs, mergeOneBotConfigs,
NetworkConfig, NetworkConfig,
OneBotConfig, OneBotConfig,
WebsocketClientConfig,
websocketClientDefaultConfigs,
WebsocketServerConfig,
websocketServerDefaultConfigs,
} from '../../../src/onebot/config/config'; } from '../../../src/onebot/config/config';
import HttpServerComponent from '@/pages/network/HttpServerComponent.vue'; import HttpServerComponent from '@/pages/network/HttpServerComponent.vue';
import HttpClientComponent from '@/pages/network/HttpClientComponent.vue'; import HttpClientComponent from '@/pages/network/HttpClientComponent.vue';
@@ -194,19 +187,11 @@ const loadPage = ref<boolean>(false);
const visibleBody = ref<boolean>(false); const visibleBody = ref<boolean>(false);
const newTab = ref<{ name: string; data: any; type: string }>({ name: '', data: {}, type: '' }); const newTab = ref<{ name: string; data: any; type: string }>({ name: '', data: {}, type: '' });
const dialogTitle = ref<string>(''); const dialogTitle = ref<string>('');
type ConfigKey = 'httpServers' | 'httpClients' | 'websocketServers' | 'websocketClients';
type ConfigUnion = HttpClientConfig | HttpServerConfig | WebsocketServerConfig | WebsocketClientConfig; type ComponentKey = keyof typeof mergeNetworkDefaultConfig;
const defaultConfigs: Record<ConfigKey, ConfigUnion> = {
httpServers: httpServerDefaultConfigs,
httpClients: httpClientDefaultConfigs,
websocketServers: websocketServerDefaultConfigs,
websocketClients: websocketClientDefaultConfigs,
};
const componentMap: Record< const componentMap: Record<
ConfigKey, ComponentKey,
| typeof HttpServerComponent | typeof HttpServerComponent
| typeof HttpClientComponent | typeof HttpClientComponent
| typeof WebsocketServerComponent | typeof WebsocketServerComponent
@@ -217,7 +202,7 @@ const componentMap: Record<
websocketServers: WebsocketServerComponent, websocketServers: WebsocketServerComponent,
websocketClients: WebsocketClientComponent, websocketClients: WebsocketClientComponent,
}; };
type ComponentKey = keyof typeof componentMap;
//操作类型 //操作类型
const operateType = ref<string>(''); const operateType = ref<string>('');
//配置项索引 //配置项索引
@@ -299,9 +284,9 @@ const delConfig = (item: any) => {
const selectType = (key: string) => { const selectType = (key: string) => {
cardConfig.value = WebConfg.value.get(key); cardConfig.value = WebConfg.value.get(key);
}; };
const onloadDefault = (key: ConfigKey) => { const onloadDefault = (key: ComponentKey) => {
console.log(key); console.log(key);
newTab.value.data = structuredClone(defaultConfigs[key]); newTab.value.data = structuredClone(mergeNetworkDefaultConfig[key]);
}; };
//检测重名 //检测重名
const checkName = (name: string) => { const checkName = (name: string) => {
@@ -367,7 +352,7 @@ const getAllData = (data: NetworkConfig) => {
cardConfig.value = []; cardConfig.value = [];
WebConfg.value.set('all', []); WebConfg.value.set('all', []);
Object.entries(data).forEach(([key, configs]) => { Object.entries(data).forEach(([key, configs]) => {
if (key in defaultConfigs) { if (key in mergeNetworkDefaultConfig) {
networkConfig[key] = [...configs]; networkConfig[key] = [...configs];
const newConfigsArray = configs.map((config: any) => ({ const newConfigsArray = configs.map((config: any) => ({
...config, ...config,
@@ -402,15 +387,6 @@ const copyText = (text: string) => {
document.body.removeChild(input); document.body.removeChild(input);
MessagePlugin.success('复制成功'); MessagePlugin.success('复制成功');
}; };
const getTime = (time: number) => {
if (time < 1000) {
return time + ' 毫秒';
} else if (time < 60000) {
return (time / 1000).toFixed(2) + ' 秒';
} else {
return (time / 60000).toFixed(2) + ' 分钟';
}
};
const handleResize = () => { const handleResize = () => {
// 得根据卡片宽度改,懒得改了;先不管了 // 得根据卡片宽度改,懒得改了;先不管了