This commit is contained in:
手瓜一十雪
2025-01-22 09:33:23 +08:00
7 changed files with 260 additions and 71 deletions

View File

@@ -149,8 +149,10 @@
</t-select>
</t-form-item>
<div>
<component :is="resolveDynamicComponent(getComponent(newTab.type as ComponentKey))"
:config="newTab.data" />
<component
:is="resolveDynamicComponent(getComponent(newTab.type as ComponentKey))"
:config="newTab"
/>
</div>
</t-form>
</div>

View File

@@ -2,22 +2,22 @@
<div>
<t-form labelAlign="left">
<t-form-item label="启用">
<t-switch v-model="config.enable" />
<t-switch v-model="props.config.data.enable" />
</t-form-item>
<t-form-item label="URL">
<t-input v-model="config.url" />
<t-input v-model="props.config.data.url" />
</t-form-item>
<t-form-item label="消息格式">
<t-select v-model="config.messagePostFormat" :options="messageFormatOptions" />
<t-select v-model="props.config.data.messagePostFormat" :options="messageFormatOptions" />
</t-form-item>
<t-form-item label="报告自身消息">
<t-switch v-model="config.reportSelfMessage" />
<t-switch v-model="props.config.data.reportSelfMessage" />
</t-form-item>
<t-form-item label="Token">
<t-input v-model="config.token" />
<t-input v-model="props.config.data.token" />
</t-form-item>
<t-form-item label="调试模式">
<t-switch v-model="config.debug" />
<t-switch v-model="props.config.data.debug" />
</t-form-item>
</t-form>
</div>
@@ -34,14 +34,14 @@ const defaultConfig: HttpClientConfig = {
messagePostFormat: 'array',
reportSelfMessage: false,
token: '',
debug: false
debug: false,
};
const props = defineProps<{
config: HttpClientConfig;
config: { data: HttpClientConfig };
}>();
const config = ref(Object.assign({}, defaultConfig, props.config));
props.config.data = { ...defaultConfig, ...props.config.data };
const messageFormatOptions = ref([
{ label: 'Array', value: 'array' },
@@ -49,10 +49,10 @@ const messageFormatOptions = ref([
]);
watch(
() => config.value.messagePostFormat,
() => props.config.data.messagePostFormat,
(newValue) => {
if (newValue !== 'array' && newValue !== 'string') {
config.value.messagePostFormat = 'array';
props.config.data.messagePostFormat = 'array';
}
}
);

View File

@@ -2,28 +2,28 @@
<div>
<t-form labelAlign="left">
<t-form-item label="启用">
<t-switch v-model="config.enable" />
<t-switch v-model="props.config.data.enable" />
</t-form-item>
<t-form-item label="端口">
<t-input v-model.number="config.port" type="number" />
<t-input v-model.number="props.config.data.port" type="number" />
</t-form-item>
<t-form-item label="主机">
<t-input v-model="config.host" type="text" />
<t-input v-model="props.config.data.host" type="text" />
</t-form-item>
<t-form-item label="启用 CORS">
<t-switch v-model="config.enableCors" />
<t-switch v-model="props.config.data.enableCors" />
</t-form-item>
<t-form-item label="启用 WS">
<t-switch v-model="config.enableWebsocket" />
<t-switch v-model="props.config.data.enableWebsocket" />
</t-form-item>
<t-form-item label="消息格式">
<t-select v-model="config.messagePostFormat" :options="messageFormatOptions" />
<t-select v-model="props.config.data.messagePostFormat" :options="messageFormatOptions" />
</t-form-item>
<t-form-item label="Token">
<t-input v-model="config.token" type="text" />
<t-input v-model="props.config.data.token" type="text" />
</t-form-item>
<t-form-item label="调试模式">
<t-switch v-model="config.debug" />
<t-switch v-model="props.config.data.debug" />
</t-form-item>
</t-form>
</div>
@@ -42,14 +42,14 @@ const defaultConfig: HttpServerConfig = {
enableWebsocket: true,
messagePostFormat: 'array',
token: '',
debug: false
debug: false,
};
const props = defineProps<{
config: HttpServerConfig;
config: { data: HttpServerConfig };
}>();
const config = ref(Object.assign({}, defaultConfig, props.config));
props.config.data = { ...defaultConfig, ...props.config.data };
const messageFormatOptions = ref([
{ label: 'Array', value: 'array' },
@@ -57,10 +57,10 @@ const messageFormatOptions = ref([
]);
watch(
() => config.value.messagePostFormat,
() => props.config.data.messagePostFormat,
(newValue) => {
if (newValue !== 'array' && newValue !== 'string') {
config.value.messagePostFormat = 'array';
props.config.data.messagePostFormat = 'array';
}
}
);

View File

@@ -2,31 +2,31 @@
<div>
<t-form labelAlign="left">
<t-form-item label="启用">
<t-switch v-model="config.enable" />
<t-switch v-model="props.config.data.enable" />
</t-form-item>
<t-form-item label="端口">
<t-input v-model.number="config.port" type="number" />
<t-input v-model.number="props.config.data.port" type="number" />
</t-form-item>
<t-form-item label="主机">
<t-input v-model="config.host" type="text" />
<t-input v-model="props.config.data.host" type="text" />
</t-form-item>
<t-form-item label="报告自身消息">
<t-switch v-model="config.reportSelfMessage" />
<t-switch v-model="props.config.data.reportSelfMessage" />
</t-form-item>
<t-form-item label="启用 CORS">
<t-switch v-model="config.enableCors" />
<t-switch v-model="props.config.data.enableCors" />
</t-form-item>
<t-form-item label="启用 WS">
<t-switch v-model="config.enableWebsocket" />
<t-switch v-model="props.config.data.enableWebsocket" />
</t-form-item>
<t-form-item label="消息格式">
<t-select v-model="config.messagePostFormat" :options="messageFormatOptions" />
<t-select v-model="props.config.data.messagePostFormat" :options="messageFormatOptions" />
</t-form-item>
<t-form-item label="Token">
<t-input v-model="config.token" type="text" />
<t-input v-model="props.config.data.token" type="text" />
</t-form-item>
<t-form-item label="调试模式">
<t-switch v-model="config.debug" />
<t-switch v-model="props.config.data.debug" />
</t-form-item>
</t-form>
</div>
@@ -46,14 +46,14 @@ const defaultConfig: HttpSseServerConfig = {
messagePostFormat: 'array',
token: '',
debug: false,
reportSelfMessage: false
reportSelfMessage: false,
};
const props = defineProps<{
config: HttpSseServerConfig;
config: { data: HttpSseServerConfig };
}>();
const config = ref(Object.assign({}, defaultConfig, props.config));
props.config.data = { ...defaultConfig, ...props.config.data };
const messageFormatOptions = ref([
{ label: 'Array', value: 'array' },
@@ -61,10 +61,10 @@ const messageFormatOptions = ref([
]);
watch(
() => config.value.messagePostFormat,
() => props.config.data.messagePostFormat,
(newValue) => {
if (newValue !== 'array' && newValue !== 'string') {
config.value.messagePostFormat = 'array';
props.config.data.messagePostFormat = 'array';
}
}
);

View File

@@ -2,25 +2,25 @@
<div>
<t-form labelAlign="left">
<t-form-item label="启用">
<t-switch v-model="config.enable" />
<t-switch v-model="props.config.data.enable" />
</t-form-item>
<t-form-item label="URL">
<t-input v-model="config.url" />
<t-input v-model="props.config.data.url" />
</t-form-item>
<t-form-item label="消息格式">
<t-select v-model="config.messagePostFormat" :options="messageFormatOptions" />
<t-select v-model="props.config.data.messagePostFormat" :options="messageFormatOptions" />
</t-form-item>
<t-form-item label="报告自身消息">
<t-switch v-model="config.reportSelfMessage" />
<t-switch v-model="props.config.data.reportSelfMessage" />
</t-form-item>
<t-form-item label="Token">
<t-input v-model="config.token" />
<t-input v-model="props.config.data.token" />
</t-form-item>
<t-form-item label="调试模式">
<t-switch v-model="config.debug" />
<t-switch v-model="props.config.data.debug" />
</t-form-item>
<t-form-item label="心跳间隔">
<t-input v-model.number="config.heartInterval" type="number" />
<t-input v-model.number="props.config.data.heartInterval" type="number" />
</t-form-item>
</t-form>
</div>
@@ -39,14 +39,14 @@ const defaultConfig: WebsocketClientConfig = {
reconnectInterval: 5000,
token: '',
debug: false,
heartInterval: 30000
heartInterval: 30000,
};
const props = defineProps<{
config: WebsocketClientConfig;
config: { data: WebsocketClientConfig };
}>();
const config = ref(Object.assign({}, defaultConfig, props.config));
props.config.data = { ...defaultConfig, ...props.config.data };
const messageFormatOptions = ref([
{ label: 'Array', value: 'array' },
@@ -54,10 +54,10 @@ const messageFormatOptions = ref([
]);
watch(
() => config.value.messagePostFormat,
() => props.config.data.messagePostFormat,
(newValue) => {
if (newValue !== 'array' && newValue !== 'string') {
config.value.messagePostFormat = 'array';
props.config.data.messagePostFormat = 'array';
}
}
);

View File

@@ -2,31 +2,31 @@
<div>
<t-form labelAlign="left">
<t-form-item label="启用">
<t-switch v-model="config.enable" />
<t-switch v-model="props.config.data.enable" />
</t-form-item>
<t-form-item label="主机">
<t-input v-model="config.host" />
<t-input v-model="props.config.data.host" />
</t-form-item>
<t-form-item label="端口">
<t-input v-model.number="config.port" type="number" />
<t-input v-model.number="props.config.data.port" type="number" />
</t-form-item>
<t-form-item label="消息格式">
<t-select v-model="config.messagePostFormat" :options="messageFormatOptions" />
<t-select v-model="props.config.data.messagePostFormat" :options="messageFormatOptions" />
</t-form-item>
<t-form-item label="上报自身消息">
<t-switch v-model="config.reportSelfMessage" />
<t-switch v-model="props.config.data.reportSelfMessage" />
</t-form-item>
<t-form-item label="Token">
<t-input v-model="config.token" />
<t-input v-model="props.config.data.token" />
</t-form-item>
<t-form-item label="强制推送事件">
<t-switch v-model="config.enableForcePushEvent" />
<t-switch v-model="props.config.data.enableForcePushEvent" />
</t-form-item>
<t-form-item label="调试模式">
<t-switch v-model="config.debug" />
<t-switch v-model="props.config.data.debug" />
</t-form-item>
<t-form-item label="心跳间隔">
<t-input v-model.number="config.heartInterval" type="number" />
<t-input v-model.number="props.config.data.heartInterval" type="number" />
</t-form-item>
</t-form>
</div>
@@ -46,14 +46,14 @@ const defaultConfig: WebsocketServerConfig = {
token: '',
enableForcePushEvent: true,
debug: false,
heartInterval: 30000
heartInterval: 30000,
};
const props = defineProps<{
config: WebsocketServerConfig;
config: { data: WebsocketServerConfig };
}>();
const config = ref(Object.assign({}, defaultConfig, props.config));
props.config.data = { ...defaultConfig, ...props.config.data };
const messageFormatOptions = ref([
{ label: 'Array', value: 'array' },
@@ -61,10 +61,10 @@ const messageFormatOptions = ref([
]);
watch(
() => config.value.messagePostFormat,
() => props.config.data.messagePostFormat,
(newValue) => {
if (newValue !== 'array' && newValue !== 'string') {
config.value.messagePostFormat = 'array';
props.config.data.messagePostFormat = 'array';
}
}
);

View File

@@ -2406,6 +2406,193 @@
"AQLid": "211",
"QHide": "1",
"EMCode": "309"
},
{
"QSid": "424",
"QDes": "/续标识",
"IQLid": "424",
"AQLid": "424",
"EMCode": "10424",
"QHide": "0",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "52"
},
{
"QSid": "415",
"QDes": "/划龙舟",
"IQLid": "415",
"AQLid": "415",
"EMCode": "10415",
"QHide": "0",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "43"
},
{
"QSid": "416",
"QDes": "/中龙舟",
"IQLid": "416",
"AQLid": "416",
"EMCode": "10416",
"QHide": "1",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "44"
},
{
"QSid": "417",
"QDes": "/大龙舟",
"IQLid": "417",
"AQLid": "417",
"EMCode": "10417",
"QHide": "1",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "45"
},
{
"QSid": "425",
"QDes": "/求放过",
"IQLid": "425",
"AQLid": "425",
"EMCode": "10425",
"QHide": "0",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "53"
},
{
"QSid": "427",
"QDes": "/偷感",
"IQLid": "427",
"AQLid": "427",
"EMCode": "10427",
"QHide": "0",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "55"
},
{
"QSid": "426",
"QDes": "/玩火",
"IQLid": "426",
"AQLid": "426",
"EMCode": "10426",
"QHide": "0",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "54"
},
{
"QSid": "419",
"QDes": "/火车",
"IQLid": "419",
"AQLid": "419",
"EMCode": "10419",
"QHide": "0",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "47"
},
{
"QSid": "420",
"QDes": "/中火车",
"IQLid": "420",
"AQLid": "420",
"EMCode": "10420",
"QHide": "1",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "48"
},
{
"QSid": "421",
"QDes": "/大火车",
"IQLid": "421",
"AQLid": "421",
"EMCode": "10421",
"QHide": "1",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "49"
},
{
"QSid": "429",
"QDes": "/蛇年快乐",
"IQLid": "429",
"AQLid": "429",
"EMCode": "10429",
"QHide": "0",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "56"
},
{
"QSid": "430",
"QDes": "/蛇身",
"IQLid": "430",
"AQLid": "430",
"EMCode": "10430",
"QHide": "1",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "57"
},
{
"QSid": "431",
"QDes": "/蛇尾",
"IQLid": "431",
"AQLid": "431",
"EMCode": "10431",
"QHide": "1",
"AniStickerType": 3,
"AniStickerPackId": "1",
"AniStickerId": "56"
},
{
"QSid": "428",
"QDes": "/收到",
"IQLid": "428",
"AQLid": "428",
"EMCode": "10428",
"QHide": "0",
"AniStickerType": 0,
"AniStickerPackId": "0",
"AniStickerId": "0"
},
{
"QSid": "422",
"QDes": "/粽于等到你",
"IQLid": "422",
"AQLid": "422",
"EMCode": "10422",
"QHide": "1",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "50"
},
{
"QSid": "423",
"QDes": "/复兴号",
"IQLid": "423",
"AQLid": "423",
"EMCode": "10423",
"QHide": "1",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "51"
},
{
"QSid": "432",
"QDes": "/灵蛇献瑞",
"IQLid": "432",
"AQLid": "432",
"EMCode": "10432",
"QHide": "1",
"AniStickerType": 1,
"AniStickerPackId": "1",
"AniStickerId": "59"
}
],
"emoji": [