Skip to content

Commit 015d967

Browse files
committed
feat: server auto run status
1 parent 2d6eb19 commit 015d967

File tree

5 files changed

+50
-15
lines changed

5 files changed

+50
-15
lines changed

changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
## v1.4.0
22

3+
- 新增:声音合成设备显存大小支持显示
4+
- 新增:声音合成模型失败增加继续尝试操作
35
- 优化:模型连续运行速度优化,避免每次启动带来的损耗
6+
- 优化:自启动模型状态显示区分(蓝色未运行,绿色运行中)
47
- 修复:模型服务自启动类型设置状态异常修复
58

69
## v1.3.0 直播支持384模型,文生图、图生图模型支持

src/components/Server/ServerSelector.vue

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ const props = defineProps<{
1414
const recordsFilter = computed(() => {
1515
return serverStore.records.filter(s => s.functions.includes(props.functionName));
1616
});
17+
const valueAutoStart = computed(() => {
18+
const server = serverStore.records.find(s => s.key === select.value?.modelValue);
19+
return server?.autoStart;
20+
});
21+
const valueAutoStartStatus = computed(() => {
22+
const server = serverStore.records.find(s => s.key === select.value?.modelValue);
23+
return server?.runtime.autoStartStatus || EnumServerStatus.STOPPED;
24+
});
1725
const valueStatus = computed(() => {
1826
return serverStore.records.find(s => s.key === select.value.modelValue)?.status || EnumServerStatus.STOPPED;
1927
});
@@ -52,8 +60,16 @@ watch(
5260
<a-option v-for="server in recordsFilter" :key="server.key" :value="server.key">
5361
<div class="flex items-center py-2 flex-nowrap truncate no-wrap">
5462
<div
55-
v-if="server.status === EnumServerStatus.RUNNING"
56-
class="w-2 h-2 bg-green-700 rounded-full mr-1 flex-shrink-0"
63+
v-if="server.autoStart&&server.runtime.autoStartStatus === EnumServerStatus.RUNNING"
64+
class="w-2 h-2 bg-green-500 rounded-full mr-1 flex-shrink-0"
65+
></div>
66+
<div
67+
v-else-if="server.autoStart&&server.runtime.autoStartStatus !== EnumServerStatus.RUNNING"
68+
class="w-2 h-2 bg-blue-500 rounded-full mr-1 flex-shrink-0"
69+
></div>
70+
<div
71+
v-else-if="server.status === EnumServerStatus.RUNNING"
72+
class="w-2 h-2 bg-blue-500 rounded-full mr-1 flex-shrink-0 animate-pulse"
5773
></div>
5874
<div v-else class="w-2 h-2 bg-red-700 rounded-full mr-1 flex-shrink-0"></div>
5975
<div class="text-xs flex-grow">
Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,36 @@
11
<script setup lang="ts">
2+
import {computed} from "vue";
3+
24
const props = defineProps<{
35
record: {
46
result: Record<string, any>;
57
};
68
}>();
9+
const deviceName = computed(() => {
10+
if (props.record.result['DeviceName']) {
11+
return props.record.result['DeviceName'] + (props.record.result['DeviceMemorySize'] ? ' ' + props.record.result['DeviceMemorySize'] + 'G' : '');
12+
}
13+
return '';
14+
});
715
</script>
816

917
<template>
10-
<div v-if="record.result" class="inline-block">
11-
<div v-for="(v, k) in record.result" class="inline-block mr-4">
12-
<a-tooltip v-if="k as any==='UseCuda' && v" :content="$t('CUDA加速')" mini>
13-
<div class="bg-green-100 text-green-600 rounded-lg px-1 leading-6 h-6">
14-
<i class="iconfont icon-cuda"></i>
18+
<div v-if="record.result['Device']" class="text-xs">
19+
<a-tooltip v-if="record.result['Device']==='cuda'" :content="$t('CUDA加速')" mini>
20+
<div class="bg-green-100 text-green-600 rounded-lg px-1 leading-6 h-6 inline-flex items-center">
21+
<i class="iconfont icon-cuda"></i>
22+
<div v-if="deviceName">
23+
{{ deviceName }}
1524
</div>
16-
</a-tooltip>
17-
<a-tooltip v-if="k as any==='UseCuda' && !v" content="CPU" mini>
18-
<div class="bg-yellow-100 text-yellow-600 rounded-lg px-1 leading-6 h-6">
19-
<i class="iconfont icon-cpu"></i>
25+
</div>
26+
</a-tooltip>
27+
<a-tooltip v-else content="CPU" mini>
28+
<div class="bg-yellow-100 text-yellow-600 rounded-lg px-1 leading-6 h-6 inline-flex items-center">
29+
<i class="iconfont icon-cpu"></i>
30+
<div v-if="deviceName">
31+
{{ deviceName }}
2032
</div>
21-
</a-tooltip>
22-
</div>
33+
</div>
34+
</a-tooltip>
2335
</div>
2436
</template>

src/components/common/ParamForm.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,9 @@ defineExpose({
148148
</a-popover>
149149
</div>
150150
<div v-if="item.type === 'input'" class="w-48 mr-3">
151-
<a-input :placeholder="item.placeholder" size="small" :disabled="props.disabled" v-model="item.value">
151+
<a-input :placeholder="item.placeholder"
152+
allow-clear
153+
size="small" :disabled="props.disabled" v-model="item.value">
152154
</a-input>
153155
</div>
154156
<div v-else-if="item.type === 'inputNumber'" class="w-32 mr-3">
@@ -174,7 +176,7 @@ defineExpose({
174176
</a-option>
175177
</a-select>
176178
</div>
177-
<div v-else-if="item.type === 'switch'" class="w-48 mr-3">
179+
<div v-else-if="item.type === 'switch'" class="mr-3">
178180
<a-switch v-model="item.value" :disabled="props.disabled" size="small"/>
179181
</div>
180182
<div v-else-if="item.type === 'slider'" class="w-48 mr-3">

src/pages/Sound/SoundGenerate.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import SoundGenerateCreate from "./components/SoundGenerateCreate.vue";
1818
import SoundGenerateFormViewBody from "./components/SoundGenerateFormViewBody.vue";
1919
import ServerNameVersion from "../../components/Server/ServerNameVersion.vue";
2020
import ServerTaskResultParam from "../../components/Server/ServerTaskResultParam.vue";
21+
import TaskContinueAction from "../../components/Server/TaskContinueAction.vue";
2122
2223
const {page, records, recordsForPage} = usePaginate<TaskRecord>();
2324
@@ -122,6 +123,7 @@ onMounted(async () => {
122123
<TaskDownloadAction :record="r"/>
123124
<TaskDeleteAction :record="r" @update="doRefresh"/>
124125
<TaskCancelAction :record="r"/>
126+
<TaskContinueAction :record="r" @update="doRefresh"/>
125127
</div>
126128
</div>
127129
</div>

0 commit comments

Comments
 (0)