perf: 隐藏运行策略选项

pull/369/head
xiaojunnuo 2025-04-10 09:35:50 +08:00
parent 57309ae3d5
commit 2951df0cd9
6 changed files with 17 additions and 3 deletions

View File

@ -64,6 +64,7 @@ export type PluginDefine = Registrable & {
}; };
}; };
needPlus?: boolean; needPlus?: boolean;
showRunStrategy?: boolean;
}; };
export type ITaskPlugin = { export type ITaskPlugin = {

View File

@ -48,11 +48,21 @@ export function IsTaskPlugin(define: PluginDefine): ClassDecorator {
inputMap[item[0]] = item[1]; inputMap[item[0]] = item[1];
}); });
merge(define, { input: inputMap, autowire: autowires, output: outputs }); const defaultConfig = {
showRunStrategy: false,
default: {
strategy: {
runStrategy: 1, // 0:正常执行1:成功后跳过
},
},
};
define = merge(defaultConfig, define, { input: inputMap, autowire: autowires, output: outputs });
Reflect.defineMetadata(PLUGIN_CLASS_KEY, define, target); Reflect.defineMetadata(PLUGIN_CLASS_KEY, define, target);
target.define = define; target.define = define;
pluginRegistry.register(define.name, { pluginRegistry.register(define.name, {
define, define,
target, target,

View File

@ -98,7 +98,7 @@
<fs-form-item v-if="item.show !== false" v-model="currentStep.input[key]" :item="item" :get-context-fn="getScopeFunc" /> <fs-form-item v-if="item.show !== false" v-model="currentStep.input[key]" :item="item" :get-context-fn="getScopeFunc" />
</template> </template>
<fs-form-item v-model="currentStep.strategy.runStrategy" :item="runStrategyProps" :get-context-fn="getScopeFunc" /> <fs-form-item v-if="currentPlugin.showRunStrategy" v-model="currentStep.strategy.runStrategy" :item="runStrategyProps" :get-context-fn="getScopeFunc" />
</a-form> </a-form>
</div> </div>
<template #footer> <template #footer>
@ -396,9 +396,9 @@ export default {
render: () => { render: () => {
return ( return (
<div> <div>
<div class="color-green">一般保持默认即可</div>
<div>正常运行每次都运行证书任务需要每次都运行</div> <div>正常运行每次都运行证书任务需要每次都运行</div>
<div>成功后跳过该任务成功一次之后跳过不重复执行证书变化之后才会再次运行</div> <div>成功后跳过该任务成功一次之后跳过不重复执行证书变化之后才会再次运行</div>
<div class="green">保持默认即可</div>
</div> </div>
); );
}, },

View File

@ -15,6 +15,7 @@ const defaultFilePrefix = 'db-backup';
icon: 'lucide:database-backup', icon: 'lucide:database-backup',
desc: '仅支持备份SQLite数据库', desc: '仅支持备份SQLite数据库',
group: pluginGroups.other.key, group: pluginGroups.other.key,
showRunStrategy: true,
default: { default: {
strategy: { strategy: {
runStrategy: RunStrategy.AlwaysRun, runStrategy: RunStrategy.AlwaysRun,

View File

@ -12,6 +12,7 @@ export type CustomScriptContext = {
icon: 'ri:javascript-line', icon: 'ri:javascript-line',
desc: '【仅管理员】运行自定义js脚本执行', desc: '【仅管理员】运行自定义js脚本执行',
group: pluginGroups.other.key, group: pluginGroups.other.key,
showRunStrategy:true,
default: { default: {
strategy: { strategy: {
runStrategy: RunStrategy.SkipWhenSucceed, runStrategy: RunStrategy.SkipWhenSucceed,

View File

@ -6,6 +6,7 @@ import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput
icon: 'ri:rest-time-line', icon: 'ri:rest-time-line',
desc: '等待一段时间', desc: '等待一段时间',
group: pluginGroups.other.key, group: pluginGroups.other.key,
showRunStrategy:true,
default: { default: {
strategy: { strategy: {
runStrategy: RunStrategy.SkipWhenSucceed, runStrategy: RunStrategy.SkipWhenSucceed,