From 7d6d9eea8cd5487ba89b6291df822cfa27afcfa2 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Mon, 26 Jan 2026 17:15:11 +0800 Subject: [PATCH] feat: Resource page trigger invocation logic --- ui/src/api/trigger/trigger.ts | 56 +++++++++++++++++++ .../views/application/ApplicationSetting.vue | 17 +++++- ui/src/views/tool/ToolFormDrawer.vue | 19 ++++++- .../views/trigger/component/TriggerDrawer.vue | 19 +++++-- 4 files changed, 102 insertions(+), 9 deletions(-) diff --git a/ui/src/api/trigger/trigger.ts b/ui/src/api/trigger/trigger.ts index c6043f05fc9..ff391c801e0 100644 --- a/ui/src/api/trigger/trigger.ts +++ b/ui/src/api/trigger/trigger.ts @@ -13,6 +13,14 @@ Object.defineProperty(prefix, 'value', { }, }) +const prefixWorkspace: any = { _value: '/workspace/' } +Object.defineProperty(prefixWorkspace, 'value', { + get: function () { + const { user } = useStore() + return this._value + user.getWorkspaceId() + }, +}) + /** * 触发器列表 * @param data @@ -154,6 +162,52 @@ const getTriggerTaskRecordDetails = ( loading, ) } + +/** + * 资源端创建触发器 + * @param source_type 资源类型 + * @param source_id 资源id + * @param data 数据 + * @param loading 加载器 + * @returns + */ +const postResourceTrigger: ( + source_type: string, + resource_id: string, + data: TriggerData, + loading?: Ref, +) => Promise> = (source_type, source_id, data, loading) => { + return post( + `${prefixWorkspace.value}/${source_type}/${source_id}/trigger`, + data, + undefined, + loading, + ) +} +/** + * 资源端修改触发器 + * @param source_type 资源类型 + * @param source_id 资源id + * @param trigger_id 触发器id + * @param data 触发器数据 + * @param loading 加载器 + * @returns + */ +const putResourceTrigger: ( + source_type: string, + resource_id: string, + trigger_id: string, + data: TriggerData, + loading?: Ref, +) => Promise> = (source_type, source_id, trigger_id, data, loading) => { + return post( + `${prefixWorkspace.value}/${source_type}/${source_id}/trigger/${trigger_id}`, + data, + undefined, + loading, + ) +} + export default { pageTrigger, getTriggerList, @@ -165,4 +219,6 @@ export default { activateMulTrigger, pageTriggerTaskRecord, getTriggerTaskRecordDetails, + postResourceTrigger, + putResourceTrigger, } diff --git a/ui/src/views/application/ApplicationSetting.vue b/ui/src/views/application/ApplicationSetting.vue index 1da53825985..8dafcf5bc18 100644 --- a/ui/src/views/application/ApplicationSetting.vue +++ b/ui/src/views/application/ApplicationSetting.vue @@ -803,7 +803,12 @@ - +