diff --git a/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue b/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue index 329ed491..25d84451 100644 --- a/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue +++ b/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue @@ -448,7 +448,9 @@ async function pushToPythonQueue() { // 后端返回的 groups 为空时推送出去,Python 端没有可执行批次会一直停在执行中 const guard = checkQueuePayload(payload, { expectedType: 'appearance-patent-run', - requiredDataKeys: ['taskId', 'api_key'], + // api_key 不列为必填:密钥已服务端化,本地无明文时由服务端按 uid 兜底 + // (Java AppearancePatentTaskService.readApiKey),列必填会把这类用户全部拦下 + requiredDataKeys: ['taskId'], nonEmptyArrayKeys: ['groups'], }) if (!(await passGuard(guard))) return diff --git a/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue b/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue index 406644f0..5c4ae8ab 100644 --- a/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue +++ b/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue @@ -528,7 +528,9 @@ async function pushToPythonQueue() { // 入队前最后一道闸:缺字段或含 NaN 的 payload 到 Python 侧会变成 None,任务卡住 const guard = checkQueuePayload(payload, { expectedType: 'similar-asin-run', - requiredDataKeys: ['taskId', 'api_key', 'aliprice_usename', 'aliprice_pwd'], + // api_key 不列为必填:密钥已服务端化,本地无明文时由服务端按 uid 兜底 + // (Java SimilarAsinPayloadSupport.readApiKey),列必填会把这类用户全部拦下 + requiredDataKeys: ['taskId', 'aliprice_usename', 'aliprice_pwd'], }) if (!(await passGuard(guard))) return await activateSimilarAsinTask(taskId)