refactor: 移除 AI 词云、AI 时间轴和博客模块
暂停开发以下功能,将设计文档移至未完成计划文件夹: - AI 词云 (Keyword Cloud): 前端、API、数据库模型、n8n 工作流 - AI 时间轴 (AI Timeline): 前端、API、数据库模型 - 博客 (Blog): 导航链接占位 变更内容: - 删除词云和时间轴的前端页面及组件 - 删除 /api/keyword-cloud/* 和 /api/events/* API 端点 - 从 prisma/schema.prisma 移除 Keyword, Quarter, VisualStyleRule, KeywordCloudErrorLog, AIEvent 模型 - 从 validations.ts 移除相关 Zod Schema - 从国际化消息中移除 keywordCloud/timeline 命名空间 - 从导航菜单移除词云、时间轴、博客链接 - 更新 CLAUDE.md 移除词云系统文档 设计文档已移至 .omc/plans/postponed-features/ 供后续恢复开发参考
This commit is contained in:
@@ -24,40 +24,6 @@ model ExternalLink {
|
||||
@@map("external_links")
|
||||
}
|
||||
|
||||
model KeywordCloudErrorLog {
|
||||
id Int @id @default(autoincrement())
|
||||
quarter String
|
||||
keyword String?
|
||||
errorType String
|
||||
errorMessage String
|
||||
rawData Json?
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@index([errorType], map: "idx_keywordCloudErrorLog_errorType")
|
||||
@@index([quarter], map: "idx_keywordCloudErrorLog_quarter")
|
||||
@@map("keyword_cloud_error_logs")
|
||||
}
|
||||
|
||||
model Keyword {
|
||||
id Int @id @default(autoincrement())
|
||||
word String
|
||||
trendScore Int
|
||||
quarterId Int
|
||||
description String
|
||||
descriptionEn String?
|
||||
detailPoints Json
|
||||
detailPointsEn Json?
|
||||
visualConfig Json
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
quarter Quarter @relation(fields: [quarterId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([quarterId], map: "idx_keyword_quarterId")
|
||||
@@index([trendScore], map: "idx_keyword_trendScore")
|
||||
@@index([word], map: "idx_keyword_word")
|
||||
@@map("keywords")
|
||||
}
|
||||
|
||||
model ProjectDiscoveryTask {
|
||||
id String @id @default(cuid())
|
||||
status TaskStatus @default(PENDING)
|
||||
@@ -117,24 +83,6 @@ model Project {
|
||||
@@map("projects")
|
||||
}
|
||||
|
||||
model Quarter {
|
||||
id Int @id @default(autoincrement())
|
||||
quarter String @unique
|
||||
title String
|
||||
titleEn String?
|
||||
subtitle String?
|
||||
subtitleEn String?
|
||||
displayOrder Int @default(0)
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
keywords Keyword[]
|
||||
|
||||
@@index([displayOrder], map: "idx_quarter_displayOrder")
|
||||
@@index([quarter], map: "idx_quarter_quarter")
|
||||
@@map("quarters")
|
||||
}
|
||||
|
||||
model Tag {
|
||||
id String @id @default(cuid())
|
||||
name String @unique
|
||||
@@ -147,25 +95,6 @@ model Tag {
|
||||
@@map("tags")
|
||||
}
|
||||
|
||||
model VisualStyleRule {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @unique
|
||||
minScore Int
|
||||
maxScore Int
|
||||
color String
|
||||
size String
|
||||
border String
|
||||
rotation String?
|
||||
priority Int @default(0)
|
||||
enabled Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([enabled], map: "idx_visualStyleRule_enabled")
|
||||
@@index([minScore, maxScore], map: "idx_visualStyleRule_scoreRange")
|
||||
@@map("visual_style_rules")
|
||||
}
|
||||
|
||||
enum LinkType {
|
||||
WEBSITE
|
||||
GITHUB
|
||||
@@ -185,24 +114,3 @@ enum TaskStatus {
|
||||
FAILED
|
||||
}
|
||||
|
||||
// ================================
|
||||
// AI Timeline System Models
|
||||
// ================================
|
||||
|
||||
model AIEvent {
|
||||
id String @id @default(cuid())
|
||||
title String
|
||||
titleEn String?
|
||||
eventDate DateTime
|
||||
description String
|
||||
descriptionEn String?
|
||||
imageUrl String
|
||||
sourceUrl String?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([eventDate(sort: Desc)])
|
||||
@@index([createdAt])
|
||||
@@map("ai_events")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user