feat(schedule): support random cover source for scheduled and manual publish
Add a cover mode to schedule tasks so auto-publish can pick a random cover image instead of a fixed one, scoped to all images or a specific folder. - migration: add cover_mode / cover_random_scope / cover_random_folder_id columns and check constraints on schedule_tasks - backend: validate cover mode/scope/folder on create & update; the dispatch worker resolves a random active image (signed asset URL) at enqueue time - frontend: new CoverSourceSelector component wired into GenerateTaskDrawer and PublishArticleModal, plus coverSource i18n strings Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2132,6 +2132,8 @@ export type ScheduleTargetType = 'prompt_rule' | 'kol_subscription_prompt'
|
||||
export type ScheduleKind = 'daily' | 'weekly'
|
||||
export type ScheduleTimeMode = 'fixed' | 'random_window'
|
||||
export type ScheduleDispatchStatus = 'success' | 'failed' | string
|
||||
export type ScheduleCoverMode = 'specific' | 'random'
|
||||
export type ScheduleCoverRandomScope = 'all' | 'folder'
|
||||
|
||||
export interface ScheduleTask {
|
||||
id: number
|
||||
@@ -2159,6 +2161,9 @@ export interface ScheduleTask {
|
||||
auto_publish_platforms: string[]
|
||||
cover_asset_url: string | null
|
||||
cover_image_asset_id: number | null
|
||||
cover_mode: ScheduleCoverMode
|
||||
cover_random_scope: ScheduleCoverRandomScope
|
||||
cover_random_folder_id: number | null
|
||||
enable_web_search: boolean
|
||||
generate_count: number
|
||||
start_at: string | null
|
||||
@@ -2194,6 +2199,9 @@ export interface ScheduleTaskRequest {
|
||||
publish_enterprise_site_targets?: ScheduleEnterpriseSiteTarget[]
|
||||
cover_asset_url?: string | null
|
||||
cover_image_asset_id?: number | null
|
||||
cover_mode?: ScheduleCoverMode
|
||||
cover_random_scope?: ScheduleCoverRandomScope
|
||||
cover_random_folder_id?: number | null
|
||||
enable_web_search?: boolean
|
||||
generate_count?: number
|
||||
start_at?: string
|
||||
|
||||
Reference in New Issue
Block a user