feat: 完善视频任务与 KOC 资源库

This commit is contained in:
巫凤萍
2026-08-15 03:53:09 +08:00
parent ad3dbdcc86
commit f37d05dd88
66 changed files with 6633 additions and 558 deletions

View File

@@ -37,6 +37,10 @@ export const tasks = mysqlTable(
taskType: varchar("task_type", { length: 32 })
.notNull()
.default("content_publish"),
platform: varchar("platform", { length: 32 }).notNull().default("小红书"),
contentFormat: varchar("content_format", { length: 32 })
.notNull()
.default("image_text"),
sourceUrl: text("source_url").notNull(),
sourceSheetId: varchar("source_sheet_id", { length: 255 }).notNull().default(""),
sourceSheetName: varchar("source_sheet_name", { length: 255 }).notNull().default(""),
@@ -59,6 +63,7 @@ export const contents = mysqlTable("contents", {
title: text("title").notNull(),
body: text("body").notNull(),
imageAssets: text("image_assets").notNull(),
videoAssets: text("video_assets").notNull(),
status: varchar("status", { length: 32 }).notNull().default("available"),
source: varchar("source", { length: 255 }).notNull().default("飞书内容表"),
sourceRow: int("source_row"),
@@ -76,11 +81,17 @@ export const accounts = mysqlTable(
profileUrl: text("profile_url").notNull(),
ipLocation: varchar("ip_location", { length: 255 }).notNull().default("待识别"),
followers: int("followers").notNull().default(0),
gender: varchar("gender", { length: 16 }).notNull().default(""),
bio: text("bio").notNull().default(""),
tags: varchar("tags", { length: 500 }).notNull().default(""),
postCount: int("post_count").notNull().default(0),
avgViews: int("avg_views").notNull().default(0),
cooperationSource: varchar("cooperation_source", { length: 500 })
.notNull()
.default(""),
currentContact: varchar("current_contact", { length: 255 })
.notNull()
.default(""),
firstSeenAt: timestamp("first_seen_at"),
lastSeenAt: timestamp("last_seen_at"),
},
@@ -162,6 +173,7 @@ export const distributions = mysqlTable("distributions", {
latestLikes: int("latest_likes"),
latestComments: int("latest_comments"),
latestCollects: int("latest_collects"),
latestShares: int("latest_shares"),
collectionStatus: varchar("collection_status", { length: 32 })
.notNull()
.default("pending"),
@@ -184,6 +196,7 @@ export const collectionRuns = mysqlTable(
likes: int("likes"),
comments: int("comments"),
collects: int("collects"),
shares: int("shares"),
statusDescription: text("status_description"),
startedAt: datetime("started_at", { mode: "string", fsp: 3 }),
completedAt: datetime("completed_at", { mode: "string", fsp: 3 }),